algebra.direct_sum.finsuppMathlib.Algebra.DirectSum.Finsupp

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl
 -/
 import Algebra.DirectSum.Module
-import Data.Finsupp.ToDfinsupp
+import Data.Finsupp.ToDFinsupp
 
 #align_import algebra.direct_sum.finsupp from "leanprover-community/mathlib"@"aa3a420527e0fbfd0f6615b95b761254a9166e12"
 
Diff
@@ -3,8 +3,8 @@ 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
 -/
-import Mathbin.Algebra.DirectSum.Module
-import Mathbin.Data.Finsupp.ToDfinsupp
+import Algebra.DirectSum.Module
+import Data.Finsupp.ToDfinsupp
 
 #align_import algebra.direct_sum.finsupp from "leanprover-community/mathlib"@"aa3a420527e0fbfd0f6615b95b761254a9166e12"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl
-
-! This file was ported from Lean 3 source module algebra.direct_sum.finsupp
-! leanprover-community/mathlib commit aa3a420527e0fbfd0f6615b95b761254a9166e12
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.DirectSum.Module
 import Mathbin.Data.Finsupp.ToDfinsupp
 
+#align_import algebra.direct_sum.finsupp from "leanprover-community/mathlib"@"aa3a420527e0fbfd0f6615b95b761254a9166e12"
+
 /-!
 # Results on direct sums and finitely supported functions.
 
Diff
@@ -41,7 +41,7 @@ variable (R M) (ι : Type _) [DecidableEq ι]
 copies of M indexed by ι. -/
 def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ i : ι, M :=
   haveI : ∀ m : M, Decidable (m ≠ 0) := Classical.decPred _
-  finsuppLequivDfinsupp R
+  finsuppLequivDFinsupp R
 #align finsupp_lequiv_direct_sum finsuppLEquivDirectSum
 -/
 
@@ -49,7 +49,7 @@ def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ i : ι, M :=
 @[simp]
 theorem finsuppLEquivDirectSum_single (i : ι) (m : M) :
     finsuppLEquivDirectSum R M ι (Finsupp.single i m) = DirectSum.lof R ι _ i m :=
-  Finsupp.toDfinsupp_single i m
+  Finsupp.toDFinsupp_single i m
 #align finsupp_lequiv_direct_sum_single finsuppLEquivDirectSum_single
 -/
 
@@ -58,7 +58,7 @@ theorem finsuppLEquivDirectSum_single (i : ι) (m : M) :
 theorem finsuppLEquivDirectSum_symm_lof (i : ι) (m : M) :
     (finsuppLEquivDirectSum R M ι).symm (DirectSum.lof R ι _ i m) = Finsupp.single i m :=
   letI : ∀ m : M, Decidable (m ≠ 0) := Classical.decPred _
-  Dfinsupp.toFinsupp_single i m
+  DFinsupp.toFinsupp_single i m
 #align finsupp_lequiv_direct_sum_symm_lof finsuppLEquivDirectSum_symm_lof
 -/
 
Diff
@@ -36,25 +36,31 @@ section finsuppLEquivDirectSum
 
 variable (R M) (ι : Type _) [DecidableEq ι]
 
+#print finsuppLEquivDirectSum /-
 /-- The finitely supported functions `ι →₀ M` are in linear equivalence with the direct sum of
 copies of M indexed by ι. -/
 def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ i : ι, M :=
   haveI : ∀ m : M, Decidable (m ≠ 0) := Classical.decPred _
   finsuppLequivDfinsupp R
 #align finsupp_lequiv_direct_sum finsuppLEquivDirectSum
+-/
 
+#print finsuppLEquivDirectSum_single /-
 @[simp]
 theorem finsuppLEquivDirectSum_single (i : ι) (m : M) :
     finsuppLEquivDirectSum R M ι (Finsupp.single i m) = DirectSum.lof R ι _ i m :=
   Finsupp.toDfinsupp_single i m
 #align finsupp_lequiv_direct_sum_single finsuppLEquivDirectSum_single
+-/
 
+#print finsuppLEquivDirectSum_symm_lof /-
 @[simp]
 theorem finsuppLEquivDirectSum_symm_lof (i : ι) (m : M) :
     (finsuppLEquivDirectSum R M ι).symm (DirectSum.lof R ι _ i m) = Finsupp.single i m :=
   letI : ∀ m : M, Decidable (m ≠ 0) := Classical.decPred _
   Dfinsupp.toFinsupp_single i m
 #align finsupp_lequiv_direct_sum_symm_lof finsuppLEquivDirectSum_symm_lof
+-/
 
 end finsuppLEquivDirectSum
 
Diff
@@ -26,7 +26,7 @@ universe u v w
 
 noncomputable section
 
-open DirectSum
+open scoped DirectSum
 
 open LinearMap Submodule
 
Diff
@@ -36,12 +36,6 @@ section finsuppLEquivDirectSum
 
 variable (R M) (ι : Type _) [DecidableEq ι]
 
-/- warning: finsupp_lequiv_direct_sum -> finsuppLEquivDirectSum is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} ι], LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))
-but is expected to have type
-  forall (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} ι], LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))
-Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_direct_sum finsuppLEquivDirectSumₓ'. -/
 /-- The finitely supported functions `ι →₀ M` are in linear equivalence with the direct sum of
 copies of M indexed by ι. -/
 def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ i : ι, M :=
@@ -49,18 +43,12 @@ def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ i : ι, M :=
   finsuppLequivDfinsupp R
 #align finsupp_lequiv_direct_sum finsuppLEquivDirectSum
 
-/- warning: finsupp_lequiv_direct_sum_single -> finsuppLEquivDirectSum_single is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_direct_sum_single finsuppLEquivDirectSum_singleₓ'. -/
 @[simp]
 theorem finsuppLEquivDirectSum_single (i : ι) (m : M) :
     finsuppLEquivDirectSum R M ι (Finsupp.single i m) = DirectSum.lof R ι _ i m :=
   Finsupp.toDfinsupp_single i m
 #align finsupp_lequiv_direct_sum_single finsuppLEquivDirectSum_single
 
-/- warning: finsupp_lequiv_direct_sum_symm_lof -> finsuppLEquivDirectSum_symm_lof is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_direct_sum_symm_lof finsuppLEquivDirectSum_symm_lofₓ'. -/
 @[simp]
 theorem finsuppLEquivDirectSum_symm_lof (i : ι) (m : M) :
     (finsuppLEquivDirectSum R M ι).symm (DirectSum.lof R ι _ i m) = Finsupp.single i m :=
Diff
@@ -50,10 +50,7 @@ def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ i : ι, M :=
 #align finsupp_lequiv_direct_sum finsuppLEquivDirectSum
 
 /- warning: finsupp_lequiv_direct_sum_single -> finsuppLEquivDirectSum_single is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} ι] (i : ι) (m : M), Eq.{succ (max u3 u2)} (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (coeFn.{succ (max u3 u2), succ (max u3 u2)} (LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) => (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) -> (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1)) (finsuppLEquivDirectSum.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.single.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) i m)) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) => M -> (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u2} R R M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (DirectSum.lof.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3) i) m)
-but is expected to have type
-  forall (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (ι : Type.{u1}) [_inst_4 : DecidableEq.{succ u1} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (fun (_x : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (SMulZeroClass.toSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toZero.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u1, max u3 u1, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u1, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (finsuppLEquivDirectSum.{u2, u3, u1} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)
+<too large>
 Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_direct_sum_single finsuppLEquivDirectSum_singleₓ'. -/
 @[simp]
 theorem finsuppLEquivDirectSum_single (i : ι) (m : M) :
@@ -62,10 +59,7 @@ theorem finsuppLEquivDirectSum_single (i : ι) (m : M) :
 #align finsupp_lequiv_direct_sum_single finsuppLEquivDirectSum_single
 
 /- warning: finsupp_lequiv_direct_sum_symm_lof -> finsuppLEquivDirectSum_symm_lof is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (coeFn.{succ (max u3 u2), succ (max u3 u2)} (LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) => (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) -> (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max u3 u2} R R (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b))) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) => M -> (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u2} R R M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (DirectSum.lof.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3) i) m)) (Finsupp.single.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) i m)
-but is expected to have type
-  forall (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (ι : Type.{u1}) [_inst_4 : DecidableEq.{succ u1} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (fun (_x : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toZero.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u1, max u3 u1, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u1, max u3 u1, max u3 u1} R R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.symm.{u2, u2, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (finsuppLEquivDirectSum.{u2, u3, u1} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)
+<too large>
 Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_direct_sum_symm_lof finsuppLEquivDirectSum_symm_lofₓ'. -/
 @[simp]
 theorem finsuppLEquivDirectSum_symm_lof (i : ι) (m : M) :
Diff
@@ -53,7 +53,7 @@ def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ i : ι, M :=
 lean 3 declaration is
   forall (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} ι] (i : ι) (m : M), Eq.{succ (max u3 u2)} (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (coeFn.{succ (max u3 u2), succ (max u3 u2)} (LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) => (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) -> (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1)) (finsuppLEquivDirectSum.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.single.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) i m)) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) => M -> (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u2} R R M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (DirectSum.lof.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3) i) m)
 but is expected to have type
-  forall (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (ι : Type.{u1}) [_inst_4 : DecidableEq.{succ u1} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (fun (_x : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (SMulZeroClass.toSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toZero.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u1, max u3 u1, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u1, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (finsuppLEquivDirectSum.{u2, u3, u1} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)
+  forall (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (ι : Type.{u1}) [_inst_4 : DecidableEq.{succ u1} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (fun (_x : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (SMulZeroClass.toSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toZero.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u1, max u3 u1, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u1, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (finsuppLEquivDirectSum.{u2, u3, u1} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)
 Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_direct_sum_single finsuppLEquivDirectSum_singleₓ'. -/
 @[simp]
 theorem finsuppLEquivDirectSum_single (i : ι) (m : M) :
@@ -65,7 +65,7 @@ theorem finsuppLEquivDirectSum_single (i : ι) (m : M) :
 lean 3 declaration is
   forall (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (coeFn.{succ (max u3 u2), succ (max u3 u2)} (LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) => (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) -> (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max u3 u2} R R (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b))) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) => M -> (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u2} R R M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (DirectSum.lof.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3) i) m)) (Finsupp.single.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) i m)
 but is expected to have type
-  forall (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (ι : Type.{u1}) [_inst_4 : DecidableEq.{succ u1} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (fun (_x : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toZero.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u1, max u3 u1, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u1, max u3 u1, max u3 u1} R R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.symm.{u2, u2, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (finsuppLEquivDirectSum.{u2, u3, u1} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)
+  forall (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (ι : Type.{u1}) [_inst_4 : DecidableEq.{succ u1} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (fun (_x : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toZero.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u1, max u3 u1, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u1, max u3 u1, max u3 u1} R R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.symm.{u2, u2, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (finsuppLEquivDirectSum.{u2, u3, u1} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)
 Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_direct_sum_symm_lof finsuppLEquivDirectSum_symm_lofₓ'. -/
 @[simp]
 theorem finsuppLEquivDirectSum_symm_lof (i : ι) (m : M) :
Diff
@@ -53,7 +53,7 @@ def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ i : ι, M :=
 lean 3 declaration is
   forall (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} ι] (i : ι) (m : M), Eq.{succ (max u3 u2)} (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (coeFn.{succ (max u3 u2), succ (max u3 u2)} (LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) => (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) -> (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1)) (finsuppLEquivDirectSum.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.single.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) i m)) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) => M -> (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u2} R R M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (DirectSum.lof.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3) i) m)
 but is expected to have type
-  forall (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (ι : Type.{u1}) [_inst_4 : DecidableEq.{succ u1} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (fun (_x : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (SMulZeroClass.toSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toZero.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u1, max u3 u1, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u1, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (finsuppLEquivDirectSum.{u2, u3, u1} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)
+  forall (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (ι : Type.{u1}) [_inst_4 : DecidableEq.{succ u1} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (fun (_x : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (SMulZeroClass.toSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toZero.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u1, max u3 u1, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u1, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (finsuppLEquivDirectSum.{u2, u3, u1} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)
 Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_direct_sum_single finsuppLEquivDirectSum_singleₓ'. -/
 @[simp]
 theorem finsuppLEquivDirectSum_single (i : ι) (m : M) :
@@ -65,7 +65,7 @@ theorem finsuppLEquivDirectSum_single (i : ι) (m : M) :
 lean 3 declaration is
   forall (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (coeFn.{succ (max u3 u2), succ (max u3 u2)} (LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) => (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) -> (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max u3 u2} R R (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b))) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) => M -> (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u2} R R M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (DirectSum.lof.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3) i) m)) (Finsupp.single.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) i m)
 but is expected to have type
-  forall (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (ι : Type.{u1}) [_inst_4 : DecidableEq.{succ u1} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (fun (_x : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toZero.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u1, max u3 u1, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u1, max u3 u1, max u3 u1} R R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.symm.{u2, u2, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (finsuppLEquivDirectSum.{u2, u3, u1} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)
+  forall (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (ι : Type.{u1}) [_inst_4 : DecidableEq.{succ u1} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (fun (_x : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toZero.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u1, max u3 u1, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u1, max u3 u1, max u3 u1} R R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.symm.{u2, u2, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (finsuppLEquivDirectSum.{u2, u3, u1} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)
 Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_direct_sum_symm_lof finsuppLEquivDirectSum_symm_lofₓ'. -/
 @[simp]
 theorem finsuppLEquivDirectSum_symm_lof (i : ι) (m : M) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl
 
 ! This file was ported from Lean 3 source module algebra.direct_sum.finsupp
-! leanprover-community/mathlib commit aca0874a9ce95510752f4075f80f273172e9b177
+! leanprover-community/mathlib commit aa3a420527e0fbfd0f6615b95b761254a9166e12
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.Data.Finsupp.ToDfinsupp
 /-!
 # Results on direct sums and finitely supported functions.
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 1. The linear equivalence between finitely supported functions `ι →₀ M` and
 the direct sum of copies of `M` indexed by `ι`.
 -/
Diff
@@ -29,29 +29,47 @@ open LinearMap Submodule
 
 variable {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M]
 
-section finsuppLequivDirectSum
+section finsuppLEquivDirectSum
 
 variable (R M) (ι : Type _) [DecidableEq ι]
 
+/- warning: finsupp_lequiv_direct_sum -> finsuppLEquivDirectSum is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} ι], LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))
+but is expected to have type
+  forall (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} ι], LinearEquiv.{u1, u1, max u2 u3, max u2 u3} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Finsupp.{u3, u2} ι M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))
+Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_direct_sum finsuppLEquivDirectSumₓ'. -/
 /-- The finitely supported functions `ι →₀ M` are in linear equivalence with the direct sum of
 copies of M indexed by ι. -/
-def finsuppLequivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ i : ι, M :=
+def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ i : ι, M :=
   haveI : ∀ m : M, Decidable (m ≠ 0) := Classical.decPred _
   finsuppLequivDfinsupp R
-#align finsupp_lequiv_direct_sum finsuppLequivDirectSum
-
+#align finsupp_lequiv_direct_sum finsuppLEquivDirectSum
+
+/- warning: finsupp_lequiv_direct_sum_single -> finsuppLEquivDirectSum_single is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} ι] (i : ι) (m : M), Eq.{succ (max u3 u2)} (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (coeFn.{succ (max u3 u2), succ (max u3 u2)} (LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) => (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) -> (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1)) (finsuppLEquivDirectSum.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.single.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) i m)) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) => M -> (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u2} R R M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (DirectSum.lof.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3) i) m)
+but is expected to have type
+  forall (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (ι : Type.{u1}) [_inst_4 : DecidableEq.{succ u1} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (fun (_x : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) => DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (SMulZeroClass.toSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toZero.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u1, max u3 u1, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u1, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (finsuppLEquivDirectSum.{u2, u3, u1} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)
+Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_direct_sum_single finsuppLEquivDirectSum_singleₓ'. -/
 @[simp]
-theorem finsuppLequivDirectSum_single (i : ι) (m : M) :
-    finsuppLequivDirectSum R M ι (Finsupp.single i m) = DirectSum.lof R ι _ i m :=
+theorem finsuppLEquivDirectSum_single (i : ι) (m : M) :
+    finsuppLEquivDirectSum R M ι (Finsupp.single i m) = DirectSum.lof R ι _ i m :=
   Finsupp.toDfinsupp_single i m
-#align finsupp_lequiv_direct_sum_single finsuppLequivDirectSum_single
-
+#align finsupp_lequiv_direct_sum_single finsuppLEquivDirectSum_single
+
+/- warning: finsupp_lequiv_direct_sum_symm_lof -> finsuppLEquivDirectSum_symm_lof is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) (M : Type.{u2}) [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (coeFn.{succ (max u3 u2), succ (max u3 u2)} (LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (fun (_x : LinearEquiv.{u1, u1, max u3 u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) => (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) -> (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u2, max u3 u2} R R (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1)) (LinearEquiv.symm.{u1, u1, max u3 u2, max u3 u2} R R (Finsupp.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))) (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (Finsupp.addCommMonoid.{u3, u2} ι M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Finsupp.module.{u3, u2, u1} ι M R (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (finsuppLEquivDirectSum._proof_1.{u1} R _inst_1) (finsuppLEquivDirectSum._proof_2.{u1} R _inst_1) (finsuppLEquivDirectSum.{u1, u2, u3} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b))) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u2} R R (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3))) => M -> (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u2} R R M (DirectSum.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (DirectSum.addCommMonoid.{u3, u2} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) _inst_3 (DirectSum.module.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (DirectSum.lof.{u1, u3, u2} R (Ring.toSemiring.{u1} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (fun (i : ι) => _inst_3) i) m)) (Finsupp.single.{u3, u2} ι M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) i m)
+but is expected to have type
+  forall (R : Type.{u2}) (M : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (ι : Type.{u1}) [_inst_4 : DecidableEq.{succ u1} ι] (i : ι) (m : M), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (fun (_x : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) => Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)))))) (SMulZeroClass.toSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toZero.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddMonoid.toAddZeroClass.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, max u3 u1} (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toDistribMulAction.{u2, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) (Module.toDistribMulAction.{u2, max u3 u1} R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u2, max u3 u1, max u3 u1, max u3 u1} R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u3 u1, max u3 u1, max u3 u1} R R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (LinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u3 u1, max u3 u1} R R (DirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (_i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (LinearEquiv.symm.{u2, u2, max u3 u1, max u3 u1} R R (Finsupp.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2)))))) (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (Finsupp.addCommMonoid.{u1, u3} ι M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Finsupp.module.{u1, u3, u2} ι M R (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (finsuppLEquivDirectSum.{u2, u3, u1} R M _inst_1 _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_4 a b))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u2, u2, u3, max u3 u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, max u1 u3} R R M (DirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2)) _inst_3 (DirectSum.instModuleDirectSumInstAddCommMonoidDirectSum.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (DirectSum.lof.{u2, u1, u3} R (Ring.toSemiring.{u2} R _inst_1) ι (fun (a : ι) (b : ι) => _inst_4 a b) (fun (i : ι) => M) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} ((fun (_i : ι) => M) i) _inst_2) (fun (i : ι) => _inst_3) i) m)) (Finsupp.single.{u1, u3} ι M (NegZeroClass.toZero.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_2))))) i m)
+Case conversion may be inaccurate. Consider using '#align finsupp_lequiv_direct_sum_symm_lof finsuppLEquivDirectSum_symm_lofₓ'. -/
 @[simp]
-theorem finsuppLequivDirectSum_symm_lof (i : ι) (m : M) :
-    (finsuppLequivDirectSum R M ι).symm (DirectSum.lof R ι _ i m) = Finsupp.single i m :=
+theorem finsuppLEquivDirectSum_symm_lof (i : ι) (m : M) :
+    (finsuppLEquivDirectSum R M ι).symm (DirectSum.lof R ι _ i m) = Finsupp.single i m :=
   letI : ∀ m : M, Decidable (m ≠ 0) := Classical.decPred _
   Dfinsupp.toFinsupp_single i m
-#align finsupp_lequiv_direct_sum_symm_lof finsuppLequivDirectSum_symm_lof
+#align finsupp_lequiv_direct_sum_symm_lof finsuppLEquivDirectSum_symm_lof
 
-end finsuppLequivDirectSum
+end finsuppLEquivDirectSum
 

Changes in mathlib4

mathlib3
mathlib4
feat: generalize direct sum results to avoid negation (#10828)

Three files are modified, where the hypotheses are relaxed from Ring or CommRing to Semiring or CommSemiring, and AddCommGroup to AddCommMonoid. Besides this, no definition is changed, and for one proof in RingTheory.Flat.Basic, I needed to add an instance (letI…) in the proof. (Everything pertains to direct sums of modules.)

Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -24,7 +24,7 @@ open DirectSum
 
 open LinearMap Submodule
 
-variable {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M]
+variable {R : Type u} {M : Type v} [Semiring R] [AddCommMonoid M] [Module R M]
 
 section finsuppLequivDirectSum
 
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
@@ -28,7 +28,7 @@ variable {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M]
 
 section finsuppLequivDirectSum
 
-variable (R M) (ι : Type _) [DecidableEq ι]
+variable (R M) (ι : Type*) [DecidableEq ι]
 
 /-- The finitely supported functions `ι →₀ M` are in linear equivalence with the direct sum of
 copies of M indexed by ι. -/
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl
-
-! This file was ported from Lean 3 source module algebra.direct_sum.finsupp
-! leanprover-community/mathlib commit aca0874a9ce95510752f4075f80f273172e9b177
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.DirectSum.Module
 import Mathlib.Data.Finsupp.ToDFinsupp
 
+#align_import algebra.direct_sum.finsupp from "leanprover-community/mathlib"@"aca0874a9ce95510752f4075f80f273172e9b177"
+
 /-!
 # Results on direct sums and finitely supported functions.
 
chore: rename Dfinsupp to DFinsupp (#5822)

See #4354

Diff
@@ -9,7 +9,7 @@ Authors: Johannes Hölzl
 ! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.DirectSum.Module
-import Mathlib.Data.Finsupp.ToDfinsupp
+import Mathlib.Data.Finsupp.ToDFinsupp
 
 /-!
 # Results on direct sums and finitely supported functions.
@@ -37,20 +37,20 @@ variable (R M) (ι : Type _) [DecidableEq ι]
 copies of M indexed by ι. -/
 def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ _ : ι, M :=
   haveI : ∀ m : M, Decidable (m ≠ 0) := Classical.decPred _
-  finsuppLequivDfinsupp R
+  finsuppLequivDFinsupp R
 #align finsupp_lequiv_direct_sum finsuppLEquivDirectSum
 
 @[simp]
 theorem finsuppLEquivDirectSum_single (i : ι) (m : M) :
     finsuppLEquivDirectSum R M ι (Finsupp.single i m) = DirectSum.lof R ι _ i m :=
-  Finsupp.toDfinsupp_single i m
+  Finsupp.toDFinsupp_single i m
 #align finsupp_lequiv_direct_sum_single finsuppLEquivDirectSum_single
 
 @[simp]
 theorem finsuppLEquivDirectSum_symm_lof (i : ι) (m : M) :
     (finsuppLEquivDirectSum R M ι).symm (DirectSum.lof R ι _ i m) = Finsupp.single i m :=
   letI : ∀ m : M, Decidable (m ≠ 0) := Classical.decPred _
-  Dfinsupp.toFinsupp_single i m
+  DFinsupp.toFinsupp_single i m
 #align finsupp_lequiv_direct_sum_symm_lof finsuppLEquivDirectSum_symm_lof
 
 end finsuppLequivDirectSum
style: allow _ for an argument in notation3 & replace _foo with _ in notation3 (#4652)
Diff
@@ -35,7 +35,7 @@ variable (R M) (ι : Type _) [DecidableEq ι]
 
 /-- The finitely supported functions `ι →₀ M` are in linear equivalence with the direct sum of
 copies of M indexed by ι. -/
-def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ _i : ι, M :=
+def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ _ : ι, M :=
   haveI : ∀ m : M, Decidable (m ≠ 0) := Classical.decPred _
   finsuppLequivDfinsupp R
 #align finsupp_lequiv_direct_sum finsuppLEquivDirectSum
chore: cleanup various notes about etaExperiment (#4029)

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

Diff
@@ -33,13 +33,9 @@ section finsuppLequivDirectSum
 
 variable (R M) (ι : Type _) [DecidableEq ι]
 
--- Porting note: with etaExperiment no changes required, the statement can be:
--- `(ι →₀ M) ≃ₗ[R] ⨁ i : ι, M`
 /-- The finitely supported functions `ι →₀ M` are in linear equivalence with the direct sum of
 copies of M indexed by ι. -/
-def finsuppLEquivDirectSum : 
-    @LinearEquiv R R _ _ (RingHom.id _) (RingHom.id _) (RingHomInvPair.ids) 
-    (RingHomInvPair.ids) (ι →₀ M) (⨁ _i : ι, M) _ _ _ _ :=
+def finsuppLEquivDirectSum : (ι →₀ M) ≃ₗ[R] ⨁ _i : ι, M :=
   haveI : ∀ m : M, Decidable (m ≠ 0) := Classical.decPred _
   finsuppLequivDfinsupp R
 #align finsupp_lequiv_direct_sum finsuppLEquivDirectSum
@@ -58,4 +54,3 @@ theorem finsuppLEquivDirectSum_symm_lof (i : ι) (m : M) :
 #align finsupp_lequiv_direct_sum_symm_lof finsuppLEquivDirectSum_symm_lof
 
 end finsuppLequivDirectSum
-
feat: port Algebra.DirectSum.Finsupp (#2995)

Co-authored-by: Johan Commelin <johan@commelin.net>

Dependencies 8 + 424

425 files ported (98.2%)
176073 lines ported (98.3%)
Show graph

The unported dependencies are