algebra.direct_sum.internalMathlib.Algebra.DirectSum.Internal

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -69,8 +69,8 @@ theorem SetLike.algebraMap_mem_graded [Zero ι] [CommSemiring S] [Semiring R] [A
 #align set_like.algebra_map_mem_graded SetLike.algebraMap_mem_graded
 -/
 
-#print SetLike.nat_cast_mem_graded /-
-theorem SetLike.nat_cast_mem_graded [Zero ι] [AddMonoidWithOne R] [SetLike σ R]
+#print SetLike.natCast_mem_graded /-
+theorem SetLike.natCast_mem_graded [Zero ι] [AddMonoidWithOne R] [SetLike σ R]
     [AddSubmonoidClass σ R] (A : ι → σ) [SetLike.GradedOne A] (n : ℕ) : (n : R) ∈ A 0 :=
   by
   induction n
@@ -78,19 +78,19 @@ theorem SetLike.nat_cast_mem_graded [Zero ι] [AddMonoidWithOne R] [SetLike σ R
     exact zero_mem (A 0)
   · rw [Nat.cast_succ]
     exact add_mem n_ih (SetLike.one_mem_graded _)
-#align set_like.nat_cast_mem_graded SetLike.nat_cast_mem_graded
+#align set_like.nat_cast_mem_graded SetLike.natCast_mem_graded
 -/
 
-#print SetLike.int_cast_mem_graded /-
-theorem SetLike.int_cast_mem_graded [Zero ι] [AddGroupWithOne R] [SetLike σ R]
-    [AddSubgroupClass σ R] (A : ι → σ) [SetLike.GradedOne A] (z : ℤ) : (z : R) ∈ A 0 :=
+#print SetLike.intCast_mem_graded /-
+theorem SetLike.intCast_mem_graded [Zero ι] [AddGroupWithOne R] [SetLike σ R] [AddSubgroupClass σ R]
+    (A : ι → σ) [SetLike.GradedOne A] (z : ℤ) : (z : R) ∈ A 0 :=
   by
   induction z
   · rw [Int.cast_natCast]
-    exact SetLike.nat_cast_mem_graded _ _
+    exact SetLike.natCast_mem_graded _ _
   · rw [Int.cast_negSucc]
-    exact neg_mem (SetLike.nat_cast_mem_graded _ _)
-#align set_like.int_cast_mem_graded SetLike.int_cast_mem_graded
+    exact neg_mem (SetLike.natCast_mem_graded _ _)
+#align set_like.int_cast_mem_graded SetLike.intCast_mem_graded
 -/
 
 section DirectSum
@@ -128,7 +128,7 @@ instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass
     zero_mul := fun i j _ => Subtype.ext (MulZeroClass.zero_mul _)
     mul_add := fun i j _ _ _ => Subtype.ext (mul_add _ _ _)
     add_mul := fun i j _ _ _ => Subtype.ext (add_mul _ _ _)
-    natCast := fun n => ⟨n, SetLike.nat_cast_mem_graded _ _⟩
+    natCast := fun n => ⟨n, SetLike.natCast_mem_graded _ _⟩
     natCast_zero := Subtype.ext Nat.cast_zero
     natCast_succ := fun n => Subtype.ext (Nat.cast_succ n) }
 #align set_like.gsemiring SetLike.gsemiring
@@ -149,7 +149,7 @@ instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A
   {
     SetLike.gsemiring
       A with
-    intCast := fun z => ⟨z, SetLike.int_cast_mem_graded _ _⟩
+    intCast := fun z => ⟨z, SetLike.intCast_mem_graded _ _⟩
     intCast_ofNat := fun n => Subtype.ext <| Int.cast_natCast _
     intCast_negSucc := fun n => Subtype.ext <| Int.cast_negSucc n }
 #align set_like.gring SetLike.gring
Diff
@@ -86,7 +86,7 @@ theorem SetLike.int_cast_mem_graded [Zero ι] [AddGroupWithOne R] [SetLike σ R]
     [AddSubgroupClass σ R] (A : ι → σ) [SetLike.GradedOne A] (z : ℤ) : (z : R) ∈ A 0 :=
   by
   induction z
-  · rw [Int.cast_ofNat]
+  · rw [Int.cast_natCast]
     exact SetLike.nat_cast_mem_graded _ _
   · rw [Int.cast_negSucc]
     exact neg_mem (SetLike.nat_cast_mem_graded _ _)
@@ -150,7 +150,7 @@ instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A
     SetLike.gsemiring
       A with
     intCast := fun z => ⟨z, SetLike.int_cast_mem_graded _ _⟩
-    intCast_ofNat := fun n => Subtype.ext <| Int.cast_ofNat _
+    intCast_ofNat := fun n => Subtype.ext <| Int.cast_natCast _
     intCast_negSucc := fun n => Subtype.ext <| Int.cast_negSucc n }
 #align set_like.gring SetLike.gring
 -/
Diff
@@ -216,7 +216,16 @@ theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
 #print DirectSum.coe_of_mul_apply_aux /-
 theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
     (r' : ⨁ i, A i) {j n : ι} (H : ∀ x : ι, i + x = n ↔ x = j) :
-    ((of _ i r * r') n : R) = r * r' j := by classical
+    ((of _ i r * r') n : R) = r * r' j := by
+  classical
+  rw [coe_mul_apply_eq_dfinsupp_sum]
+  apply (DFinsupp.sum_single_index _).trans
+  swap
+  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact DFinsupp.sum_zero
+  simp_rw [DFinsupp.sum, H, Finset.sum_ite_eq']
+  split_ifs
+  rfl
+  rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.mul_zero]
 #align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_aux
 -/
 
@@ -224,6 +233,14 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
 theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i) {i : ι}
     (r' : A i) {j n : ι} (H : ∀ x : ι, x + i = n ↔ x = j) : ((r * of _ i r') n : R) = r j * r' := by
   classical
+  rw [coe_mul_apply_eq_dfinsupp_sum, DFinsupp.sum_comm]
+  apply (DFinsupp.sum_single_index _).trans
+  swap
+  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact DFinsupp.sum_zero
+  simp_rw [DFinsupp.sum, H, Finset.sum_ite_eq']
+  split_ifs
+  rfl
+  rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.zero_mul]
 #align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_aux
 -/
 
@@ -251,13 +268,27 @@ variable [CanonicallyOrderedAddCommMonoid ι] [SetLike.GradedMonoid A]
 
 #print DirectSum.coe_of_mul_apply_of_not_le /-
 theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : ¬i ≤ n) :
-    ((of _ i r * r') n : R) = 0 := by classical
+    ((of _ i r * r') n : R) = 0 := by
+  classical
+  rw [coe_mul_apply_eq_dfinsupp_sum]
+  apply (DFinsupp.sum_single_index _).trans
+  swap
+  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact DFinsupp.sum_zero
+  · rw [DFinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
+    exact h ((self_le_add_right i x).trans_eq H)
 #align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_le
 -/
 
 #print DirectSum.coe_mul_of_apply_of_not_le /-
 theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : ¬i ≤ n) :
-    ((r * of _ i r') n : R) = 0 := by classical
+    ((r * of _ i r') n : R) = 0 := by
+  classical
+  rw [coe_mul_apply_eq_dfinsupp_sum, DFinsupp.sum_comm]
+  apply (DFinsupp.sum_single_index _).trans
+  swap
+  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact DFinsupp.sum_zero
+  · rw [DFinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
+    exact h ((self_le_add_left i x).trans_eq H)
 #align direct_sum.coe_mul_of_apply_of_not_le DirectSum.coe_mul_of_apply_of_not_le
 -/
 
Diff
@@ -216,16 +216,7 @@ theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
 #print DirectSum.coe_of_mul_apply_aux /-
 theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
     (r' : ⨁ i, A i) {j n : ι} (H : ∀ x : ι, i + x = n ↔ x = j) :
-    ((of _ i r * r') n : R) = r * r' j := by
-  classical
-  rw [coe_mul_apply_eq_dfinsupp_sum]
-  apply (DFinsupp.sum_single_index _).trans
-  swap
-  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact DFinsupp.sum_zero
-  simp_rw [DFinsupp.sum, H, Finset.sum_ite_eq']
-  split_ifs
-  rfl
-  rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.mul_zero]
+    ((of _ i r * r') n : R) = r * r' j := by classical
 #align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_aux
 -/
 
@@ -233,14 +224,6 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
 theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i) {i : ι}
     (r' : A i) {j n : ι} (H : ∀ x : ι, x + i = n ↔ x = j) : ((r * of _ i r') n : R) = r j * r' := by
   classical
-  rw [coe_mul_apply_eq_dfinsupp_sum, DFinsupp.sum_comm]
-  apply (DFinsupp.sum_single_index _).trans
-  swap
-  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact DFinsupp.sum_zero
-  simp_rw [DFinsupp.sum, H, Finset.sum_ite_eq']
-  split_ifs
-  rfl
-  rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.zero_mul]
 #align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_aux
 -/
 
@@ -268,27 +251,13 @@ variable [CanonicallyOrderedAddCommMonoid ι] [SetLike.GradedMonoid A]
 
 #print DirectSum.coe_of_mul_apply_of_not_le /-
 theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : ¬i ≤ n) :
-    ((of _ i r * r') n : R) = 0 := by
-  classical
-  rw [coe_mul_apply_eq_dfinsupp_sum]
-  apply (DFinsupp.sum_single_index _).trans
-  swap
-  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact DFinsupp.sum_zero
-  · rw [DFinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
-    exact h ((self_le_add_right i x).trans_eq H)
+    ((of _ i r * r') n : R) = 0 := by classical
 #align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_le
 -/
 
 #print DirectSum.coe_mul_of_apply_of_not_le /-
 theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : ¬i ≤ n) :
-    ((r * of _ i r') n : R) = 0 := by
-  classical
-  rw [coe_mul_apply_eq_dfinsupp_sum, DFinsupp.sum_comm]
-  apply (DFinsupp.sum_single_index _).trans
-  swap
-  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact DFinsupp.sum_zero
-  · rw [DFinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
-    exact h ((self_le_add_left i x).trans_eq H)
+    ((r * of _ i r') n : R) = 0 := by classical
 #align direct_sum.coe_mul_of_apply_of_not_le DirectSum.coe_mul_of_apply_of_not_le
 -/
 
Diff
@@ -260,11 +260,11 @@ theorem coe_mul_of_apply_add [AddRightCancelMonoid ι] [SetLike.GradedMonoid A]
 
 end coe
 
-section CanonicallyOrderedAddMonoid
+section CanonicallyOrderedAddCommMonoid
 
 variable [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
 
-variable [CanonicallyOrderedAddMonoid ι] [SetLike.GradedMonoid A]
+variable [CanonicallyOrderedAddCommMonoid ι] [SetLike.GradedMonoid A]
 
 #print DirectSum.coe_of_mul_apply_of_not_le /-
 theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : ¬i ≤ n) :
@@ -324,7 +324,7 @@ theorem coe_of_mul_apply {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) [Decidabl
 #align direct_sum.coe_of_mul_apply DirectSum.coe_of_mul_apply
 -/
 
-end CanonicallyOrderedAddMonoid
+end CanonicallyOrderedAddCommMonoid
 
 end DirectSum
 
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2021 Eric Wieser. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Eric Wieser, Kevin Buzzard, Jujian Zhang
 -/
-import Mathbin.Algebra.Algebra.Operations
-import Mathbin.Algebra.Algebra.Subalgebra.Basic
-import Mathbin.Algebra.DirectSum.Algebra
+import Algebra.Algebra.Operations
+import Algebra.Algebra.Subalgebra.Basic
+import Algebra.DirectSum.Algebra
 
 #align_import algebra.direct_sum.internal from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
 
Diff
@@ -341,7 +341,7 @@ instance galgebra [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R] (A
   toFun :=
     ((Algebra.linearMap S R).codRestrict (A 0) <| SetLike.algebraMap_mem_graded A).toAddMonoidHom
   map_one := Subtype.ext <| (algebraMap S R).map_one
-  map_mul x y := Sigma.subtype_ext (add_zero 0).symm <| (algebraMap S R).map_mul _ _
+  map_hMul x y := Sigma.subtype_ext (add_zero 0).symm <| (algebraMap S R).map_hMul _ _
   commutes := fun r ⟨i, xi⟩ =>
     Sigma.subtype_ext ((zero_add i).trans (add_zero i).symm) <| Algebra.commutes _ _
   smul_def := fun r ⟨i, xi⟩ => Sigma.subtype_ext (zero_add i).symm <| Algebra.smul_def _ _
@@ -363,7 +363,7 @@ instance nat_power_gradedMonoid [CommSemiring S] [Semiring R] [Algebra S R] (p :
     SetLike.GradedMonoid fun i : ℕ => p ^ i
     where
   one_mem := by rw [← one_le, pow_zero]; exact le_rfl
-  mul_mem i j p q hp hq := by rw [pow_add]; exact Submodule.mul_mem_mul hp hq
+  hMul_mem i j p q hp hq := by rw [pow_add]; exact Submodule.mul_mem_mul hp hq
 #align submodule.nat_power_graded_monoid Submodule.nat_power_gradedMonoid
 -/
 
Diff
@@ -174,7 +174,7 @@ variable [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
 #print DirectSum.coeRingHom /-
 /-- The canonical ring isomorphism between `⨁ i, A i` and `R`-/
 def coeRingHom [AddMonoid ι] [SetLike.GradedMonoid A] : (⨁ i, A i) →+* R :=
-  DirectSum.toSemiring (fun i => AddSubmonoidClass.Subtype (A i)) rfl fun _ _ _ _ => rfl
+  DirectSum.toSemiring (fun i => AddSubmonoidClass.subtype (A i)) rfl fun _ _ _ _ => rfl
 #align direct_sum.coe_ring_hom DirectSum.coeRingHom
 -/
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2021 Eric Wieser. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Eric Wieser, Kevin Buzzard, Jujian Zhang
-
-! This file was ported from Lean 3 source module algebra.direct_sum.internal
-! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Algebra.Operations
 import Mathbin.Algebra.Algebra.Subalgebra.Basic
 import Mathbin.Algebra.DirectSum.Algebra
 
+#align_import algebra.direct_sum.internal from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
+
 /-!
 # Internally graded rings and algebras
 
Diff
@@ -198,7 +198,7 @@ theorem coe_mul_apply [AddMonoid ι] [SetLike.GradedMonoid A]
       ∑ ij in (r.support ×ˢ r'.support).filterₓ fun ij : ι × ι => ij.1 + ij.2 = n,
         r ij.1 * r' ij.2 :=
   by
-  rw [mul_eq_sum_support_ghas_mul, Dfinsupp.finset_sum_apply, AddSubmonoidClass.coe_finset_sum]
+  rw [mul_eq_sum_support_ghas_mul, DFinsupp.finset_sum_apply, AddSubmonoidClass.coe_finset_sum]
   simp_rw [coe_of_apply, ← Finset.sum_filter, SetLike.coe_gMul]
 #align direct_sum.coe_mul_apply DirectSum.coe_mul_apply
 -/
@@ -208,8 +208,8 @@ theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
     [∀ (i : ι) (x : A i), Decidable (x ≠ 0)] (r r' : ⨁ i, A i) (n : ι) :
     ((r * r') n : R) = r.Sum fun i ri => r'.Sum fun j rj => if i + j = n then ri * rj else 0 :=
   by
-  simp only [mul_eq_dfinsupp_sum, Dfinsupp.sum_apply]
-  iterate 2 rw [Dfinsupp.sum, AddSubmonoidClass.coe_finset_sum]; congr; ext
+  simp only [mul_eq_dfinsupp_sum, DFinsupp.sum_apply]
+  iterate 2 rw [DFinsupp.sum, AddSubmonoidClass.coe_finset_sum]; congr; ext
   dsimp only; split_ifs
   · subst h; rw [of_eq_same]; rfl
   · rw [of_eq_of_ne _ _ _ _ h]; rfl
@@ -222,10 +222,10 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
     ((of _ i r * r') n : R) = r * r' j := by
   classical
   rw [coe_mul_apply_eq_dfinsupp_sum]
-  apply (Dfinsupp.sum_single_index _).trans
+  apply (DFinsupp.sum_single_index _).trans
   swap
-  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact Dfinsupp.sum_zero
-  simp_rw [Dfinsupp.sum, H, Finset.sum_ite_eq']
+  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact DFinsupp.sum_zero
+  simp_rw [DFinsupp.sum, H, Finset.sum_ite_eq']
   split_ifs
   rfl
   rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.mul_zero]
@@ -236,11 +236,11 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
 theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i) {i : ι}
     (r' : A i) {j n : ι} (H : ∀ x : ι, x + i = n ↔ x = j) : ((r * of _ i r') n : R) = r j * r' := by
   classical
-  rw [coe_mul_apply_eq_dfinsupp_sum, Dfinsupp.sum_comm]
-  apply (Dfinsupp.sum_single_index _).trans
+  rw [coe_mul_apply_eq_dfinsupp_sum, DFinsupp.sum_comm]
+  apply (DFinsupp.sum_single_index _).trans
   swap
-  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact Dfinsupp.sum_zero
-  simp_rw [Dfinsupp.sum, H, Finset.sum_ite_eq']
+  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact DFinsupp.sum_zero
+  simp_rw [DFinsupp.sum, H, Finset.sum_ite_eq']
   split_ifs
   rfl
   rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.zero_mul]
@@ -274,10 +274,10 @@ theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι)
     ((of _ i r * r') n : R) = 0 := by
   classical
   rw [coe_mul_apply_eq_dfinsupp_sum]
-  apply (Dfinsupp.sum_single_index _).trans
+  apply (DFinsupp.sum_single_index _).trans
   swap
-  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact Dfinsupp.sum_zero
-  · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
+  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact DFinsupp.sum_zero
+  · rw [DFinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
     exact h ((self_le_add_right i x).trans_eq H)
 #align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_le
 -/
@@ -286,11 +286,11 @@ theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι)
 theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : ¬i ≤ n) :
     ((r * of _ i r') n : R) = 0 := by
   classical
-  rw [coe_mul_apply_eq_dfinsupp_sum, Dfinsupp.sum_comm]
-  apply (Dfinsupp.sum_single_index _).trans
+  rw [coe_mul_apply_eq_dfinsupp_sum, DFinsupp.sum_comm]
+  apply (DFinsupp.sum_single_index _).trans
   swap
-  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact Dfinsupp.sum_zero
-  · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
+  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact DFinsupp.sum_zero
+  · rw [DFinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
     exact h ((self_le_add_left i x).trans_eq H)
 #align direct_sum.coe_mul_of_apply_of_not_le DirectSum.coe_mul_of_apply_of_not_le
 -/
Diff
@@ -57,17 +57,22 @@ instance AddCommMonoid.ofSubmonoidOnSemiring [Semiring R] [SetLike σ R] [AddSub
 #align add_comm_monoid.of_submonoid_on_semiring AddCommMonoid.ofSubmonoidOnSemiring
 -/
 
+#print AddCommGroup.ofSubgroupOnRing /-
 instance AddCommGroup.ofSubgroupOnRing [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ) :
     ∀ i, AddCommGroup (A i) := fun i => by infer_instance
 #align add_comm_group.of_subgroup_on_ring AddCommGroup.ofSubgroupOnRing
+-/
 
+#print SetLike.algebraMap_mem_graded /-
 theorem SetLike.algebraMap_mem_graded [Zero ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedOne A] (s : S) : algebraMap S R s ∈ A 0 :=
   by
   rw [Algebra.algebraMap_eq_smul_one]
   exact (A 0).smul_mem s <| SetLike.one_mem_graded _
 #align set_like.algebra_map_mem_graded SetLike.algebraMap_mem_graded
+-/
 
+#print SetLike.nat_cast_mem_graded /-
 theorem SetLike.nat_cast_mem_graded [Zero ι] [AddMonoidWithOne R] [SetLike σ R]
     [AddSubmonoidClass σ R] (A : ι → σ) [SetLike.GradedOne A] (n : ℕ) : (n : R) ∈ A 0 :=
   by
@@ -77,7 +82,9 @@ theorem SetLike.nat_cast_mem_graded [Zero ι] [AddMonoidWithOne R] [SetLike σ R
   · rw [Nat.cast_succ]
     exact add_mem n_ih (SetLike.one_mem_graded _)
 #align set_like.nat_cast_mem_graded SetLike.nat_cast_mem_graded
+-/
 
+#print SetLike.int_cast_mem_graded /-
 theorem SetLike.int_cast_mem_graded [Zero ι] [AddGroupWithOne R] [SetLike σ R]
     [AddSubgroupClass σ R] (A : ι → σ) [SetLike.GradedOne A] (z : ℤ) : (z : R) ∈ A 0 :=
   by
@@ -87,6 +94,7 @@ theorem SetLike.int_cast_mem_graded [Zero ι] [AddGroupWithOne R] [SetLike σ R]
   · rw [Int.cast_negSucc]
     exact neg_mem (SetLike.nat_cast_mem_graded _ _)
 #align set_like.int_cast_mem_graded SetLike.int_cast_mem_graded
+-/
 
 section DirectSum
 
@@ -97,6 +105,7 @@ variable [DecidableEq ι]
 
 namespace SetLike
 
+#print SetLike.gnonUnitalNonAssocSemiring /-
 /-- Build a `gnon_unital_non_assoc_semiring` instance for a collection of additive submonoids. -/
 instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetLike σ R]
     [AddSubmonoidClass σ R] (A : ι → σ) [SetLike.GradedMul A] :
@@ -109,7 +118,9 @@ instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetL
     mul_add := fun i j _ _ _ => Subtype.ext (mul_add _ _ _)
     add_mul := fun i j _ _ _ => Subtype.ext (add_mul _ _ _) }
 #align set_like.gnon_unital_non_assoc_semiring SetLike.gnonUnitalNonAssocSemiring
+-/
 
+#print SetLike.gsemiring /-
 /-- Build a `gsemiring` instance for a collection of additive submonoids. -/
 instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GSemiring fun i => A i :=
@@ -124,13 +135,17 @@ instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass
     natCast_zero := Subtype.ext Nat.cast_zero
     natCast_succ := fun n => Subtype.ext (Nat.cast_succ n) }
 #align set_like.gsemiring SetLike.gsemiring
+-/
 
+#print SetLike.gcommSemiring /-
 /-- Build a `gcomm_semiring` instance for a collection of additive submonoids. -/
 instance gcommSemiring [AddCommMonoid ι] [CommSemiring R] [SetLike σ R] [AddSubmonoidClass σ R]
     (A : ι → σ) [SetLike.GradedMonoid A] : DirectSum.GCommSemiring fun i => A i :=
   { SetLike.gCommMonoid A, SetLike.gsemiring A with }
 #align set_like.gcomm_semiring SetLike.gcommSemiring
+-/
 
+#print SetLike.gring /-
 /-- Build a `gring` instance for a collection of additive subgroups. -/
 instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GRing fun i => A i :=
@@ -141,12 +156,15 @@ instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A
     intCast_ofNat := fun n => Subtype.ext <| Int.cast_ofNat _
     intCast_negSucc := fun n => Subtype.ext <| Int.cast_negSucc n }
 #align set_like.gring SetLike.gring
+-/
 
+#print SetLike.gcommRing /-
 /-- Build a `gcomm_semiring` instance for a collection of additive submonoids. -/
 instance gcommRing [AddCommMonoid ι] [CommRing R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GCommRing fun i => A i :=
   { SetLike.gCommMonoid A, SetLike.gring A with }
 #align set_like.gcomm_ring SetLike.gcommRing
+-/
 
 end SetLike
 
@@ -163,14 +181,17 @@ def coeRingHom [AddMonoid ι] [SetLike.GradedMonoid A] : (⨁ i, A i) →+* R :=
 #align direct_sum.coe_ring_hom DirectSum.coeRingHom
 -/
 
+#print DirectSum.coeRingHom_of /-
 /-- The canonical ring isomorphism between `⨁ i, A i` and `R`-/
 @[simp]
 theorem coeRingHom_of [AddMonoid ι] [SetLike.GradedMonoid A] (i : ι) (x : A i) :
     (coeRingHom A : _ →+* R) (of (fun i => A i) i x) = x :=
   DirectSum.toSemiring_of _ _ _ _ _
 #align direct_sum.coe_ring_hom_of DirectSum.coeRingHom_of
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print DirectSum.coe_mul_apply /-
 theorem coe_mul_apply [AddMonoid ι] [SetLike.GradedMonoid A]
     [∀ (i : ι) (x : A i), Decidable (x ≠ 0)] (r r' : ⨁ i, A i) (n : ι) :
     ((r * r') n : R) =
@@ -180,7 +201,9 @@ theorem coe_mul_apply [AddMonoid ι] [SetLike.GradedMonoid A]
   rw [mul_eq_sum_support_ghas_mul, Dfinsupp.finset_sum_apply, AddSubmonoidClass.coe_finset_sum]
   simp_rw [coe_of_apply, ← Finset.sum_filter, SetLike.coe_gMul]
 #align direct_sum.coe_mul_apply DirectSum.coe_mul_apply
+-/
 
+#print DirectSum.coe_mul_apply_eq_dfinsupp_sum /-
 theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
     [∀ (i : ι) (x : A i), Decidable (x ≠ 0)] (r r' : ⨁ i, A i) (n : ι) :
     ((r * r') n : R) = r.Sum fun i ri => r'.Sum fun j rj => if i + j = n then ri * rj else 0 :=
@@ -191,7 +214,9 @@ theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
   · subst h; rw [of_eq_same]; rfl
   · rw [of_eq_of_ne _ _ _ _ h]; rfl
 #align direct_sum.coe_mul_apply_eq_dfinsupp_sum DirectSum.coe_mul_apply_eq_dfinsupp_sum
+-/
 
+#print DirectSum.coe_of_mul_apply_aux /-
 theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
     (r' : ⨁ i, A i) {j n : ι} (H : ∀ x : ι, i + x = n ↔ x = j) :
     ((of _ i r * r') n : R) = r * r' j := by
@@ -205,7 +230,9 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
   rfl
   rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.mul_zero]
 #align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_aux
+-/
 
+#print DirectSum.coe_mul_of_apply_aux /-
 theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i) {i : ι}
     (r' : A i) {j n : ι} (H : ∀ x : ι, x + i = n ↔ x = j) : ((r * of _ i r') n : R) = r j * r' := by
   classical
@@ -218,16 +245,21 @@ theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i,
   rfl
   rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.zero_mul]
 #align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_aux
+-/
 
+#print DirectSum.coe_of_mul_apply_add /-
 theorem coe_of_mul_apply_add [AddLeftCancelMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
     (r' : ⨁ i, A i) (j : ι) : ((of _ i r * r') (i + j) : R) = r * r' j :=
   coe_of_mul_apply_aux _ _ _ fun x => ⟨fun h => add_left_cancel h, fun h => h ▸ rfl⟩
 #align direct_sum.coe_of_mul_apply_add DirectSum.coe_of_mul_apply_add
+-/
 
+#print DirectSum.coe_mul_of_apply_add /-
 theorem coe_mul_of_apply_add [AddRightCancelMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i)
     {i : ι} (r' : A i) (j : ι) : ((r * of _ i r') (j + i) : R) = r j * r' :=
   coe_mul_of_apply_aux _ _ _ fun x => ⟨fun h => add_right_cancel h, fun h => h ▸ rfl⟩
 #align direct_sum.coe_mul_of_apply_add DirectSum.coe_mul_of_apply_add
+-/
 
 end coe
 
@@ -237,6 +269,7 @@ variable [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
 
 variable [CanonicallyOrderedAddMonoid ι] [SetLike.GradedMonoid A]
 
+#print DirectSum.coe_of_mul_apply_of_not_le /-
 theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : ¬i ≤ n) :
     ((of _ i r * r') n : R) = 0 := by
   classical
@@ -247,7 +280,9 @@ theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι)
   · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
     exact h ((self_le_add_right i x).trans_eq H)
 #align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_le
+-/
 
+#print DirectSum.coe_mul_of_apply_of_not_le /-
 theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : ¬i ≤ n) :
     ((r * of _ i r') n : R) = 0 := by
   classical
@@ -258,30 +293,39 @@ theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι)
   · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
     exact h ((self_le_add_left i x).trans_eq H)
 #align direct_sum.coe_mul_of_apply_of_not_le DirectSum.coe_mul_of_apply_of_not_le
+-/
 
 variable [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (· + ·) (· ≤ ·)]
 
+#print DirectSum.coe_mul_of_apply_of_le /-
 /- The following two lemmas only require the same hypotheses as `eq_tsub_iff_add_eq_of_le`, but we
   state them for `canonically_ordered_add_monoid` + the above three typeclasses for convenience. -/
 theorem coe_mul_of_apply_of_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : i ≤ n) :
     ((r * of _ i r') n : R) = r (n - i) * r' :=
   coe_mul_of_apply_aux _ _ _ fun x => (eq_tsub_iff_add_eq_of_le h).symm
 #align direct_sum.coe_mul_of_apply_of_le DirectSum.coe_mul_of_apply_of_le
+-/
 
+#print DirectSum.coe_of_mul_apply_of_le /-
 theorem coe_of_mul_apply_of_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : i ≤ n) :
     ((of _ i r * r') n : R) = r * r' (n - i) :=
   coe_of_mul_apply_aux _ _ _ fun x => by rw [eq_tsub_iff_add_eq_of_le h, add_comm]
 #align direct_sum.coe_of_mul_apply_of_le DirectSum.coe_of_mul_apply_of_le
+-/
 
+#print DirectSum.coe_mul_of_apply /-
 theorem coe_mul_of_apply (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) [Decidable (i ≤ n)] :
     ((r * of _ i r') n : R) = if i ≤ n then r (n - i) * r' else 0 := by split_ifs;
   exacts [coe_mul_of_apply_of_le _ _ _ n h, coe_mul_of_apply_of_not_le _ _ _ n h]
 #align direct_sum.coe_mul_of_apply DirectSum.coe_mul_of_apply
+-/
 
+#print DirectSum.coe_of_mul_apply /-
 theorem coe_of_mul_apply {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) [Decidable (i ≤ n)] :
     ((of _ i r * r') n : R) = if i ≤ n then r * r' (n - i) else 0 := by split_ifs;
   exacts [coe_of_mul_apply_of_le _ _ _ n h, coe_of_mul_apply_of_not_le _ _ _ n h]
 #align direct_sum.coe_of_mul_apply DirectSum.coe_of_mul_apply
+-/
 
 end CanonicallyOrderedAddMonoid
 
@@ -307,12 +351,14 @@ instance galgebra [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R] (A
 #align submodule.galgebra Submodule.galgebra
 -/
 
+#print Submodule.setLike.coe_galgebra_toFun /-
 @[simp]
 theorem setLike.coe_galgebra_toFun [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedMonoid A] (s : S) :
     ↑(@DirectSum.GAlgebra.toFun _ S (fun i => A i) _ _ _ _ _ _ _ s) = (algebraMap S R s : R) :=
   rfl
 #align submodule.set_like.coe_galgebra_to_fun Submodule.setLike.coe_galgebra_toFun
+-/
 
 #print Submodule.nat_power_gradedMonoid /-
 /-- A direct sum of powers of a submodule of an algebra has a multiplicative structure. -/
@@ -334,6 +380,7 @@ def DirectSum.coeAlgHom [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S
 #align direct_sum.coe_alg_hom DirectSum.coeAlgHom
 -/
 
+#print Submodule.iSup_eq_toSubmodule_range /-
 /-- The supremum of submodules that form a graded monoid is a subalgebra, and equal to the range of
 `direct_sum.coe_alg_hom`. -/
 theorem Submodule.iSup_eq_toSubmodule_range [AddMonoid ι] [CommSemiring S] [Semiring R]
@@ -341,28 +388,35 @@ theorem Submodule.iSup_eq_toSubmodule_range [AddMonoid ι] [CommSemiring S] [Sem
     (⨆ i, A i) = (DirectSum.coeAlgHom A).range.toSubmodule :=
   (Submodule.iSup_eq_range_dfinsupp_lsum A).trans <| SetLike.coe_injective rfl
 #align submodule.supr_eq_to_submodule_range Submodule.iSup_eq_toSubmodule_range
+-/
 
+#print DirectSum.coeAlgHom_of /-
 @[simp]
 theorem DirectSum.coeAlgHom_of [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedMonoid A] (i : ι) (x : A i) :
     DirectSum.coeAlgHom A (DirectSum.of (fun i => A i) i x) = x :=
   DirectSum.toSemiring_of _ rfl (fun _ _ _ _ => rfl) _ _
 #align direct_sum.coe_alg_hom_of DirectSum.coeAlgHom_of
+-/
 
 end DirectSum
 
 section HomogeneousElement
 
+#print SetLike.homogeneous_zero_submodule /-
 theorem SetLike.homogeneous_zero_submodule [Zero ι] [Semiring S] [AddCommMonoid R] [Module S R]
     (A : ι → Submodule S R) : SetLike.Homogeneous A (0 : R) :=
   ⟨0, Submodule.zero_mem _⟩
 #align set_like.is_homogeneous_zero_submodule SetLike.homogeneous_zero_submodule
+-/
 
+#print SetLike.Homogeneous.smul /-
 theorem SetLike.Homogeneous.smul [CommSemiring S] [Semiring R] [Algebra S R] {A : ι → Submodule S R}
     {s : S} {r : R} (hr : SetLike.Homogeneous A r) : SetLike.Homogeneous A (s • r) :=
   let ⟨i, hi⟩ := hr
   ⟨i, Submodule.smul_mem _ _ hi⟩
 #align set_like.is_homogeneous.smul SetLike.Homogeneous.smul
+-/
 
 end HomogeneousElement
 
Diff
@@ -196,27 +196,27 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
     (r' : ⨁ i, A i) {j n : ι} (H : ∀ x : ι, i + x = n ↔ x = j) :
     ((of _ i r * r') n : R) = r * r' j := by
   classical
-    rw [coe_mul_apply_eq_dfinsupp_sum]
-    apply (Dfinsupp.sum_single_index _).trans
-    swap
-    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact Dfinsupp.sum_zero
-    simp_rw [Dfinsupp.sum, H, Finset.sum_ite_eq']
-    split_ifs
-    rfl
-    rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.mul_zero]
+  rw [coe_mul_apply_eq_dfinsupp_sum]
+  apply (Dfinsupp.sum_single_index _).trans
+  swap
+  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact Dfinsupp.sum_zero
+  simp_rw [Dfinsupp.sum, H, Finset.sum_ite_eq']
+  split_ifs
+  rfl
+  rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.mul_zero]
 #align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_aux
 
 theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i) {i : ι}
     (r' : A i) {j n : ι} (H : ∀ x : ι, x + i = n ↔ x = j) : ((r * of _ i r') n : R) = r j * r' := by
   classical
-    rw [coe_mul_apply_eq_dfinsupp_sum, Dfinsupp.sum_comm]
-    apply (Dfinsupp.sum_single_index _).trans
-    swap
-    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact Dfinsupp.sum_zero
-    simp_rw [Dfinsupp.sum, H, Finset.sum_ite_eq']
-    split_ifs
-    rfl
-    rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.zero_mul]
+  rw [coe_mul_apply_eq_dfinsupp_sum, Dfinsupp.sum_comm]
+  apply (Dfinsupp.sum_single_index _).trans
+  swap
+  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact Dfinsupp.sum_zero
+  simp_rw [Dfinsupp.sum, H, Finset.sum_ite_eq']
+  split_ifs
+  rfl
+  rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.zero_mul]
 #align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_aux
 
 theorem coe_of_mul_apply_add [AddLeftCancelMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
@@ -240,23 +240,23 @@ variable [CanonicallyOrderedAddMonoid ι] [SetLike.GradedMonoid A]
 theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : ¬i ≤ n) :
     ((of _ i r * r') n : R) = 0 := by
   classical
-    rw [coe_mul_apply_eq_dfinsupp_sum]
-    apply (Dfinsupp.sum_single_index _).trans
-    swap
-    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact Dfinsupp.sum_zero
-    · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
-      exact h ((self_le_add_right i x).trans_eq H)
+  rw [coe_mul_apply_eq_dfinsupp_sum]
+  apply (Dfinsupp.sum_single_index _).trans
+  swap
+  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact Dfinsupp.sum_zero
+  · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
+    exact h ((self_le_add_right i x).trans_eq H)
 #align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_le
 
 theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : ¬i ≤ n) :
     ((r * of _ i r') n : R) = 0 := by
   classical
-    rw [coe_mul_apply_eq_dfinsupp_sum, Dfinsupp.sum_comm]
-    apply (Dfinsupp.sum_single_index _).trans
-    swap
-    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact Dfinsupp.sum_zero
-    · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
-      exact h ((self_le_add_left i x).trans_eq H)
+  rw [coe_mul_apply_eq_dfinsupp_sum, Dfinsupp.sum_comm]
+  apply (Dfinsupp.sum_single_index _).trans
+  swap
+  · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact Dfinsupp.sum_zero
+  · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
+    exact h ((self_le_add_left i x).trans_eq H)
 #align direct_sum.coe_mul_of_apply_of_not_le DirectSum.coe_mul_of_apply_of_not_le
 
 variable [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (· + ·) (· ≤ ·)]
Diff
@@ -186,7 +186,7 @@ theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
     ((r * r') n : R) = r.Sum fun i ri => r'.Sum fun j rj => if i + j = n then ri * rj else 0 :=
   by
   simp only [mul_eq_dfinsupp_sum, Dfinsupp.sum_apply]
-  iterate 2 rw [Dfinsupp.sum, AddSubmonoidClass.coe_finset_sum]; congr ; ext
+  iterate 2 rw [Dfinsupp.sum, AddSubmonoidClass.coe_finset_sum]; congr; ext
   dsimp only; split_ifs
   · subst h; rw [of_eq_same]; rfl
   · rw [of_eq_of_ne _ _ _ _ h]; rfl
@@ -275,12 +275,12 @@ theorem coe_of_mul_apply_of_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h
 
 theorem coe_mul_of_apply (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) [Decidable (i ≤ n)] :
     ((r * of _ i r') n : R) = if i ≤ n then r (n - i) * r' else 0 := by split_ifs;
-  exacts[coe_mul_of_apply_of_le _ _ _ n h, coe_mul_of_apply_of_not_le _ _ _ n h]
+  exacts [coe_mul_of_apply_of_le _ _ _ n h, coe_mul_of_apply_of_not_le _ _ _ n h]
 #align direct_sum.coe_mul_of_apply DirectSum.coe_mul_of_apply
 
 theorem coe_of_mul_apply {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) [Decidable (i ≤ n)] :
     ((of _ i r * r') n : R) = if i ≤ n then r * r' (n - i) else 0 := by split_ifs;
-  exacts[coe_of_mul_apply_of_le _ _ _ n h, coe_of_mul_apply_of_not_le _ _ _ n h]
+  exacts [coe_of_mul_apply_of_le _ _ _ n h, coe_of_mul_apply_of_not_le _ _ _ n h]
 #align direct_sum.coe_of_mul_apply DirectSum.coe_of_mul_apply
 
 end CanonicallyOrderedAddMonoid
Diff
@@ -47,7 +47,7 @@ internally graded ring
 -/
 
 
-open DirectSum BigOperators
+open scoped DirectSum BigOperators
 
 variable {ι : Type _} {σ S R : Type _}
 
Diff
@@ -57,22 +57,10 @@ instance AddCommMonoid.ofSubmonoidOnSemiring [Semiring R] [SetLike σ R] [AddSub
 #align add_comm_monoid.of_submonoid_on_semiring AddCommMonoid.ofSubmonoidOnSemiring
 -/
 
-/- warning: add_comm_group.of_subgroup_on_ring -> AddCommGroup.ofSubgroupOnRing is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : Ring.{u3} R] [_inst_2 : SetLike.{u2, u3} σ R] [_inst_3 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (AddCommGroupWithOne.toAddGroupWithOne.{u3} R (Ring.toAddCommGroupWithOne.{u3} R _inst_1)))) _inst_2] (A : ι -> σ) (i : ι), AddCommGroup.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_2) (A i))
-but is expected to have type
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : Ring.{u3} R] [_inst_2 : SetLike.{u2, u3} σ R] [_inst_3 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R _inst_1))) _inst_2] (A : ι -> σ) (i : ι), AddCommGroup.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_2) x (A i)))
-Case conversion may be inaccurate. Consider using '#align add_comm_group.of_subgroup_on_ring AddCommGroup.ofSubgroupOnRingₓ'. -/
 instance AddCommGroup.ofSubgroupOnRing [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ) :
     ∀ i, AddCommGroup (A i) := fun i => by infer_instance
 #align add_comm_group.of_subgroup_on_ring AddCommGroup.ofSubgroupOnRing
 
-/- warning: set_like.algebra_map_mem_graded -> SetLike.algebraMap_mem_graded is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : Zero.{u1} ι] [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Semiring.{u3} R] [_inst_4 : Algebra.{u2, u3} S R _inst_2 _inst_3] (A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4))) [_inst_5 : SetLike.GradedOne.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4)) (AddMonoidWithOne.toOne.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) _inst_1 A] (s : S), Membership.Mem.{u3, u3} R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (fun (_x : RingHom.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} R _inst_3)) => S -> R) (RingHom.hasCoeToFun.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (algebraMap.{u2, u3} S R _inst_2 _inst_3 _inst_4) s) (A (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι _inst_1))))
-but is expected to have type
-  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : Zero.{u3} ι] [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Semiring.{u1} R] [_inst_4 : Algebra.{u2, u1} S R _inst_2 _inst_3] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4))) [_inst_5 : SetLike.GradedOne.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) (Semiring.toOne.{u1} R _inst_3) _inst_1 A] (s : S), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) s) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S R (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3))))) (algebraMap.{u2, u1} S R _inst_2 _inst_3 _inst_4) s) (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι _inst_1)))
-Case conversion may be inaccurate. Consider using '#align set_like.algebra_map_mem_graded SetLike.algebraMap_mem_gradedₓ'. -/
 theorem SetLike.algebraMap_mem_graded [Zero ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedOne A] (s : S) : algebraMap S R s ∈ A 0 :=
   by
@@ -80,12 +68,6 @@ theorem SetLike.algebraMap_mem_graded [Zero ι] [CommSemiring S] [Semiring R] [A
   exact (A 0).smul_mem s <| SetLike.one_mem_graded _
 #align set_like.algebra_map_mem_graded SetLike.algebraMap_mem_graded
 
-/- warning: set_like.nat_cast_mem_graded -> SetLike.nat_cast_mem_graded is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : Zero.{u1} ι] [_inst_2 : AddMonoidWithOne.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R _inst_2)) _inst_3] (A : ι -> σ) [_inst_5 : SetLike.GradedOne.{u1, u3, u2} ι R σ _inst_3 (AddMonoidWithOne.toOne.{u3} R _inst_2) _inst_1 A] (n : Nat), Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) ((fun (a : Type) (b : Type.{u3}) [self : HasLiftT.{1, succ u3} a b] => self.0) Nat R (HasLiftT.mk.{1, succ u3} Nat R (CoeTCₓ.coe.{1, succ u3} Nat R (Nat.castCoe.{u3} R (AddMonoidWithOne.toNatCast.{u3} R _inst_2)))) n) (A (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι _inst_1))))
-but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : Zero.{u3} ι] [_inst_2 : AddMonoidWithOne.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R _inst_2)) _inst_3] (A : ι -> σ) [_inst_5 : SetLike.GradedOne.{u3, u2, u1} ι R σ _inst_3 (AddMonoidWithOne.toOne.{u2} R _inst_2) _inst_1 A] (n : Nat), Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) (Nat.cast.{u2} R (AddMonoidWithOne.toNatCast.{u2} R _inst_2) n) (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι _inst_1)))
-Case conversion may be inaccurate. Consider using '#align set_like.nat_cast_mem_graded SetLike.nat_cast_mem_gradedₓ'. -/
 theorem SetLike.nat_cast_mem_graded [Zero ι] [AddMonoidWithOne R] [SetLike σ R]
     [AddSubmonoidClass σ R] (A : ι → σ) [SetLike.GradedOne A] (n : ℕ) : (n : R) ∈ A 0 :=
   by
@@ -96,12 +78,6 @@ theorem SetLike.nat_cast_mem_graded [Zero ι] [AddMonoidWithOne R] [SetLike σ R
     exact add_mem n_ih (SetLike.one_mem_graded _)
 #align set_like.nat_cast_mem_graded SetLike.nat_cast_mem_graded
 
-/- warning: set_like.int_cast_mem_graded -> SetLike.int_cast_mem_graded is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : Zero.{u1} ι] [_inst_2 : AddGroupWithOne.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R _inst_2)) _inst_3] (A : ι -> σ) [_inst_5 : SetLike.GradedOne.{u1, u3, u2} ι R σ _inst_3 (AddMonoidWithOne.toOne.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R _inst_2)) _inst_1 A] (z : Int), Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) ((fun (a : Type) (b : Type.{u3}) [self : HasLiftT.{1, succ u3} a b] => self.0) Int R (HasLiftT.mk.{1, succ u3} Int R (CoeTCₓ.coe.{1, succ u3} Int R (Int.castCoe.{u3} R (AddGroupWithOne.toHasIntCast.{u3} R _inst_2)))) z) (A (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι _inst_1))))
-but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : Zero.{u3} ι] [_inst_2 : AddGroupWithOne.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubgroupClass.{u1, u2} σ R (AddGroup.toSubNegMonoid.{u2} R (AddGroupWithOne.toAddGroup.{u2} R _inst_2)) _inst_3] (A : ι -> σ) [_inst_5 : SetLike.GradedOne.{u3, u2, u1} ι R σ _inst_3 (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R _inst_2)) _inst_1 A] (z : Int), Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) (Int.cast.{u2} R (AddGroupWithOne.toIntCast.{u2} R _inst_2) z) (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι _inst_1)))
-Case conversion may be inaccurate. Consider using '#align set_like.int_cast_mem_graded SetLike.int_cast_mem_gradedₓ'. -/
 theorem SetLike.int_cast_mem_graded [Zero ι] [AddGroupWithOne R] [SetLike σ R]
     [AddSubgroupClass σ R] (A : ι → σ) [SetLike.GradedOne A] (z : ℤ) : (z : R) ∈ A 0 :=
   by
@@ -121,12 +97,6 @@ variable [DecidableEq ι]
 
 namespace SetLike
 
-/- warning: set_like.gnon_unital_non_assoc_semiring -> SetLike.gnonUnitalNonAssocSemiring is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Add.{u1} ι] [_inst_3 : NonUnitalNonAssocSemiring.{u3} R] [_inst_4 : SetLike.{u2, u3} σ R] [_inst_5 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R _inst_3))) _inst_4] (A : ι -> σ) [_inst_6 : SetLike.GradedMul.{u1, u3, u2} ι R σ _inst_4 (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R _inst_3)) _inst_2 A], DirectSum.GNonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_4) (A i)) _inst_2 (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R _inst_3) σ _inst_4 _inst_5 (A i))
-but is expected to have type
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : Add.{u1} ι] [_inst_2 : NonUnitalNonAssocSemiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R _inst_2))) _inst_3] (_inst_5 : ι -> σ) [A : SetLike.GradedMul.{u1, u3, u2} ι R σ _inst_3 (NonUnitalNonAssocSemiring.toMul.{u3} R _inst_2) _inst_1 _inst_5], DirectSum.GNonUnitalNonAssocSemiring.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (_inst_5 i))) _inst_1 (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R _inst_2) σ _inst_3 _inst_4 (_inst_5 i))
-Case conversion may be inaccurate. Consider using '#align set_like.gnon_unital_non_assoc_semiring SetLike.gnonUnitalNonAssocSemiringₓ'. -/
 /-- Build a `gnon_unital_non_assoc_semiring` instance for a collection of additive submonoids. -/
 instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetLike σ R]
     [AddSubmonoidClass σ R] (A : ι → σ) [SetLike.GradedMul A] :
@@ -140,12 +110,6 @@ instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetL
     add_mul := fun i j _ _ _ => Subtype.ext (add_mul _ _ _) }
 #align set_like.gnon_unital_non_assoc_semiring SetLike.gnonUnitalNonAssocSemiring
 
-/- warning: set_like.gsemiring -> SetLike.gsemiring is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : Semiring.{u3} R] [_inst_4 : SetLike.{u2, u3} σ R] [_inst_5 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))))) _inst_4] (A : ι -> σ) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_4 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3)) _inst_2 A], DirectSum.GSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_4) (A i)) _inst_2 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_3 _inst_4 _inst_5 A i)
-but is expected to have type
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (_inst_5 : ι -> σ) [A : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_1 _inst_5], DirectSum.GSemiring.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (_inst_5 i))) _inst_1 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 _inst_5 i)
-Case conversion may be inaccurate. Consider using '#align set_like.gsemiring SetLike.gsemiringₓ'. -/
 /-- Build a `gsemiring` instance for a collection of additive submonoids. -/
 instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GSemiring fun i => A i :=
@@ -161,24 +125,12 @@ instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass
     natCast_succ := fun n => Subtype.ext (Nat.cast_succ n) }
 #align set_like.gsemiring SetLike.gsemiring
 
-/- warning: set_like.gcomm_semiring -> SetLike.gcommSemiring is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddCommMonoid.{u1} ι] [_inst_3 : CommSemiring.{u3} R] [_inst_4 : SetLike.{u2, u3} σ R] [_inst_5 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_3)))))) _inst_4] (A : ι -> σ) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_4 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_3))) (AddCommMonoid.toAddMonoid.{u1} ι _inst_2) A], DirectSum.GCommSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_4) (A i)) _inst_2 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R (CommSemiring.toSemiring.{u3} R _inst_3) _inst_4 _inst_5 A i)
-but is expected to have type
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : CommSemiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_2)))))) _inst_3] (_inst_5 : ι -> σ) [A : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_2))) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) _inst_5], DirectSum.GCommSemiring.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (_inst_5 i))) _inst_1 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R (CommSemiring.toSemiring.{u3} R _inst_2) _inst_3 _inst_4 _inst_5 i)
-Case conversion may be inaccurate. Consider using '#align set_like.gcomm_semiring SetLike.gcommSemiringₓ'. -/
 /-- Build a `gcomm_semiring` instance for a collection of additive submonoids. -/
 instance gcommSemiring [AddCommMonoid ι] [CommSemiring R] [SetLike σ R] [AddSubmonoidClass σ R]
     (A : ι → σ) [SetLike.GradedMonoid A] : DirectSum.GCommSemiring fun i => A i :=
   { SetLike.gCommMonoid A, SetLike.gsemiring A with }
 #align set_like.gcomm_semiring SetLike.gcommSemiring
 
-/- warning: set_like.gring -> SetLike.gring is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : Ring.{u3} R] [_inst_4 : SetLike.{u2, u3} σ R] [_inst_5 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (AddCommGroupWithOne.toAddGroupWithOne.{u3} R (Ring.toAddCommGroupWithOne.{u3} R _inst_3)))) _inst_4] (A : ι -> σ) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_4 (Ring.toMonoid.{u3} R _inst_3) _inst_2 A], DirectSum.GRing.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_4) (A i)) _inst_2 (fun (i : ι) => AddCommGroup.ofSubgroupOnRing.{u1, u2, u3} ι σ R _inst_3 _inst_4 _inst_5 A i)
-but is expected to have type
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u1} ι] [_inst_2 : Ring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R _inst_2))) _inst_3] (_inst_5 : ι -> σ) [A : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R _inst_2))) _inst_1 _inst_5], DirectSum.GRing.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (_inst_5 i))) _inst_1 (fun (i : ι) => AddCommGroup.ofSubgroupOnRing.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 _inst_5 i)
-Case conversion may be inaccurate. Consider using '#align set_like.gring SetLike.gringₓ'. -/
 /-- Build a `gring` instance for a collection of additive subgroups. -/
 instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GRing fun i => A i :=
@@ -190,12 +142,6 @@ instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A
     intCast_negSucc := fun n => Subtype.ext <| Int.cast_negSucc n }
 #align set_like.gring SetLike.gring
 
-/- warning: set_like.gcomm_ring -> SetLike.gcommRing is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddCommMonoid.{u1} ι] [_inst_3 : CommRing.{u3} R] [_inst_4 : SetLike.{u2, u3} σ R] [_inst_5 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (AddCommGroupWithOne.toAddGroupWithOne.{u3} R (Ring.toAddCommGroupWithOne.{u3} R (CommRing.toRing.{u3} R _inst_3))))) _inst_4] (A : ι -> σ) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_4 (Ring.toMonoid.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} ι _inst_2) A], DirectSum.GCommRing.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_4) (A i)) _inst_2 (fun (i : ι) => AddCommGroup.ofSubgroupOnRing.{u1, u2, u3} ι σ R (CommRing.toRing.{u3} R _inst_3) _inst_4 _inst_5 A i)
-but is expected to have type
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : CommRing.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (CommRing.toRing.{u3} R _inst_2)))) _inst_3] (_inst_5 : ι -> σ) [A : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) _inst_5], DirectSum.GCommRing.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (_inst_5 i))) _inst_1 (fun (i : ι) => AddCommGroup.ofSubgroupOnRing.{u1, u2, u3} ι σ R (CommRing.toRing.{u3} R _inst_2) _inst_3 _inst_4 _inst_5 i)
-Case conversion may be inaccurate. Consider using '#align set_like.gcomm_ring SetLike.gcommRingₓ'. -/
 /-- Build a `gcomm_semiring` instance for a collection of additive submonoids. -/
 instance gcommRing [AddCommMonoid ι] [CommRing R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GCommRing fun i => A i :=
@@ -217,9 +163,6 @@ def coeRingHom [AddMonoid ι] [SetLike.GradedMonoid A] : (⨁ i, A i) →+* R :=
 #align direct_sum.coe_ring_hom DirectSum.coeRingHom
 -/
 
-/- warning: direct_sum.coe_ring_hom_of -> DirectSum.coeRingHom_of is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_ring_hom_of DirectSum.coeRingHom_ofₓ'. -/
 /-- The canonical ring isomorphism between `⨁ i, A i` and `R`-/
 @[simp]
 theorem coeRingHom_of [AddMonoid ι] [SetLike.GradedMonoid A] (i : ι) (x : A i) :
@@ -227,9 +170,6 @@ theorem coeRingHom_of [AddMonoid ι] [SetLike.GradedMonoid A] (i : ι) (x : A i)
   DirectSum.toSemiring_of _ _ _ _ _
 #align direct_sum.coe_ring_hom_of DirectSum.coeRingHom_of
 
-/- warning: direct_sum.coe_mul_apply -> DirectSum.coe_mul_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_apply DirectSum.coe_mul_applyₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem coe_mul_apply [AddMonoid ι] [SetLike.GradedMonoid A]
     [∀ (i : ι) (x : A i), Decidable (x ≠ 0)] (r r' : ⨁ i, A i) (n : ι) :
@@ -241,9 +181,6 @@ theorem coe_mul_apply [AddMonoid ι] [SetLike.GradedMonoid A]
   simp_rw [coe_of_apply, ← Finset.sum_filter, SetLike.coe_gMul]
 #align direct_sum.coe_mul_apply DirectSum.coe_mul_apply
 
-/- warning: direct_sum.coe_mul_apply_eq_dfinsupp_sum -> DirectSum.coe_mul_apply_eq_dfinsupp_sum is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_apply_eq_dfinsupp_sum DirectSum.coe_mul_apply_eq_dfinsupp_sumₓ'. -/
 theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
     [∀ (i : ι) (x : A i), Decidable (x ≠ 0)] (r r' : ⨁ i, A i) (n : ι) :
     ((r * r') n : R) = r.Sum fun i ri => r'.Sum fun j rj => if i + j = n then ri * rj else 0 :=
@@ -255,9 +192,6 @@ theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
   · rw [of_eq_of_ne _ _ _ _ h]; rfl
 #align direct_sum.coe_mul_apply_eq_dfinsupp_sum DirectSum.coe_mul_apply_eq_dfinsupp_sum
 
-/- warning: direct_sum.coe_of_mul_apply_aux -> DirectSum.coe_of_mul_apply_aux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_auxₓ'. -/
 theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
     (r' : ⨁ i, A i) {j n : ι} (H : ∀ x : ι, i + x = n ↔ x = j) :
     ((of _ i r * r') n : R) = r * r' j := by
@@ -272,9 +206,6 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
     rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.mul_zero]
 #align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_aux
 
-/- warning: direct_sum.coe_mul_of_apply_aux -> DirectSum.coe_mul_of_apply_aux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_auxₓ'. -/
 theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i) {i : ι}
     (r' : A i) {j n : ι} (H : ∀ x : ι, x + i = n ↔ x = j) : ((r * of _ i r') n : R) = r j * r' := by
   classical
@@ -288,17 +219,11 @@ theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i,
     rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.zero_mul]
 #align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_aux
 
-/- warning: direct_sum.coe_of_mul_apply_add -> DirectSum.coe_of_mul_apply_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply_add DirectSum.coe_of_mul_apply_addₓ'. -/
 theorem coe_of_mul_apply_add [AddLeftCancelMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
     (r' : ⨁ i, A i) (j : ι) : ((of _ i r * r') (i + j) : R) = r * r' j :=
   coe_of_mul_apply_aux _ _ _ fun x => ⟨fun h => add_left_cancel h, fun h => h ▸ rfl⟩
 #align direct_sum.coe_of_mul_apply_add DirectSum.coe_of_mul_apply_add
 
-/- warning: direct_sum.coe_mul_of_apply_add -> DirectSum.coe_mul_of_apply_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply_add DirectSum.coe_mul_of_apply_addₓ'. -/
 theorem coe_mul_of_apply_add [AddRightCancelMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i)
     {i : ι} (r' : A i) (j : ι) : ((r * of _ i r') (j + i) : R) = r j * r' :=
   coe_mul_of_apply_aux _ _ _ fun x => ⟨fun h => add_right_cancel h, fun h => h ▸ rfl⟩
@@ -312,9 +237,6 @@ variable [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
 
 variable [CanonicallyOrderedAddMonoid ι] [SetLike.GradedMonoid A]
 
-/- warning: direct_sum.coe_of_mul_apply_of_not_le -> DirectSum.coe_of_mul_apply_of_not_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_leₓ'. -/
 theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : ¬i ≤ n) :
     ((of _ i r * r') n : R) = 0 := by
   classical
@@ -326,9 +248,6 @@ theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι)
       exact h ((self_le_add_right i x).trans_eq H)
 #align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_le
 
-/- warning: direct_sum.coe_mul_of_apply_of_not_le -> DirectSum.coe_mul_of_apply_of_not_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply_of_not_le DirectSum.coe_mul_of_apply_of_not_leₓ'. -/
 theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : ¬i ≤ n) :
     ((r * of _ i r') n : R) = 0 := by
   classical
@@ -342,9 +261,6 @@ theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι)
 
 variable [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (· + ·) (· ≤ ·)]
 
-/- warning: direct_sum.coe_mul_of_apply_of_le -> DirectSum.coe_mul_of_apply_of_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply_of_le DirectSum.coe_mul_of_apply_of_leₓ'. -/
 /- The following two lemmas only require the same hypotheses as `eq_tsub_iff_add_eq_of_le`, but we
   state them for `canonically_ordered_add_monoid` + the above three typeclasses for convenience. -/
 theorem coe_mul_of_apply_of_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : i ≤ n) :
@@ -352,25 +268,16 @@ theorem coe_mul_of_apply_of_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h
   coe_mul_of_apply_aux _ _ _ fun x => (eq_tsub_iff_add_eq_of_le h).symm
 #align direct_sum.coe_mul_of_apply_of_le DirectSum.coe_mul_of_apply_of_le
 
-/- warning: direct_sum.coe_of_mul_apply_of_le -> DirectSum.coe_of_mul_apply_of_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply_of_le DirectSum.coe_of_mul_apply_of_leₓ'. -/
 theorem coe_of_mul_apply_of_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : i ≤ n) :
     ((of _ i r * r') n : R) = r * r' (n - i) :=
   coe_of_mul_apply_aux _ _ _ fun x => by rw [eq_tsub_iff_add_eq_of_le h, add_comm]
 #align direct_sum.coe_of_mul_apply_of_le DirectSum.coe_of_mul_apply_of_le
 
-/- warning: direct_sum.coe_mul_of_apply -> DirectSum.coe_mul_of_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply DirectSum.coe_mul_of_applyₓ'. -/
 theorem coe_mul_of_apply (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) [Decidable (i ≤ n)] :
     ((r * of _ i r') n : R) = if i ≤ n then r (n - i) * r' else 0 := by split_ifs;
   exacts[coe_mul_of_apply_of_le _ _ _ n h, coe_mul_of_apply_of_not_le _ _ _ n h]
 #align direct_sum.coe_mul_of_apply DirectSum.coe_mul_of_apply
 
-/- warning: direct_sum.coe_of_mul_apply -> DirectSum.coe_of_mul_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply DirectSum.coe_of_mul_applyₓ'. -/
 theorem coe_of_mul_apply {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) [Decidable (i ≤ n)] :
     ((of _ i r * r') n : R) = if i ≤ n then r * r' (n - i) else 0 := by split_ifs;
   exacts[coe_of_mul_apply_of_le _ _ _ n h, coe_of_mul_apply_of_not_le _ _ _ n h]
@@ -400,9 +307,6 @@ instance galgebra [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R] (A
 #align submodule.galgebra Submodule.galgebra
 -/
 
-/- warning: submodule.set_like.coe_galgebra_to_fun -> Submodule.setLike.coe_galgebra_toFun is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.set_like.coe_galgebra_to_fun Submodule.setLike.coe_galgebra_toFunₓ'. -/
 @[simp]
 theorem setLike.coe_galgebra_toFun [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedMonoid A] (s : S) :
@@ -430,9 +334,6 @@ def DirectSum.coeAlgHom [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S
 #align direct_sum.coe_alg_hom DirectSum.coeAlgHom
 -/
 
-/- warning: submodule.supr_eq_to_submodule_range -> Submodule.iSup_eq_toSubmodule_range is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.supr_eq_to_submodule_range Submodule.iSup_eq_toSubmodule_rangeₓ'. -/
 /-- The supremum of submodules that form a graded monoid is a subalgebra, and equal to the range of
 `direct_sum.coe_alg_hom`. -/
 theorem Submodule.iSup_eq_toSubmodule_range [AddMonoid ι] [CommSemiring S] [Semiring R]
@@ -441,9 +342,6 @@ theorem Submodule.iSup_eq_toSubmodule_range [AddMonoid ι] [CommSemiring S] [Sem
   (Submodule.iSup_eq_range_dfinsupp_lsum A).trans <| SetLike.coe_injective rfl
 #align submodule.supr_eq_to_submodule_range Submodule.iSup_eq_toSubmodule_range
 
-/- warning: direct_sum.coe_alg_hom_of -> DirectSum.coeAlgHom_of is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_alg_hom_of DirectSum.coeAlgHom_ofₓ'. -/
 @[simp]
 theorem DirectSum.coeAlgHom_of [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedMonoid A] (i : ι) (x : A i) :
@@ -455,23 +353,11 @@ end DirectSum
 
 section HomogeneousElement
 
-/- warning: set_like.is_homogeneous_zero_submodule -> SetLike.homogeneous_zero_submodule is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : Zero.{u1} ι] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} R] [_inst_4 : Module.{u2, u3} S R _inst_2 _inst_3] (A : ι -> (Submodule.{u2, u3} S R _inst_2 _inst_3 _inst_4)), SetLike.Homogeneous.{u1, u3, u3} ι R (Submodule.{u2, u3} S R _inst_2 _inst_3 _inst_4) (Submodule.setLike.{u2, u3} S R _inst_2 _inst_3 _inst_4) A (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_3))))))
-but is expected to have type
-  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : Zero.{u3} ι] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u1} R] [_inst_4 : Module.{u2, u1} S R _inst_2 _inst_3] (A : ι -> (Submodule.{u2, u1} S R _inst_2 _inst_3 _inst_4)), SetLike.Homogeneous.{u3, u1, u1} ι R (Submodule.{u2, u1} S R _inst_2 _inst_3 _inst_4) (Submodule.setLike.{u2, u1} S R _inst_2 _inst_3 _inst_4) A (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_3))))
-Case conversion may be inaccurate. Consider using '#align set_like.is_homogeneous_zero_submodule SetLike.homogeneous_zero_submoduleₓ'. -/
 theorem SetLike.homogeneous_zero_submodule [Zero ι] [Semiring S] [AddCommMonoid R] [Module S R]
     (A : ι → Submodule S R) : SetLike.Homogeneous A (0 : R) :=
   ⟨0, Submodule.zero_mem _⟩
 #align set_like.is_homogeneous_zero_submodule SetLike.homogeneous_zero_submodule
 
-/- warning: set_like.is_homogeneous.smul -> SetLike.Homogeneous.smul is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u2} S] [_inst_2 : Semiring.{u3} R] [_inst_3 : Algebra.{u2, u3} S R _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Algebra.toModule.{u2, u3} S R _inst_1 _inst_2 _inst_3))} {s : S} {r : R}, (SetLike.Homogeneous.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Algebra.toModule.{u2, u3} S R _inst_1 _inst_2 _inst_3)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Algebra.toModule.{u2, u3} S R _inst_1 _inst_2 _inst_3)) A r) -> (SetLike.Homogeneous.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Algebra.toModule.{u2, u3} S R _inst_1 _inst_2 _inst_3)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Algebra.toModule.{u2, u3} S R _inst_1 _inst_2 _inst_3)) A (SMul.smul.{u2, u3} S R (SMulZeroClass.toHasSmul.{u2, u3} S R (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u2, u3} S R (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_1))))) (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u2, u3} S R (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_1)) (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))))) (Module.toMulActionWithZero.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Algebra.toModule.{u2, u3} S R _inst_1 _inst_2 _inst_3))))) s r))
-but is expected to have type
-  forall {ι : Type.{u1}} {S : Type.{u3}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u2} R] [_inst_3 : Algebra.{u3, u2} S R _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Algebra.toModule.{u3, u2} S R _inst_1 _inst_2 _inst_3))} {s : S} {r : R}, (SetLike.Homogeneous.{u1, u2, u2} ι R (Submodule.{u3, u2} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Algebra.toModule.{u3, u2} S R _inst_1 _inst_2 _inst_3)) (Submodule.setLike.{u3, u2} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Algebra.toModule.{u3, u2} S R _inst_1 _inst_2 _inst_3)) A r) -> (SetLike.Homogeneous.{u1, u2, u2} ι R (Submodule.{u3, u2} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Algebra.toModule.{u3, u2} S R _inst_1 _inst_2 _inst_3)) (Submodule.setLike.{u3, u2} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Algebra.toModule.{u3, u2} S R _inst_1 _inst_2 _inst_3)) A (HSMul.hSMul.{u3, u2, u2} S R R (instHSMul.{u3, u2} S R (Algebra.toSMul.{u3, u2} S R _inst_1 _inst_2 _inst_3)) s r))
-Case conversion may be inaccurate. Consider using '#align set_like.is_homogeneous.smul SetLike.Homogeneous.smulₓ'. -/
 theorem SetLike.Homogeneous.smul [CommSemiring S] [Semiring R] [Algebra S R] {A : ι → Submodule S R}
     {s : S} {r : R} (hr : SetLike.Homogeneous A r) : SetLike.Homogeneous A (s • r) :=
   let ⟨i, hi⟩ := hr
Diff
@@ -251,11 +251,8 @@ theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
   simp only [mul_eq_dfinsupp_sum, Dfinsupp.sum_apply]
   iterate 2 rw [Dfinsupp.sum, AddSubmonoidClass.coe_finset_sum]; congr ; ext
   dsimp only; split_ifs
-  · subst h
-    rw [of_eq_same]
-    rfl
-  · rw [of_eq_of_ne _ _ _ _ h]
-    rfl
+  · subst h; rw [of_eq_same]; rfl
+  · rw [of_eq_of_ne _ _ _ _ h]; rfl
 #align direct_sum.coe_mul_apply_eq_dfinsupp_sum DirectSum.coe_mul_apply_eq_dfinsupp_sum
 
 /- warning: direct_sum.coe_of_mul_apply_aux -> DirectSum.coe_of_mul_apply_aux is a dubious translation:
@@ -268,8 +265,7 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
     rw [coe_mul_apply_eq_dfinsupp_sum]
     apply (Dfinsupp.sum_single_index _).trans
     swap
-    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]
-      exact Dfinsupp.sum_zero
+    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact Dfinsupp.sum_zero
     simp_rw [Dfinsupp.sum, H, Finset.sum_ite_eq']
     split_ifs
     rfl
@@ -285,8 +281,7 @@ theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i,
     rw [coe_mul_apply_eq_dfinsupp_sum, Dfinsupp.sum_comm]
     apply (Dfinsupp.sum_single_index _).trans
     swap
-    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]
-      exact Dfinsupp.sum_zero
+    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact Dfinsupp.sum_zero
     simp_rw [Dfinsupp.sum, H, Finset.sum_ite_eq']
     split_ifs
     rfl
@@ -326,8 +321,7 @@ theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι)
     rw [coe_mul_apply_eq_dfinsupp_sum]
     apply (Dfinsupp.sum_single_index _).trans
     swap
-    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]
-      exact Dfinsupp.sum_zero
+    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]; exact Dfinsupp.sum_zero
     · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
       exact h ((self_le_add_right i x).trans_eq H)
 #align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_le
@@ -341,8 +335,7 @@ theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι)
     rw [coe_mul_apply_eq_dfinsupp_sum, Dfinsupp.sum_comm]
     apply (Dfinsupp.sum_single_index _).trans
     swap
-    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]
-      exact Dfinsupp.sum_zero
+    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]; exact Dfinsupp.sum_zero
     · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
       exact h ((self_le_add_left i x).trans_eq H)
 #align direct_sum.coe_mul_of_apply_of_not_le DirectSum.coe_mul_of_apply_of_not_le
@@ -371,9 +364,7 @@ theorem coe_of_mul_apply_of_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h
 <too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply DirectSum.coe_mul_of_applyₓ'. -/
 theorem coe_mul_of_apply (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) [Decidable (i ≤ n)] :
-    ((r * of _ i r') n : R) = if i ≤ n then r (n - i) * r' else 0 :=
-  by
-  split_ifs
+    ((r * of _ i r') n : R) = if i ≤ n then r (n - i) * r' else 0 := by split_ifs;
   exacts[coe_mul_of_apply_of_le _ _ _ n h, coe_mul_of_apply_of_not_le _ _ _ n h]
 #align direct_sum.coe_mul_of_apply DirectSum.coe_mul_of_apply
 
@@ -381,9 +372,7 @@ theorem coe_mul_of_apply (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) [Decidabl
 <too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply DirectSum.coe_of_mul_applyₓ'. -/
 theorem coe_of_mul_apply {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) [Decidable (i ≤ n)] :
-    ((of _ i r * r') n : R) = if i ≤ n then r * r' (n - i) else 0 :=
-  by
-  split_ifs
+    ((of _ i r * r') n : R) = if i ≤ n then r * r' (n - i) else 0 := by split_ifs;
   exacts[coe_of_mul_apply_of_le _ _ _ n h, coe_of_mul_apply_of_not_le _ _ _ n h]
 #align direct_sum.coe_of_mul_apply DirectSum.coe_of_mul_apply
 
@@ -426,12 +415,8 @@ theorem setLike.coe_galgebra_toFun [AddMonoid ι] [CommSemiring S] [Semiring R]
 instance nat_power_gradedMonoid [CommSemiring S] [Semiring R] [Algebra S R] (p : Submodule S R) :
     SetLike.GradedMonoid fun i : ℕ => p ^ i
     where
-  one_mem := by
-    rw [← one_le, pow_zero]
-    exact le_rfl
-  mul_mem i j p q hp hq := by
-    rw [pow_add]
-    exact Submodule.mul_mem_mul hp hq
+  one_mem := by rw [← one_le, pow_zero]; exact le_rfl
+  mul_mem i j p q hp hq := by rw [pow_add]; exact Submodule.mul_mem_mul hp hq
 #align submodule.nat_power_graded_monoid Submodule.nat_power_gradedMonoid
 -/
 
Diff
@@ -218,10 +218,7 @@ def coeRingHom [AddMonoid ι] [SetLike.GradedMonoid A] : (⨁ i, A i) →+* R :=
 -/
 
 /- warning: direct_sum.coe_ring_hom_of -> DirectSum.coeRingHom_of is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 A] (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)), Eq.{succ u3} R (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (RingHom.{max u1 u3, u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (fun (_x : RingHom.{max u1 u3, u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u3} R _inst_2)) => (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) -> R) (RingHom.hasCoeToFun.{max u1 u3, u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (DirectSum.coeRingHom.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 A _inst_5 _inst_6) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) x)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) x)
-but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 A] (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) => R) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (a : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) a) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) x)) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) => R) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2) (RingHom.instRingHomClassRingHom.{max u3 u2, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DirectSum.coeRingHom.{u3, u1, u2} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 A _inst_5 _inst_6) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) x)) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_ring_hom_of DirectSum.coeRingHom_ofₓ'. -/
 /-- The canonical ring isomorphism between `⨁ i, A i` and `R`-/
 @[simp]
@@ -231,10 +228,7 @@ theorem coeRingHom_of [AddMonoid ι] [SetLike.GradedMonoid A] (i : ι) (x : A i)
 #align direct_sum.coe_ring_hom_of DirectSum.coeRingHom_of
 
 /- warning: direct_sum.coe_mul_apply -> DirectSum.coe_mul_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 A] [_inst_7 : forall (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)), Decidable (Ne.{succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) x (OfNat.ofNat.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) 0 (OfNat.mk.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) 0 (Zero.zero.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (ZeroMemClass.zero.{u2, u3} σ R _inst_3 (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))))) (AddSubmonoidClass.to_zeroMemClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3 _inst_4) (A i))))))] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6)))))) r r') n)) (Finset.sum.{u3, u1} R (Prod.{u1, u1} ι ι) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Finset.filter.{u1} (Prod.{u1, u1} ι ι) (fun (ij : Prod.{u1, u1} ι ι) => Eq.{succ u1} ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5))) (Prod.fst.{u1, u1} ι ι ij) (Prod.snd.{u1, u1} ι ι ij)) n) (fun (a : Prod.{u1, u1} ι ι) => _inst_1 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5))) (Prod.fst.{u1, u1} ι ι a) (Prod.snd.{u1, u1} ι ι a)) n) (Finset.product.{u1, u1} ι ι (Dfinsupp.support.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)))) (fun (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) => _inst_7 i x) r) (Dfinsupp.support.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)))) (fun (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) => _inst_7 i x) r'))) (fun (ij : Prod.{u1, u1} ι ι) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.fst.{u1, u1} ι ι ij))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.fst.{u1, u1} ι ι ij))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.fst.{u1, u1} ι ι ij))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.fst.{u1, u1} ι ι ij))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (Prod.fst.{u1, u1} ι ι ij))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r (Prod.fst.{u1, u1} ι ι ij))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.snd.{u1, u1} ι ι ij))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.snd.{u1, u1} ι ι ij))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.snd.{u1, u1} ι ι ij))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.snd.{u1, u1} ι ι ij))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (Prod.snd.{u1, u1} ι ι ij))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r' (Prod.snd.{u1, u1} ι ι ij)))))
-but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 A] [_inst_7 : forall (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))), Decidable (Ne.{succ u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) x (OfNat.ofNat.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) 0 (Zero.toOfNat0.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (ZeroMemClass.zero.{u1, u2} σ R _inst_3 (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddSubmonoidClass.toZeroMemClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3 _inst_4) (A i)))))] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (r' : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6))))) r r') n)) (Finset.sum.{u2, u3} R (Prod.{u3, u3} ι ι) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Finset.filter.{u3} (Prod.{u3, u3} ι ι) (fun (ij : Prod.{u3, u3} ι ι) => Eq.{succ u3} ι (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5))) (Prod.fst.{u3, u3} ι ι ij) (Prod.snd.{u3, u3} ι ι ij)) n) (fun (a : Prod.{u3, u3} ι ι) => _inst_1 (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5))) (Prod.fst.{u3, u3} ι ι a) (Prod.snd.{u3, u3} ι ι a)) n) (Finset.product.{u3, u3} ι ι (Dfinsupp.support.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => _inst_7 i x) r) (Dfinsupp.support.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => _inst_7 i x) r'))) (fun (ij : Prod.{u3, u3} ι ι) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A (Prod.fst.{u3, u3} ι ι ij)))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r (Prod.fst.{u3, u3} ι ι ij))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A (Prod.snd.{u3, u3} ι ι ij)))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r' (Prod.snd.{u3, u3} ι ι ij)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_apply DirectSum.coe_mul_applyₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem coe_mul_apply [AddMonoid ι] [SetLike.GradedMonoid A]
@@ -248,10 +242,7 @@ theorem coe_mul_apply [AddMonoid ι] [SetLike.GradedMonoid A]
 #align direct_sum.coe_mul_apply DirectSum.coe_mul_apply
 
 /- warning: direct_sum.coe_mul_apply_eq_dfinsupp_sum -> DirectSum.coe_mul_apply_eq_dfinsupp_sum is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 A] [_inst_7 : forall (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)), Decidable (Ne.{succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) x (OfNat.ofNat.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) 0 (OfNat.mk.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) 0 (Zero.zero.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (ZeroMemClass.zero.{u2, u3} σ R _inst_3 (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))))) (AddSubmonoidClass.to_zeroMemClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3 _inst_4) (A i))))))] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6)))))) r r') n)) (Dfinsupp.sum.{u1, u3, u3} ι R (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)))) (fun (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) => _inst_7 i x) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) r (fun (i : ι) (ri : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) => Dfinsupp.sum.{u1, u3, u3} ι R (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)))) (fun (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) => _inst_7 i x) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) r' (fun (j : ι) (rj : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) => ite.{succ u3} R (Eq.{succ u1} ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5))) i j) n) (_inst_1 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5))) i j) n) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) R (HasLiftT.mk.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) R (CoeTCₓ.coe.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) R (coeBase.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) ri) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) j) R (HasLiftT.mk.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) j) R (CoeTCₓ.coe.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) j) R (coeBase.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) j) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A j)))))) rj)) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))))))
-but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 A] [_inst_7 : forall (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))), Decidable (Ne.{succ u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) x (OfNat.ofNat.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) 0 (Zero.toOfNat0.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (ZeroMemClass.zero.{u1, u2} σ R _inst_3 (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddSubmonoidClass.toZeroMemClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3 _inst_4) (A i)))))] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (r' : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6))))) r r') n)) (Dfinsupp.sum.{u3, u2, u2} ι R (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => _inst_7 i x) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) r (fun (i : ι) (ri : (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) => Dfinsupp.sum.{u3, u2, u2} ι R (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => _inst_7 i x) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) r' (fun (j : ι) (rj : (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) j) => ite.{succ u2} R (Eq.{succ u3} ι (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5))) i j) n) (_inst_1 (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5))) i j) n) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) ri) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A j))) rj)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_apply_eq_dfinsupp_sum DirectSum.coe_mul_apply_eq_dfinsupp_sumₓ'. -/
 theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
     [∀ (i : ι) (x : A i), Decidable (x ≠ 0)] (r r' : ⨁ i, A i) (n : ι) :
@@ -268,10 +259,7 @@ theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
 #align direct_sum.coe_mul_apply_eq_dfinsupp_sum DirectSum.coe_mul_apply_eq_dfinsupp_sum
 
 /- warning: direct_sum.coe_of_mul_apply_aux -> DirectSum.coe_of_mul_apply_aux is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 A] {i : ι} (r : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) {j : ι} {n : ι}, (forall (x : ι), Iff (Eq.{succ u1} ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5))) i x) n) (Eq.{succ u1} ι x j)) -> (Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6)))))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A j)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r' j))))
-but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 A] {i : ι} (r : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (r' : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) {j : ι} {n : ι}, (forall (x : ι), Iff (Eq.{succ u3} ι (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5))) i x) n) (Eq.{succ u3} ι x j)) -> (Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) r) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A j))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r' j))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_auxₓ'. -/
 theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
     (r' : ⨁ i, A i) {j n : ι} (H : ∀ x : ι, i + x = n ↔ x = j) :
@@ -289,10 +277,7 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
 #align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_aux
 
 /- warning: direct_sum.coe_mul_of_apply_aux -> DirectSum.coe_mul_of_apply_aux is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 A] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) {j : ι} {n : ι}, (forall (x : ι), Iff (Eq.{succ u1} ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5))) x i) n) (Eq.{succ u1} ι x j)) -> (Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6)))))) r (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A j)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r j)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r')))
-but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 A] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) {j : ι} {n : ι}, (forall (x : ι), Iff (Eq.{succ u3} ι (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5))) x i) n) (Eq.{succ u3} ι x j)) -> (Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r') (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6))))) r (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A j))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r j)) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) r')))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_auxₓ'. -/
 theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i) {i : ι}
     (r' : A i) {j n : ι} (H : ∀ x : ι, x + i = n ↔ x = j) : ((r * of _ i r') n : R) = r j * r' := by
@@ -309,10 +294,7 @@ theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i,
 #align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_aux
 
 /- warning: direct_sum.coe_of_mul_apply_add -> DirectSum.coe_of_mul_apply_add is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddLeftCancelMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) A] {i : ι} (r : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (j : ι), Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) (fun (i : ι) => A i) _inst_6)))))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A j)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r' j)))
-but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddLeftCancelMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) A] {i : ι} (r : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (r' : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (j : ι), Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) i j)))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) (fun (i : ι) => A i) _inst_6))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) i j))) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) r) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A j))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r' j)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply_add DirectSum.coe_of_mul_apply_addₓ'. -/
 theorem coe_of_mul_apply_add [AddLeftCancelMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
     (r' : ⨁ i, A i) (j : ι) : ((of _ i r * r') (i + j) : R) = r * r' j :=
@@ -320,10 +302,7 @@ theorem coe_of_mul_apply_add [AddLeftCancelMonoid ι] [SetLike.GradedMonoid A] {
 #align direct_sum.coe_of_mul_apply_add DirectSum.coe_of_mul_apply_add
 
 /- warning: direct_sum.coe_mul_of_apply_add -> DirectSum.coe_mul_of_apply_add is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddRightCancelMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) A] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (j : ι), Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) j i))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) j i))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) j i))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) j i))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) j i))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) (fun (i : ι) => A i) _inst_6)))))) r (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) j i))) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A j)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r j)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r'))
-but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddRightCancelMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) A] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (j : ι), Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) j i)))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r') (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) (fun (i : ι) => A i) _inst_6))))) r (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) j i))) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A j))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r j)) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) r'))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply_add DirectSum.coe_mul_of_apply_addₓ'. -/
 theorem coe_mul_of_apply_add [AddRightCancelMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i)
     {i : ι} (r' : A i) (j : ι) : ((r * of _ i r') (j + i) : R) = r j * r' :=
@@ -339,10 +318,7 @@ variable [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
 variable [CanonicallyOrderedAddMonoid ι] [SetLike.GradedMonoid A]
 
 /- warning: direct_sum.coe_of_mul_apply_of_not_le -> DirectSum.coe_of_mul_apply_of_not_le is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] {i : ι} (r : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), (Not (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n)) -> (Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6)))))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] {i : ι} (r : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), (Not (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n)) -> (Eq.{succ u3} R (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (instHMul.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u1 u3, u3, max u1 u3} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u1 u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_leₓ'. -/
 theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : ¬i ≤ n) :
     ((of _ i r * r') n : R) = 0 := by
@@ -357,10 +333,7 @@ theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι)
 #align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_le
 
 /- warning: direct_sum.coe_mul_of_apply_of_not_le -> DirectSum.coe_mul_of_apply_of_not_le is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (n : ι), (Not (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n)) -> (Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6)))))) r (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))))
-but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))) A] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (n : ι), (Not (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) i n)) -> (Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r') (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))) (fun (i : ι) => A i) _inst_6))))) r (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply_of_not_le DirectSum.coe_mul_of_apply_of_not_leₓ'. -/
 theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : ¬i ≤ n) :
     ((r * of _ i r') n : R) = 0 := by
@@ -377,10 +350,7 @@ theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι)
 variable [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (· + ·) (· ≤ ·)]
 
 /- warning: direct_sum.coe_mul_of_apply_of_le -> DirectSum.coe_mul_of_apply_of_le is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))))] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (n : ι), (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n) -> (Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6)))))) r (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r')))
-but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))) A] [_inst_7 : Sub.{u3} ι] [_inst_8 : OrderedSub.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u3, u3} ι ι (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2752 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2754 : ι) => HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2752 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2754) (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2767 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2769 : ι) => LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2767 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2769)] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (n : ι), (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) i n) -> (Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r') (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))) (fun (i : ι) => A i) _inst_6))))) r (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A (HSub.hSub.{u3, u3, u3} ι ι ι (instHSub.{u3} ι _inst_7) n i)))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r (HSub.hSub.{u3, u3, u3} ι ι ι (instHSub.{u3} ι _inst_7) n i))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) r')))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply_of_le DirectSum.coe_mul_of_apply_of_leₓ'. -/
 /- The following two lemmas only require the same hypotheses as `eq_tsub_iff_add_eq_of_le`, but we
   state them for `canonically_ordered_add_monoid` + the above three typeclasses for convenience. -/
@@ -390,10 +360,7 @@ theorem coe_mul_of_apply_of_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h
 #align direct_sum.coe_mul_of_apply_of_le DirectSum.coe_mul_of_apply_of_le
 
 /- warning: direct_sum.coe_of_mul_apply_of_le -> DirectSum.coe_of_mul_apply_of_le is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))))] {i : ι} (r : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n) -> (Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6)))))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r' (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2899 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2901 : ι) => HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2899 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2901) (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2914 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2916 : ι) => LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2914 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2916)] {i : ι} (r : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n) -> (Eq.{succ u3} R (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (instHMul.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u1 u3, u3, max u1 u3} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u1 u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A i))) r) (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r' (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply_of_le DirectSum.coe_of_mul_apply_of_leₓ'. -/
 theorem coe_of_mul_apply_of_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : i ≤ n) :
     ((of _ i r * r') n : R) = r * r' (n - i) :=
@@ -401,10 +368,7 @@ theorem coe_of_mul_apply_of_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h
 #align direct_sum.coe_of_mul_apply_of_le DirectSum.coe_of_mul_apply_of_le
 
 /- warning: direct_sum.coe_mul_of_apply -> DirectSum.coe_mul_of_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))))] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (n : ι) [_inst_10 : Decidable (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n)], Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6)))))) r (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (ite.{succ u3} R (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n) _inst_10 (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r')) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))))
-but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))) A] [_inst_7 : Sub.{u3} ι] [_inst_8 : OrderedSub.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u3, u3} ι ι (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3071 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3073 : ι) => HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3071 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3073) (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3086 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3088 : ι) => LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3086 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3088)] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (n : ι) [_inst_10 : Decidable (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) i n)], Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r') (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))) (fun (i : ι) => A i) _inst_6))))) r (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (ite.{succ u2} R (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) i n) _inst_10 (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A (HSub.hSub.{u3, u3, u3} ι ι ι (instHSub.{u3} ι _inst_7) n i)))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r (HSub.hSub.{u3, u3, u3} ι ι ι (instHSub.{u3} ι _inst_7) n i))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) r')) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply DirectSum.coe_mul_of_applyₓ'. -/
 theorem coe_mul_of_apply (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) [Decidable (i ≤ n)] :
     ((r * of _ i r') n : R) = if i ≤ n then r (n - i) * r' else 0 :=
@@ -414,10 +378,7 @@ theorem coe_mul_of_apply (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) [Decidabl
 #align direct_sum.coe_mul_of_apply DirectSum.coe_mul_of_apply
 
 /- warning: direct_sum.coe_of_mul_apply -> DirectSum.coe_of_mul_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))))] {i : ι} (r : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι) [_inst_10 : Decidable (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n)], Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6)))))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (ite.{succ u3} R (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n) _inst_10 (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r' (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3248 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3250 : ι) => HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3248 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3250) (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3263 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3265 : ι) => LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3263 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3265)] {i : ι} (r : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι) [_inst_10 : Decidable (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n)], Eq.{succ u3} R (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (instHMul.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u1 u3, u3, max u1 u3} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u1 u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (ite.{succ u3} R (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n) _inst_10 (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A i))) r) (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r' (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply DirectSum.coe_of_mul_applyₓ'. -/
 theorem coe_of_mul_apply {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) [Decidable (i ≤ n)] :
     ((of _ i r * r') n : R) = if i ≤ n then r * r' (n - i) else 0 :=
@@ -451,10 +412,7 @@ instance galgebra [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R] (A
 -/
 
 /- warning: submodule.set_like.coe_galgebra_to_fun -> Submodule.setLike.coe_galgebra_toFun is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u3} R] [_inst_5 : Algebra.{u2, u3} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_4)) _inst_2 A] (s : S), Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) R (HasLiftT.mk.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) R (CoeTCₓ.coe.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) R (coeBase.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))))))))))) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} S ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) (fun (_x : AddMonoidHom.{u2, u3} S ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) => S -> ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))))))) (AddMonoidHom.hasCoeToFun.{u2, u3} S ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) (DirectSum.GAlgebra.toFun.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) s)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u3} R _inst_4)) (fun (_x : RingHom.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u3} R _inst_4)) => S -> R) (RingHom.hasCoeToFun.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u3} R _inst_4)) (algebraMap.{u2, u3} S R _inst_3 _inst_4 _inst_5) s)
-but is expected to have type
-  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u1} R] [_inst_5 : Algebra.{u2, u1} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_4)) _inst_2 A] (s : S), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) s) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : S) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddZeroClass.toAdd.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))))))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))))) (AddMonoidHom.addMonoidHomClass.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))))) (DirectSum.GAlgebra.toFun.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) s)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S R (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4))))) (algebraMap.{u2, u1} S R _inst_3 _inst_4 _inst_5) s)
+<too large>
 Case conversion may be inaccurate. Consider using '#align submodule.set_like.coe_galgebra_to_fun Submodule.setLike.coe_galgebra_toFunₓ'. -/
 @[simp]
 theorem setLike.coe_galgebra_toFun [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
@@ -488,10 +446,7 @@ def DirectSum.coeAlgHom [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S
 -/
 
 /- warning: submodule.supr_eq_to_submodule_range -> Submodule.iSup_eq_toSubmodule_range is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u3} R] [_inst_5 : Algebra.{u2, u3} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_4)) _inst_2 A], Eq.{succ u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (iSup.{u3, succ u1} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)))) ι (fun (i : ι) => A i)) (coeFn.{succ u3, succ u3} (OrderEmbedding.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Preorder.toHasLe.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (SetLike.partialOrder.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.setLike.{u2, u3} S R _inst_3 _inst_4 _inst_5)))) (Preorder.toHasLe.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))))))) (fun (_x : RelEmbedding.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (LE.le.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Preorder.toHasLe.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (SetLike.partialOrder.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.setLike.{u2, u3} S R _inst_3 _inst_4 _inst_5))))) (LE.le.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Preorder.toHasLe.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)))))))) => (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (RelEmbedding.hasCoeToFun.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (LE.le.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Preorder.toHasLe.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (SetLike.partialOrder.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.setLike.{u2, u3} S R _inst_3 _inst_4 _inst_5))))) (LE.le.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Preorder.toHasLe.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)))))))) (Subalgebra.toSubmodule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (AlgHom.range.{u2, max u1 u3, u3} S (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) R _inst_3 (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6)) (DirectSum.algebra.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_4 _inst_5 (DirectSum.coeAlgHom.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6)))
-but is expected to have type
-  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u1} R] [_inst_5 : Algebra.{u2, u1} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_4)) _inst_2 A], Eq.{succ u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (iSup.{u1, succ u3} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) ι (fun (i : ι) => A i)) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))))))) (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (fun (_x : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))))))) (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => LE.le.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) => LE.le.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => LE.le.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) => LE.le.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (AlgHom.range.{u2, max u3 u1, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_4 _inst_5 (DirectSum.coeAlgHom.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align submodule.supr_eq_to_submodule_range Submodule.iSup_eq_toSubmodule_rangeₓ'. -/
 /-- The supremum of submodules that form a graded monoid is a subalgebra, and equal to the range of
 `direct_sum.coe_alg_hom`. -/
@@ -502,10 +457,7 @@ theorem Submodule.iSup_eq_toSubmodule_range [AddMonoid ι] [CommSemiring S] [Sem
 #align submodule.supr_eq_to_submodule_range Submodule.iSup_eq_toSubmodule_range
 
 /- warning: direct_sum.coe_alg_hom_of -> DirectSum.coeAlgHom_of is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u3} R] [_inst_5 : Algebra.{u2, u3} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_4)) _inst_2 A] (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)), Eq.{succ u3} R (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (AlgHom.{u2, max u1 u3, u3} S (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) R _inst_3 (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.algebra.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (fun (_x : AlgHom.{u2, max u1 u3, u3} S (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) R _inst_3 (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.algebra.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) => (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) -> R) ([anonymous].{u2, max u1 u3, u3} S (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) R _inst_3 (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.algebra.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (DirectSum.coeAlgHom.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i) x)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) x (A i)))))) x)
-but is expected to have type
-  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u1} R] [_inst_5 : Algebra.{u2, u1} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_4)) _inst_2 A] (i : ι) (x : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) => R) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) a) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) i) x)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (fun (_x : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) => R) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R (SMulZeroClass.toSMul.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))) (Module.toDistribMulAction.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))) (Algebra.toModule.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6))))))) (SMulZeroClass.toSMul.{u2, u1} S R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))))) (DistribSMul.toSMulZeroClass.{u2, u1} S R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))))) (DistribMulAction.toDistribSMul.{u2, u1} S R (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)))) (Module.toDistribMulAction.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))) (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)))) (Module.toDistribMulAction.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))) (Algebra.toModule.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)))) (Module.toDistribMulAction.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u2, max u3 u1, u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)) (Module.toDistribMulAction.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))) (Algebra.toModule.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)))) (Module.toDistribMulAction.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u1, u1, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5 (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (AlgHom.algHomClass.{u2, max u3 u1, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5))))) (DirectSum.coeAlgHom.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (_x : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _x) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) i) x)) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (A i))) x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_alg_hom_of DirectSum.coeAlgHom_ofₓ'. -/
 @[simp]
 theorem DirectSum.coeAlgHom_of [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
Diff
@@ -505,7 +505,7 @@ theorem Submodule.iSup_eq_toSubmodule_range [AddMonoid ι] [CommSemiring S] [Sem
 lean 3 declaration is
   forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u3} R] [_inst_5 : Algebra.{u2, u3} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_4)) _inst_2 A] (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)), Eq.{succ u3} R (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (AlgHom.{u2, max u1 u3, u3} S (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) R _inst_3 (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.algebra.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (fun (_x : AlgHom.{u2, max u1 u3, u3} S (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) R _inst_3 (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.algebra.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) => (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) -> R) ([anonymous].{u2, max u1 u3, u3} S (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) R _inst_3 (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.algebra.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (DirectSum.coeAlgHom.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i) x)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) x (A i)))))) x)
 but is expected to have type
-  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u1} R] [_inst_5 : Algebra.{u2, u1} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_4)) _inst_2 A] (i : ι) (x : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) => R) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) a) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) i) x)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (fun (_x : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) => R) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R (SMulZeroClass.toSMul.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))) (Module.toDistribMulAction.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))) (Algebra.toModule.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6))))))) (SMulZeroClass.toSMul.{u2, u1} S R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))))) (DistribSMul.toSMulZeroClass.{u2, u1} S R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))))) (DistribMulAction.toDistribSMul.{u2, u1} S R (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)))) (Module.toDistribMulAction.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))) (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)))) (Module.toDistribMulAction.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))) (Algebra.toModule.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)))) (Module.toDistribMulAction.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u2, max u3 u1, u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)) (Module.toDistribMulAction.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))) (Algebra.toModule.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)))) (Module.toDistribMulAction.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u1, u1, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5 (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (AlgHom.algHomClass.{u2, max u3 u1, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5))))) (DirectSum.coeAlgHom.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (_x : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _x) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) i) x)) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (A i))) x)
+  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u1} R] [_inst_5 : Algebra.{u2, u1} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_4)) _inst_2 A] (i : ι) (x : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) => R) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) a) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) i) x)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (fun (_x : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) => R) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R (SMulZeroClass.toSMul.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))) (Module.toDistribMulAction.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))) (Algebra.toModule.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6))))))) (SMulZeroClass.toSMul.{u2, u1} S R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))))) (DistribSMul.toSMulZeroClass.{u2, u1} S R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))))) (DistribMulAction.toDistribSMul.{u2, u1} S R (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)))) (Module.toDistribMulAction.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))) (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)))) (Module.toDistribMulAction.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))) (Algebra.toModule.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)))) (Module.toDistribMulAction.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u2, max u3 u1, u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)) (Module.toDistribMulAction.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))) (Algebra.toModule.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)))) (Module.toDistribMulAction.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u1, u1, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5 (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (AlgHom.algHomClass.{u2, max u3 u1, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5))))) (DirectSum.coeAlgHom.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (_x : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _x) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) i) x)) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (A i))) x)
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_alg_hom_of DirectSum.coeAlgHom_ofₓ'. -/
 @[simp]
 theorem DirectSum.coeAlgHom_of [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Eric Wieser, Kevin Buzzard, Jujian Zhang
 
 ! This file was ported from Lean 3 source module algebra.direct_sum.internal
-! leanprover-community/mathlib commit 9936c3dfc04e5876f4368aeb2e60f8d8358d095a
+! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.Algebra.DirectSum.Algebra
 /-!
 # Internally graded rings and algebras
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This module provides `gsemiring` and `gcomm_semiring` instances for a collection of subobjects `A`
 when a `set_like.graded_monoid` instance is available:
 
Diff
@@ -68,7 +68,7 @@ instance AddCommGroup.ofSubgroupOnRing [Ring R] [SetLike σ R] [AddSubgroupClass
 lean 3 declaration is
   forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : Zero.{u1} ι] [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Semiring.{u3} R] [_inst_4 : Algebra.{u2, u3} S R _inst_2 _inst_3] (A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4))) [_inst_5 : SetLike.GradedOne.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4)) (AddMonoidWithOne.toOne.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) _inst_1 A] (s : S), Membership.Mem.{u3, u3} R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (fun (_x : RingHom.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} R _inst_3)) => S -> R) (RingHom.hasCoeToFun.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (algebraMap.{u2, u3} S R _inst_2 _inst_3 _inst_4) s) (A (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι _inst_1))))
 but is expected to have type
-  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : Zero.{u3} ι] [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Semiring.{u1} R] [_inst_4 : Algebra.{u2, u1} S R _inst_2 _inst_3] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4))) [_inst_5 : SetLike.GradedOne.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) (Semiring.toOne.{u1} R _inst_3) _inst_1 A] (s : S), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) s) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S R (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3))))) (algebraMap.{u2, u1} S R _inst_2 _inst_3 _inst_4) s) (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι _inst_1)))
+  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : Zero.{u3} ι] [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Semiring.{u1} R] [_inst_4 : Algebra.{u2, u1} S R _inst_2 _inst_3] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4))) [_inst_5 : SetLike.GradedOne.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) (Semiring.toOne.{u1} R _inst_3) _inst_1 A] (s : S), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) s) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S R (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3))))) (algebraMap.{u2, u1} S R _inst_2 _inst_3 _inst_4) s) (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι _inst_1)))
 Case conversion may be inaccurate. Consider using '#align set_like.algebra_map_mem_graded SetLike.algebraMap_mem_gradedₓ'. -/
 theorem SetLike.algebraMap_mem_graded [Zero ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedOne A] (s : S) : algebraMap S R s ∈ A 0 :=
@@ -218,7 +218,7 @@ def coeRingHom [AddMonoid ι] [SetLike.GradedMonoid A] : (⨁ i, A i) →+* R :=
 lean 3 declaration is
   forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 A] (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)), Eq.{succ u3} R (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (RingHom.{max u1 u3, u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (fun (_x : RingHom.{max u1 u3, u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u3} R _inst_2)) => (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) -> R) (RingHom.hasCoeToFun.{max u1 u3, u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (DirectSum.coeRingHom.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 A _inst_5 _inst_6) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) x)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) x)
 but is expected to have type
-  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 A] (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) => R) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (a : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) a) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) x)) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) => R) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2) (RingHom.instRingHomClassRingHom.{max u3 u2, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DirectSum.coeRingHom.{u3, u1, u2} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 A _inst_5 _inst_6) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) x)) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) x)
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 A] (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) => R) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (a : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) a) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) x)) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) => R) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2) (RingHom.instRingHomClassRingHom.{max u3 u2, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DirectSum.coeRingHom.{u3, u1, u2} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 A _inst_5 _inst_6) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) x)) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) x)
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_ring_hom_of DirectSum.coeRingHom_ofₓ'. -/
 /-- The canonical ring isomorphism between `⨁ i, A i` and `R`-/
 @[simp]
@@ -451,7 +451,7 @@ instance galgebra [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R] (A
 lean 3 declaration is
   forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u3} R] [_inst_5 : Algebra.{u2, u3} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_4)) _inst_2 A] (s : S), Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) R (HasLiftT.mk.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) R (CoeTCₓ.coe.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) R (coeBase.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))))))))))) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} S ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) (fun (_x : AddMonoidHom.{u2, u3} S ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) => S -> ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))))))) (AddMonoidHom.hasCoeToFun.{u2, u3} S ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) (DirectSum.GAlgebra.toFun.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) s)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u3} R _inst_4)) (fun (_x : RingHom.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u3} R _inst_4)) => S -> R) (RingHom.hasCoeToFun.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u3} R _inst_4)) (algebraMap.{u2, u3} S R _inst_3 _inst_4 _inst_5) s)
 but is expected to have type
-  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u1} R] [_inst_5 : Algebra.{u2, u1} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_4)) _inst_2 A] (s : S), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) s) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : S) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddZeroClass.toAdd.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))))))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))))) (AddMonoidHom.addMonoidHomClass.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))))) (DirectSum.GAlgebra.toFun.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) s)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S R (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4))))) (algebraMap.{u2, u1} S R _inst_3 _inst_4 _inst_5) s)
+  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u1} R] [_inst_5 : Algebra.{u2, u1} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_4)) _inst_2 A] (s : S), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) s) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : S) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddZeroClass.toAdd.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))))))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))))) (AddMonoidHom.addMonoidHomClass.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))))) (DirectSum.GAlgebra.toFun.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) s)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S R (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4))))) (algebraMap.{u2, u1} S R _inst_3 _inst_4 _inst_5) s)
 Case conversion may be inaccurate. Consider using '#align submodule.set_like.coe_galgebra_to_fun Submodule.setLike.coe_galgebra_toFunₓ'. -/
 @[simp]
 theorem setLike.coe_galgebra_toFun [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
@@ -488,7 +488,7 @@ def DirectSum.coeAlgHom [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S
 lean 3 declaration is
   forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u3} R] [_inst_5 : Algebra.{u2, u3} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_4)) _inst_2 A], Eq.{succ u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (iSup.{u3, succ u1} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)))) ι (fun (i : ι) => A i)) (coeFn.{succ u3, succ u3} (OrderEmbedding.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Preorder.toHasLe.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (SetLike.partialOrder.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.setLike.{u2, u3} S R _inst_3 _inst_4 _inst_5)))) (Preorder.toHasLe.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))))))) (fun (_x : RelEmbedding.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (LE.le.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Preorder.toHasLe.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (SetLike.partialOrder.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.setLike.{u2, u3} S R _inst_3 _inst_4 _inst_5))))) (LE.le.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Preorder.toHasLe.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)))))))) => (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (RelEmbedding.hasCoeToFun.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (LE.le.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Preorder.toHasLe.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (SetLike.partialOrder.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.setLike.{u2, u3} S R _inst_3 _inst_4 _inst_5))))) (LE.le.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Preorder.toHasLe.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)))))))) (Subalgebra.toSubmodule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (AlgHom.range.{u2, max u1 u3, u3} S (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) R _inst_3 (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6)) (DirectSum.algebra.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_4 _inst_5 (DirectSum.coeAlgHom.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6)))
 but is expected to have type
-  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u1} R] [_inst_5 : Algebra.{u2, u1} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_4)) _inst_2 A], Eq.{succ u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (iSup.{u1, succ u3} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) ι (fun (i : ι) => A i)) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))))))) (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (fun (_x : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))))))) (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => LE.le.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) => LE.le.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => LE.le.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) => LE.le.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (AlgHom.range.{u2, max u3 u1, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_4 _inst_5 (DirectSum.coeAlgHom.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6)))
+  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u1} R] [_inst_5 : Algebra.{u2, u1} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_4)) _inst_2 A], Eq.{succ u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (iSup.{u1, succ u3} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) ι (fun (i : ι) => A i)) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))))))) (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (fun (_x : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))))))) (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => LE.le.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) => LE.le.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => LE.le.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) => LE.le.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (AlgHom.range.{u2, max u3 u1, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_4 _inst_5 (DirectSum.coeAlgHom.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6)))
 Case conversion may be inaccurate. Consider using '#align submodule.supr_eq_to_submodule_range Submodule.iSup_eq_toSubmodule_rangeₓ'. -/
 /-- The supremum of submodules that form a graded monoid is a subalgebra, and equal to the range of
 `direct_sum.coe_alg_hom`. -/
Diff
@@ -48,14 +48,28 @@ open DirectSum BigOperators
 
 variable {ι : Type _} {σ S R : Type _}
 
+#print AddCommMonoid.ofSubmonoidOnSemiring /-
 instance AddCommMonoid.ofSubmonoidOnSemiring [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R]
     (A : ι → σ) : ∀ i, AddCommMonoid (A i) := fun i => by infer_instance
 #align add_comm_monoid.of_submonoid_on_semiring AddCommMonoid.ofSubmonoidOnSemiring
+-/
 
+/- warning: add_comm_group.of_subgroup_on_ring -> AddCommGroup.ofSubgroupOnRing is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : Ring.{u3} R] [_inst_2 : SetLike.{u2, u3} σ R] [_inst_3 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (AddCommGroupWithOne.toAddGroupWithOne.{u3} R (Ring.toAddCommGroupWithOne.{u3} R _inst_1)))) _inst_2] (A : ι -> σ) (i : ι), AddCommGroup.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_2) (A i))
+but is expected to have type
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : Ring.{u3} R] [_inst_2 : SetLike.{u2, u3} σ R] [_inst_3 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R _inst_1))) _inst_2] (A : ι -> σ) (i : ι), AddCommGroup.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_2) x (A i)))
+Case conversion may be inaccurate. Consider using '#align add_comm_group.of_subgroup_on_ring AddCommGroup.ofSubgroupOnRingₓ'. -/
 instance AddCommGroup.ofSubgroupOnRing [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ) :
     ∀ i, AddCommGroup (A i) := fun i => by infer_instance
 #align add_comm_group.of_subgroup_on_ring AddCommGroup.ofSubgroupOnRing
 
+/- warning: set_like.algebra_map_mem_graded -> SetLike.algebraMap_mem_graded is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : Zero.{u1} ι] [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Semiring.{u3} R] [_inst_4 : Algebra.{u2, u3} S R _inst_2 _inst_3] (A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4))) [_inst_5 : SetLike.GradedOne.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4)) (AddMonoidWithOne.toOne.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3)))) _inst_1 A] (s : S), Membership.Mem.{u3, u3} R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))) (Algebra.toModule.{u2, u3} S R _inst_2 _inst_3 _inst_4))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (fun (_x : RingHom.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} R _inst_3)) => S -> R) (RingHom.hasCoeToFun.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u3} R _inst_3)) (algebraMap.{u2, u3} S R _inst_2 _inst_3 _inst_4) s) (A (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι _inst_1))))
+but is expected to have type
+  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : Zero.{u3} ι] [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Semiring.{u1} R] [_inst_4 : Algebra.{u2, u1} S R _inst_2 _inst_3] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4))) [_inst_5 : SetLike.GradedOne.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) (Semiring.toOne.{u1} R _inst_3) _inst_1 A] (s : S), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) s) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (Algebra.toModule.{u2, u1} S R _inst_2 _inst_3 _inst_4))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S R (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3)) S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R _inst_3))))) (algebraMap.{u2, u1} S R _inst_2 _inst_3 _inst_4) s) (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι _inst_1)))
+Case conversion may be inaccurate. Consider using '#align set_like.algebra_map_mem_graded SetLike.algebraMap_mem_gradedₓ'. -/
 theorem SetLike.algebraMap_mem_graded [Zero ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedOne A] (s : S) : algebraMap S R s ∈ A 0 :=
   by
@@ -63,6 +77,12 @@ theorem SetLike.algebraMap_mem_graded [Zero ι] [CommSemiring S] [Semiring R] [A
   exact (A 0).smul_mem s <| SetLike.one_mem_graded _
 #align set_like.algebra_map_mem_graded SetLike.algebraMap_mem_graded
 
+/- warning: set_like.nat_cast_mem_graded -> SetLike.nat_cast_mem_graded is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : Zero.{u1} ι] [_inst_2 : AddMonoidWithOne.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R _inst_2)) _inst_3] (A : ι -> σ) [_inst_5 : SetLike.GradedOne.{u1, u3, u2} ι R σ _inst_3 (AddMonoidWithOne.toOne.{u3} R _inst_2) _inst_1 A] (n : Nat), Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) ((fun (a : Type) (b : Type.{u3}) [self : HasLiftT.{1, succ u3} a b] => self.0) Nat R (HasLiftT.mk.{1, succ u3} Nat R (CoeTCₓ.coe.{1, succ u3} Nat R (Nat.castCoe.{u3} R (AddMonoidWithOne.toNatCast.{u3} R _inst_2)))) n) (A (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι _inst_1))))
+but is expected to have type
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : Zero.{u3} ι] [_inst_2 : AddMonoidWithOne.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R _inst_2)) _inst_3] (A : ι -> σ) [_inst_5 : SetLike.GradedOne.{u3, u2, u1} ι R σ _inst_3 (AddMonoidWithOne.toOne.{u2} R _inst_2) _inst_1 A] (n : Nat), Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) (Nat.cast.{u2} R (AddMonoidWithOne.toNatCast.{u2} R _inst_2) n) (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι _inst_1)))
+Case conversion may be inaccurate. Consider using '#align set_like.nat_cast_mem_graded SetLike.nat_cast_mem_gradedₓ'. -/
 theorem SetLike.nat_cast_mem_graded [Zero ι] [AddMonoidWithOne R] [SetLike σ R]
     [AddSubmonoidClass σ R] (A : ι → σ) [SetLike.GradedOne A] (n : ℕ) : (n : R) ∈ A 0 :=
   by
@@ -73,6 +93,12 @@ theorem SetLike.nat_cast_mem_graded [Zero ι] [AddMonoidWithOne R] [SetLike σ R
     exact add_mem n_ih (SetLike.one_mem_graded _)
 #align set_like.nat_cast_mem_graded SetLike.nat_cast_mem_graded
 
+/- warning: set_like.int_cast_mem_graded -> SetLike.int_cast_mem_graded is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : Zero.{u1} ι] [_inst_2 : AddGroupWithOne.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R _inst_2)) _inst_3] (A : ι -> σ) [_inst_5 : SetLike.GradedOne.{u1, u3, u2} ι R σ _inst_3 (AddMonoidWithOne.toOne.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R _inst_2)) _inst_1 A] (z : Int), Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) ((fun (a : Type) (b : Type.{u3}) [self : HasLiftT.{1, succ u3} a b] => self.0) Int R (HasLiftT.mk.{1, succ u3} Int R (CoeTCₓ.coe.{1, succ u3} Int R (Int.castCoe.{u3} R (AddGroupWithOne.toHasIntCast.{u3} R _inst_2)))) z) (A (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι _inst_1))))
+but is expected to have type
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : Zero.{u3} ι] [_inst_2 : AddGroupWithOne.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubgroupClass.{u1, u2} σ R (AddGroup.toSubNegMonoid.{u2} R (AddGroupWithOne.toAddGroup.{u2} R _inst_2)) _inst_3] (A : ι -> σ) [_inst_5 : SetLike.GradedOne.{u3, u2, u1} ι R σ _inst_3 (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R _inst_2)) _inst_1 A] (z : Int), Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) (Int.cast.{u2} R (AddGroupWithOne.toIntCast.{u2} R _inst_2) z) (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι _inst_1)))
+Case conversion may be inaccurate. Consider using '#align set_like.int_cast_mem_graded SetLike.int_cast_mem_gradedₓ'. -/
 theorem SetLike.int_cast_mem_graded [Zero ι] [AddGroupWithOne R] [SetLike σ R]
     [AddSubgroupClass σ R] (A : ι → σ) [SetLike.GradedOne A] (z : ℤ) : (z : R) ∈ A 0 :=
   by
@@ -92,6 +118,12 @@ variable [DecidableEq ι]
 
 namespace SetLike
 
+/- warning: set_like.gnon_unital_non_assoc_semiring -> SetLike.gnonUnitalNonAssocSemiring is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Add.{u1} ι] [_inst_3 : NonUnitalNonAssocSemiring.{u3} R] [_inst_4 : SetLike.{u2, u3} σ R] [_inst_5 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R _inst_3))) _inst_4] (A : ι -> σ) [_inst_6 : SetLike.GradedMul.{u1, u3, u2} ι R σ _inst_4 (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R _inst_3)) _inst_2 A], DirectSum.GNonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_4) (A i)) _inst_2 (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R _inst_3) σ _inst_4 _inst_5 (A i))
+but is expected to have type
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : Add.{u1} ι] [_inst_2 : NonUnitalNonAssocSemiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R _inst_2))) _inst_3] (_inst_5 : ι -> σ) [A : SetLike.GradedMul.{u1, u3, u2} ι R σ _inst_3 (NonUnitalNonAssocSemiring.toMul.{u3} R _inst_2) _inst_1 _inst_5], DirectSum.GNonUnitalNonAssocSemiring.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (_inst_5 i))) _inst_1 (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R _inst_2) σ _inst_3 _inst_4 (_inst_5 i))
+Case conversion may be inaccurate. Consider using '#align set_like.gnon_unital_non_assoc_semiring SetLike.gnonUnitalNonAssocSemiringₓ'. -/
 /-- Build a `gnon_unital_non_assoc_semiring` instance for a collection of additive submonoids. -/
 instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetLike σ R]
     [AddSubmonoidClass σ R] (A : ι → σ) [SetLike.GradedMul A] :
@@ -105,6 +137,12 @@ instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetL
     add_mul := fun i j _ _ _ => Subtype.ext (add_mul _ _ _) }
 #align set_like.gnon_unital_non_assoc_semiring SetLike.gnonUnitalNonAssocSemiring
 
+/- warning: set_like.gsemiring -> SetLike.gsemiring is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : Semiring.{u3} R] [_inst_4 : SetLike.{u2, u3} σ R] [_inst_5 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_3))))) _inst_4] (A : ι -> σ) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_4 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_3)) _inst_2 A], DirectSum.GSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_4) (A i)) _inst_2 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_3 _inst_4 _inst_5 A i)
+but is expected to have type
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (_inst_5 : ι -> σ) [A : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_1 _inst_5], DirectSum.GSemiring.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (_inst_5 i))) _inst_1 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 _inst_5 i)
+Case conversion may be inaccurate. Consider using '#align set_like.gsemiring SetLike.gsemiringₓ'. -/
 /-- Build a `gsemiring` instance for a collection of additive submonoids. -/
 instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GSemiring fun i => A i :=
@@ -120,12 +158,24 @@ instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass
     natCast_succ := fun n => Subtype.ext (Nat.cast_succ n) }
 #align set_like.gsemiring SetLike.gsemiring
 
+/- warning: set_like.gcomm_semiring -> SetLike.gcommSemiring is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddCommMonoid.{u1} ι] [_inst_3 : CommSemiring.{u3} R] [_inst_4 : SetLike.{u2, u3} σ R] [_inst_5 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_3)))))) _inst_4] (A : ι -> σ) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_4 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_3))) (AddCommMonoid.toAddMonoid.{u1} ι _inst_2) A], DirectSum.GCommSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_4) (A i)) _inst_2 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R (CommSemiring.toSemiring.{u3} R _inst_3) _inst_4 _inst_5 A i)
+but is expected to have type
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : CommSemiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_2)))))) _inst_3] (_inst_5 : ι -> σ) [A : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_2))) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) _inst_5], DirectSum.GCommSemiring.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (_inst_5 i))) _inst_1 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R (CommSemiring.toSemiring.{u3} R _inst_2) _inst_3 _inst_4 _inst_5 i)
+Case conversion may be inaccurate. Consider using '#align set_like.gcomm_semiring SetLike.gcommSemiringₓ'. -/
 /-- Build a `gcomm_semiring` instance for a collection of additive submonoids. -/
 instance gcommSemiring [AddCommMonoid ι] [CommSemiring R] [SetLike σ R] [AddSubmonoidClass σ R]
     (A : ι → σ) [SetLike.GradedMonoid A] : DirectSum.GCommSemiring fun i => A i :=
   { SetLike.gCommMonoid A, SetLike.gsemiring A with }
 #align set_like.gcomm_semiring SetLike.gcommSemiring
 
+/- warning: set_like.gring -> SetLike.gring is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : Ring.{u3} R] [_inst_4 : SetLike.{u2, u3} σ R] [_inst_5 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (AddCommGroupWithOne.toAddGroupWithOne.{u3} R (Ring.toAddCommGroupWithOne.{u3} R _inst_3)))) _inst_4] (A : ι -> σ) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_4 (Ring.toMonoid.{u3} R _inst_3) _inst_2 A], DirectSum.GRing.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_4) (A i)) _inst_2 (fun (i : ι) => AddCommGroup.ofSubgroupOnRing.{u1, u2, u3} ι σ R _inst_3 _inst_4 _inst_5 A i)
+but is expected to have type
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddMonoid.{u1} ι] [_inst_2 : Ring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R _inst_2))) _inst_3] (_inst_5 : ι -> σ) [A : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R _inst_2))) _inst_1 _inst_5], DirectSum.GRing.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (_inst_5 i))) _inst_1 (fun (i : ι) => AddCommGroup.ofSubgroupOnRing.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 _inst_5 i)
+Case conversion may be inaccurate. Consider using '#align set_like.gring SetLike.gringₓ'. -/
 /-- Build a `gring` instance for a collection of additive subgroups. -/
 instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GRing fun i => A i :=
@@ -137,6 +187,12 @@ instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A
     intCast_negSucc := fun n => Subtype.ext <| Int.cast_negSucc n }
 #align set_like.gring SetLike.gring
 
+/- warning: set_like.gcomm_ring -> SetLike.gcommRing is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddCommMonoid.{u1} ι] [_inst_3 : CommRing.{u3} R] [_inst_4 : SetLike.{u2, u3} σ R] [_inst_5 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (AddCommGroupWithOne.toAddGroupWithOne.{u3} R (Ring.toAddCommGroupWithOne.{u3} R (CommRing.toRing.{u3} R _inst_3))))) _inst_4] (A : ι -> σ) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_4 (Ring.toMonoid.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommMonoid.toAddMonoid.{u1} ι _inst_2) A], DirectSum.GCommRing.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_4) (A i)) _inst_2 (fun (i : ι) => AddCommGroup.ofSubgroupOnRing.{u1, u2, u3} ι σ R (CommRing.toRing.{u3} R _inst_3) _inst_4 _inst_5 A i)
+but is expected to have type
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : AddCommMonoid.{u1} ι] [_inst_2 : CommRing.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubgroupClass.{u2, u3} σ R (AddGroup.toSubNegMonoid.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (CommRing.toRing.{u3} R _inst_2)))) _inst_3] (_inst_5 : ι -> σ) [A : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} ι _inst_1) _inst_5], DirectSum.GCommRing.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (_inst_5 i))) _inst_1 (fun (i : ι) => AddCommGroup.ofSubgroupOnRing.{u1, u2, u3} ι σ R (CommRing.toRing.{u3} R _inst_2) _inst_3 _inst_4 _inst_5 i)
+Case conversion may be inaccurate. Consider using '#align set_like.gcomm_ring SetLike.gcommRingₓ'. -/
 /-- Build a `gcomm_semiring` instance for a collection of additive submonoids. -/
 instance gcommRing [AddCommMonoid ι] [CommRing R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GCommRing fun i => A i :=
@@ -151,11 +207,19 @@ section coe
 
 variable [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
 
+#print DirectSum.coeRingHom /-
 /-- The canonical ring isomorphism between `⨁ i, A i` and `R`-/
 def coeRingHom [AddMonoid ι] [SetLike.GradedMonoid A] : (⨁ i, A i) →+* R :=
   DirectSum.toSemiring (fun i => AddSubmonoidClass.Subtype (A i)) rfl fun _ _ _ _ => rfl
 #align direct_sum.coe_ring_hom DirectSum.coeRingHom
+-/
 
+/- warning: direct_sum.coe_ring_hom_of -> DirectSum.coeRingHom_of is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 A] (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)), Eq.{succ u3} R (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (RingHom.{max u1 u3, u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (fun (_x : RingHom.{max u1 u3, u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u3} R _inst_2)) => (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) -> R) (RingHom.hasCoeToFun.{max u1 u3, u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u3} R _inst_2)) (DirectSum.coeRingHom.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 A _inst_5 _inst_6) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) x)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) x)
+but is expected to have type
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 A] (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) => R) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (a : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) a) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) x)) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) => R) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2) (RingHom.instRingHomClassRingHom.{max u3 u2, u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) R (Semiring.toNonAssocSemiring.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.semiring.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) _inst_5 (SetLike.gsemiring.{u3, u1, u2} ι σ R _inst_5 _inst_2 _inst_3 _inst_4 (fun (i : ι) => A i) _inst_6))) (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DirectSum.coeRingHom.{u3, u1, u2} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 A _inst_5 _inst_6) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) x)) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) x)
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_ring_hom_of DirectSum.coeRingHom_ofₓ'. -/
 /-- The canonical ring isomorphism between `⨁ i, A i` and `R`-/
 @[simp]
 theorem coeRingHom_of [AddMonoid ι] [SetLike.GradedMonoid A] (i : ι) (x : A i) :
@@ -163,6 +227,12 @@ theorem coeRingHom_of [AddMonoid ι] [SetLike.GradedMonoid A] (i : ι) (x : A i)
   DirectSum.toSemiring_of _ _ _ _ _
 #align direct_sum.coe_ring_hom_of DirectSum.coeRingHom_of
 
+/- warning: direct_sum.coe_mul_apply -> DirectSum.coe_mul_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 A] [_inst_7 : forall (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)), Decidable (Ne.{succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) x (OfNat.ofNat.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) 0 (OfNat.mk.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) 0 (Zero.zero.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (ZeroMemClass.zero.{u2, u3} σ R _inst_3 (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))))) (AddSubmonoidClass.to_zeroMemClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3 _inst_4) (A i))))))] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6)))))) r r') n)) (Finset.sum.{u3, u1} R (Prod.{u1, u1} ι ι) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Finset.filter.{u1} (Prod.{u1, u1} ι ι) (fun (ij : Prod.{u1, u1} ι ι) => Eq.{succ u1} ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5))) (Prod.fst.{u1, u1} ι ι ij) (Prod.snd.{u1, u1} ι ι ij)) n) (fun (a : Prod.{u1, u1} ι ι) => _inst_1 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5))) (Prod.fst.{u1, u1} ι ι a) (Prod.snd.{u1, u1} ι ι a)) n) (Finset.product.{u1, u1} ι ι (Dfinsupp.support.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)))) (fun (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) => _inst_7 i x) r) (Dfinsupp.support.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)))) (fun (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) => _inst_7 i x) r'))) (fun (ij : Prod.{u1, u1} ι ι) => HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.fst.{u1, u1} ι ι ij))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.fst.{u1, u1} ι ι ij))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.fst.{u1, u1} ι ι ij))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.fst.{u1, u1} ι ι ij))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (Prod.fst.{u1, u1} ι ι ij))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r (Prod.fst.{u1, u1} ι ι ij))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.snd.{u1, u1} ι ι ij))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.snd.{u1, u1} ι ι ij))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.snd.{u1, u1} ι ι ij))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (Prod.snd.{u1, u1} ι ι ij))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (Prod.snd.{u1, u1} ι ι ij))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r' (Prod.snd.{u1, u1} ι ι ij)))))
+but is expected to have type
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 A] [_inst_7 : forall (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))), Decidable (Ne.{succ u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) x (OfNat.ofNat.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) 0 (Zero.toOfNat0.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (ZeroMemClass.zero.{u1, u2} σ R _inst_3 (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddSubmonoidClass.toZeroMemClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3 _inst_4) (A i)))))] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (r' : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6))))) r r') n)) (Finset.sum.{u2, u3} R (Prod.{u3, u3} ι ι) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Finset.filter.{u3} (Prod.{u3, u3} ι ι) (fun (ij : Prod.{u3, u3} ι ι) => Eq.{succ u3} ι (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5))) (Prod.fst.{u3, u3} ι ι ij) (Prod.snd.{u3, u3} ι ι ij)) n) (fun (a : Prod.{u3, u3} ι ι) => _inst_1 (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5))) (Prod.fst.{u3, u3} ι ι a) (Prod.snd.{u3, u3} ι ι a)) n) (Finset.product.{u3, u3} ι ι (Dfinsupp.support.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => _inst_7 i x) r) (Dfinsupp.support.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => _inst_7 i x) r'))) (fun (ij : Prod.{u3, u3} ι ι) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A (Prod.fst.{u3, u3} ι ι ij)))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r (Prod.fst.{u3, u3} ι ι ij))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A (Prod.snd.{u3, u3} ι ι ij)))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r' (Prod.snd.{u3, u3} ι ι ij)))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_apply DirectSum.coe_mul_applyₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem coe_mul_apply [AddMonoid ι] [SetLike.GradedMonoid A]
     [∀ (i : ι) (x : A i), Decidable (x ≠ 0)] (r r' : ⨁ i, A i) (n : ι) :
@@ -174,6 +244,12 @@ theorem coe_mul_apply [AddMonoid ι] [SetLike.GradedMonoid A]
   simp_rw [coe_of_apply, ← Finset.sum_filter, SetLike.coe_gMul]
 #align direct_sum.coe_mul_apply DirectSum.coe_mul_apply
 
+/- warning: direct_sum.coe_mul_apply_eq_dfinsupp_sum -> DirectSum.coe_mul_apply_eq_dfinsupp_sum is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 A] [_inst_7 : forall (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)), Decidable (Ne.{succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) x (OfNat.ofNat.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) 0 (OfNat.mk.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) 0 (Zero.zero.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (ZeroMemClass.zero.{u2, u3} σ R _inst_3 (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))))) (AddSubmonoidClass.to_zeroMemClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3 _inst_4) (A i))))))] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6)))))) r r') n)) (Dfinsupp.sum.{u1, u3, u3} ι R (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)))) (fun (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) => _inst_7 i x) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) r (fun (i : ι) (ri : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) => Dfinsupp.sum.{u1, u3, u3} ι R (fun (i : ι) => (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i)))) (fun (i : ι) (x : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) => _inst_7 i x) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) r' (fun (j : ι) (rj : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) => ite.{succ u3} R (Eq.{succ u1} ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5))) i j) n) (_inst_1 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5))) i j) n) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) R (HasLiftT.mk.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) R (CoeTCₓ.coe.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) R (coeBase.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) i) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) ri) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) j) R (HasLiftT.mk.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) j) R (CoeTCₓ.coe.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) j) R (coeBase.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) j) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A j)))))) rj)) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))))))
+but is expected to have type
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 A] [_inst_7 : forall (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))), Decidable (Ne.{succ u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) x (OfNat.ofNat.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) 0 (Zero.toOfNat0.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (ZeroMemClass.zero.{u1, u2} σ R _inst_3 (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddSubmonoidClass.toZeroMemClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3 _inst_4) (A i)))))] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (r' : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6))))) r r') n)) (Dfinsupp.sum.{u3, u2, u2} ι R (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => _inst_7 i x) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) r (fun (i : ι) (ri : (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) => Dfinsupp.sum.{u3, u2, u2} ι R (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => _inst_7 i x) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) r' (fun (j : ι) (rj : (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) j) => ite.{succ u2} R (Eq.{succ u3} ι (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5))) i j) n) (_inst_1 (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5))) i j) n) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) ri) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A j))) rj)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)))))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_apply_eq_dfinsupp_sum DirectSum.coe_mul_apply_eq_dfinsupp_sumₓ'. -/
 theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
     [∀ (i : ι) (x : A i), Decidable (x ≠ 0)] (r r' : ⨁ i, A i) (n : ι) :
     ((r * r') n : R) = r.Sum fun i ri => r'.Sum fun j rj => if i + j = n then ri * rj else 0 :=
@@ -188,6 +264,12 @@ theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
     rfl
 #align direct_sum.coe_mul_apply_eq_dfinsupp_sum DirectSum.coe_mul_apply_eq_dfinsupp_sum
 
+/- warning: direct_sum.coe_of_mul_apply_aux -> DirectSum.coe_of_mul_apply_aux is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 A] {i : ι} (r : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) {j : ι} {n : ι}, (forall (x : ι), Iff (Eq.{succ u1} ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5))) i x) n) (Eq.{succ u1} ι x j)) -> (Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6)))))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A j)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r' j))))
+but is expected to have type
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 A] {i : ι} (r : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (r' : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) {j : ι} {n : ι}, (forall (x : ι), Iff (Eq.{succ u3} ι (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5))) i x) n) (Eq.{succ u3} ι x j)) -> (Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) r) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A j))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r' j))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_auxₓ'. -/
 theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
     (r' : ⨁ i, A i) {j n : ι} (H : ∀ x : ι, i + x = n ↔ x = j) :
     ((of _ i r * r') n : R) = r * r' j := by
@@ -203,6 +285,12 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
     rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.mul_zero]
 #align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_aux
 
+/- warning: direct_sum.coe_mul_of_apply_aux -> DirectSum.coe_mul_of_apply_aux is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 A] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) {j : ι} {n : ι}, (forall (x : ι), Iff (Eq.{succ u1} ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5))) x i) n) (Eq.{succ u1} ι x j)) -> (Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6)))))) r (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A j)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r j)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r')))
+but is expected to have type
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 A] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) {j : ι} {n : ι}, (forall (x : ι), Iff (Eq.{succ u3} ι (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5))) x i) n) (Eq.{succ u3} ι x j)) -> (Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r') (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) _inst_5 (fun (i : ι) => A i) _inst_6))))) r (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A j))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r j)) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) r')))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_auxₓ'. -/
 theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i) {i : ι}
     (r' : A i) {j n : ι} (H : ∀ x : ι, x + i = n ↔ x = j) : ((r * of _ i r') n : R) = r j * r' := by
   classical
@@ -217,11 +305,23 @@ theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i,
     rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.zero_mul]
 #align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_aux
 
+/- warning: direct_sum.coe_of_mul_apply_add -> DirectSum.coe_of_mul_apply_add is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddLeftCancelMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) A] {i : ι} (r : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (j : ι), Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) (fun (i : ι) => A i) _inst_6)))))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A j)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r' j)))
+but is expected to have type
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddLeftCancelMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) A] {i : ι} (r : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (r' : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (j : ι), Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) i j)))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) (fun (i : ι) => A i) _inst_6))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) i j))) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) r) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A j))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r' j)))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply_add DirectSum.coe_of_mul_apply_addₓ'. -/
 theorem coe_of_mul_apply_add [AddLeftCancelMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
     (r' : ⨁ i, A i) (j : ι) : ((of _ i r * r') (i + j) : R) = r * r' j :=
   coe_of_mul_apply_aux _ _ _ fun x => ⟨fun h => add_left_cancel h, fun h => h ▸ rfl⟩
 #align direct_sum.coe_of_mul_apply_add DirectSum.coe_of_mul_apply_add
 
+/- warning: direct_sum.coe_mul_of_apply_add -> DirectSum.coe_mul_of_apply_add is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddRightCancelMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) A] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (j : ι), Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) j i))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) j i))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) j i))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) j i))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) j i))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) (fun (i : ι) => A i) _inst_6)))))) r (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) j i))) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A j)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A j)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r j)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r'))
+but is expected to have type
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : AddRightCancelMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) A] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (j : ι), Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) j i)))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r') (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) (fun (i : ι) => A i) _inst_6))))) r (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) j i))) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A j))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r j)) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) r'))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply_add DirectSum.coe_mul_of_apply_addₓ'. -/
 theorem coe_mul_of_apply_add [AddRightCancelMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i)
     {i : ι} (r' : A i) (j : ι) : ((r * of _ i r') (j + i) : R) = r j * r' :=
   coe_mul_of_apply_aux _ _ _ fun x => ⟨fun h => add_right_cancel h, fun h => h ▸ rfl⟩
@@ -235,6 +335,12 @@ variable [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
 
 variable [CanonicallyOrderedAddMonoid ι] [SetLike.GradedMonoid A]
 
+/- warning: direct_sum.coe_of_mul_apply_of_not_le -> DirectSum.coe_of_mul_apply_of_not_le is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] {i : ι} (r : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), (Not (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n)) -> (Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6)))))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] {i : ι} (r : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), (Not (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n)) -> (Eq.{succ u3} R (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (instHMul.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u1 u3, u3, max u1 u3} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u1 u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_leₓ'. -/
 theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : ¬i ≤ n) :
     ((of _ i r * r') n : R) = 0 := by
   classical
@@ -247,6 +353,12 @@ theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι)
       exact h ((self_le_add_right i x).trans_eq H)
 #align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_le
 
+/- warning: direct_sum.coe_mul_of_apply_of_not_le -> DirectSum.coe_mul_of_apply_of_not_le is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (n : ι), (Not (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n)) -> (Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6)))))) r (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))))
+but is expected to have type
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))) A] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (n : ι), (Not (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) i n)) -> (Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r') (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))) (fun (i : ι) => A i) _inst_6))))) r (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply_of_not_le DirectSum.coe_mul_of_apply_of_not_leₓ'. -/
 theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : ¬i ≤ n) :
     ((r * of _ i r') n : R) = 0 := by
   classical
@@ -261,6 +373,12 @@ theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι)
 
 variable [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (· + ·) (· ≤ ·)]
 
+/- warning: direct_sum.coe_mul_of_apply_of_le -> DirectSum.coe_mul_of_apply_of_le is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))))] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (n : ι), (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n) -> (Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6)))))) r (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r')))
+but is expected to have type
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))) A] [_inst_7 : Sub.{u3} ι] [_inst_8 : OrderedSub.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u3, u3} ι ι (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2752 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2754 : ι) => HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2752 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2754) (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2767 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2769 : ι) => LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2767 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2769)] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (n : ι), (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) i n) -> (Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r') (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))) (fun (i : ι) => A i) _inst_6))))) r (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A (HSub.hSub.{u3, u3, u3} ι ι ι (instHSub.{u3} ι _inst_7) n i)))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r (HSub.hSub.{u3, u3, u3} ι ι ι (instHSub.{u3} ι _inst_7) n i))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) r')))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply_of_le DirectSum.coe_mul_of_apply_of_leₓ'. -/
 /- The following two lemmas only require the same hypotheses as `eq_tsub_iff_add_eq_of_le`, but we
   state them for `canonically_ordered_add_monoid` + the above three typeclasses for convenience. -/
 theorem coe_mul_of_apply_of_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : i ≤ n) :
@@ -268,11 +386,23 @@ theorem coe_mul_of_apply_of_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h
   coe_mul_of_apply_aux _ _ _ fun x => (eq_tsub_iff_add_eq_of_le h).symm
 #align direct_sum.coe_mul_of_apply_of_le DirectSum.coe_mul_of_apply_of_le
 
+/- warning: direct_sum.coe_of_mul_apply_of_le -> DirectSum.coe_of_mul_apply_of_le is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))))] {i : ι} (r : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n) -> (Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6)))))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r' (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2899 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2901 : ι) => HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2899 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2901) (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2914 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2916 : ι) => LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2914 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.2916)] {i : ι} (r : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι), (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n) -> (Eq.{succ u3} R (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (instHMul.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u1 u3, u3, max u1 u3} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u1 u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A i))) r) (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r' (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply_of_le DirectSum.coe_of_mul_apply_of_leₓ'. -/
 theorem coe_of_mul_apply_of_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : i ≤ n) :
     ((of _ i r * r') n : R) = r * r' (n - i) :=
   coe_of_mul_apply_aux _ _ _ fun x => by rw [eq_tsub_iff_add_eq_of_le h, add_comm]
 #align direct_sum.coe_of_mul_apply_of_le DirectSum.coe_of_mul_apply_of_le
 
+/- warning: direct_sum.coe_mul_of_apply -> DirectSum.coe_mul_of_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))))] (r : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (n : ι) [_inst_10 : Decidable (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n)], Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6)))))) r (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (ite.{succ u3} R (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n) _inst_10 (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r')) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))))
+but is expected to have type
+  forall {ι : Type.{u3}} {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} R] [_inst_3 : SetLike.{u1, u2} σ R] [_inst_4 : AddSubmonoidClass.{u1, u2} σ R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u3} ι] [_inst_6 : SetLike.GradedMonoid.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))) A] [_inst_7 : Sub.{u3} ι] [_inst_8 : OrderedSub.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u3, u3} ι ι (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3071 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3073 : ι) => HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3071 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3073) (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3086 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3088 : ι) => LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3086 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3088)] (r : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) {i : ι} (r' : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (n : ι) [_inst_10 : Decidable (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) i n)], Eq.{succ u2} R (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) r') (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ R (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5))) (fun (i : ι) => A i) _inst_6))))) r (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r')) n)) (ite.{succ u2} R (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_5)))) i n) _inst_10 (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A (HSub.hSub.{u3, u3, u3} ι ι ι (instHSub.{u3} ι _inst_7) n i)))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u1} R σ (SetLike.instMembership.{u1, u2} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r (HSub.hSub.{u3, u3, u3} ι ι ι (instHSub.{u3} ι _inst_7) n i))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u1, u2} σ R _inst_3 (A i))) r')) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_mul_of_apply DirectSum.coe_mul_of_applyₓ'. -/
 theorem coe_mul_of_apply (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) [Decidable (i ≤ n)] :
     ((r * of _ i r') n : R) = if i ≤ n then r (n - i) * r' else 0 :=
   by
@@ -280,6 +410,12 @@ theorem coe_mul_of_apply (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) [Decidabl
   exacts[coe_mul_of_apply_of_le _ _ _ n h, coe_mul_of_apply_of_not_le _ _ _ n h]
 #align direct_sum.coe_mul_of_apply DirectSum.coe_mul_of_apply
 
+/- warning: direct_sum.coe_of_mul_apply -> DirectSum.coe_of_mul_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))))] {i : ι} (r : coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι) [_inst_10 : Decidable (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n)], Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A n)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A n)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instHMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (Distrib.toHasMul.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.to_gradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6)))))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) => (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun {i : ι} => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (ite.{succ u3} R (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n) _inst_10 (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A i)))))) r) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeBase.{succ u3, succ u3} (coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u2} R σ (SetLike.hasMem.{u2, u3} σ R _inst_3) x (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) => forall (i : ι), coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u2, succ (succ u3)} σ Type.{u3} (SetLike.hasCoeToSort.{u2, u3} σ R _inst_3) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r' (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {σ : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u3} R] [_inst_3 : SetLike.{u2, u3} σ R] [_inst_4 : AddSubmonoidClass.{u2, u3} σ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))))) _inst_3] (A : ι -> σ) [_inst_5 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_6 : SetLike.GradedMonoid.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) A] [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3248 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3250 : ι) => HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3248 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3250) (fun (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3263 : ι) (x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3265 : ι) => LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3263 x._@.Mathlib.Algebra.DirectSum.Internal._hyg.3265)] {i : ι} (r : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (r' : DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (n : ι) [_inst_10 : Decidable (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n)], Eq.{succ u3} R (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (instHMul.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) r) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u2, u3} ι σ R (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)) _inst_3 _inst_4 (fun (i : ι) => A i) (SetLike.GradedMonoid.toGradedMul.{u1, u3, u2} ι R σ _inst_3 (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5))) (fun (i : ι) => A i) _inst_6))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (_x : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) _x) (AddHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddZeroClass.toAdd.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddZeroClass.toAdd.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (AddMonoidHomClass.toAddHomClass.{max u1 u3, u3, max u1 u3} (AddMonoidHom.{u3, max u3 u1} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))) (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)))) (AddMonoidHom.addMonoidHomClass.{u3, max u1 u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddMonoid.toAddZeroClass.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.toAddMonoid.{u3} (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i)) (instAddCommMonoidDirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i))))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i) r) r') n)) (ite.{succ u3} R (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_5)))) i n) _inst_10 (HMul.hMul.{u3, u3, u3} R R R (instHMul.{u3} R (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))) (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A i))) r) (Subtype.val.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) x (SetLike.coe.{u2, u3} σ R _inst_3 (A (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u2} R σ (SetLike.instMembership.{u2, u3} σ R _inst_3) x (A i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u2, u3} ι σ R _inst_2 _inst_3 _inst_4 A i) i))) i)) r' (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_of_mul_apply DirectSum.coe_of_mul_applyₓ'. -/
 theorem coe_of_mul_apply {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) [Decidable (i ≤ n)] :
     ((of _ i r * r') n : R) = if i ≤ n then r * r' (n - i) else 0 :=
   by
@@ -296,6 +432,7 @@ end DirectSum
 
 namespace Submodule
 
+#print Submodule.galgebra /-
 /-- Build a `galgebra` instance for a collection of `submodule`s. -/
 instance galgebra [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R] (A : ι → Submodule S R)
     [SetLike.GradedMonoid A] : DirectSum.GAlgebra S fun i => A i
@@ -308,7 +445,14 @@ instance galgebra [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R] (A
     Sigma.subtype_ext ((zero_add i).trans (add_zero i).symm) <| Algebra.commutes _ _
   smul_def := fun r ⟨i, xi⟩ => Sigma.subtype_ext (zero_add i).symm <| Algebra.smul_def _ _
 #align submodule.galgebra Submodule.galgebra
+-/
 
+/- warning: submodule.set_like.coe_galgebra_to_fun -> Submodule.setLike.coe_galgebra_toFun is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u3} R] [_inst_5 : Algebra.{u2, u3} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_4)) _inst_2 A] (s : S), Eq.{succ u3} R ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) R (HasLiftT.mk.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) R (CoeTCₓ.coe.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) R (coeBase.{succ u3, succ u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))))))))))) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AddMonoidHom.{u2, u3} S ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) (fun (_x : AddMonoidHom.{u2, u3} S ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) => S -> ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))))))) (AddMonoidHom.hasCoeToFun.{u2, u3} S ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (OfNat.ofNat.{u1} ι 0 (OfNat.mk.{u1} ι 0 (Zero.zero.{u1} ι (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) (DirectSum.GAlgebra.toFun.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) s)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u3} R _inst_4)) (fun (_x : RingHom.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u3} R _inst_4)) => S -> R) (RingHom.hasCoeToFun.{u2, u3} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u3} R _inst_4)) (algebraMap.{u2, u3} S R _inst_3 _inst_4 _inst_5) s)
+but is expected to have type
+  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u1} R] [_inst_5 : Algebra.{u2, u1} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_4)) _inst_2 A] (s : S), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) s) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : S) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddZeroClass.toAdd.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))))))) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))) S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))))) (AddMonoidHom.addMonoidHomClass.{u2, u1} S (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoid.toAddZeroClass.{u2} S (AddMonoidWithOne.toAddMonoid.{u2} S (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddMonoidWithOne.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (Semiring.toNonAssocSemiring.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A (OfNat.ofNat.{u3} ι 0 (Zero.toOfNat0.{u3} ι (AddMonoid.toZero.{u3} ι _inst_2)))))) (DirectSum.GradeZero.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))))))) (DirectSum.GAlgebra.toFun.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) s)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S R (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4)) S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Semiring.toNonAssocSemiring.{u1} R _inst_4))))) (algebraMap.{u2, u1} S R _inst_3 _inst_4 _inst_5) s)
+Case conversion may be inaccurate. Consider using '#align submodule.set_like.coe_galgebra_to_fun Submodule.setLike.coe_galgebra_toFunₓ'. -/
 @[simp]
 theorem setLike.coe_galgebra_toFun [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedMonoid A] (s : S) :
@@ -316,6 +460,7 @@ theorem setLike.coe_galgebra_toFun [AddMonoid ι] [CommSemiring S] [Semiring R]
   rfl
 #align submodule.set_like.coe_galgebra_to_fun Submodule.setLike.coe_galgebra_toFun
 
+#print Submodule.nat_power_gradedMonoid /-
 /-- A direct sum of powers of a submodule of an algebra has a multiplicative structure. -/
 instance nat_power_gradedMonoid [CommSemiring S] [Semiring R] [Algebra S R] (p : Submodule S R) :
     SetLike.GradedMonoid fun i : ℕ => p ^ i
@@ -327,15 +472,24 @@ instance nat_power_gradedMonoid [CommSemiring S] [Semiring R] [Algebra S R] (p :
     rw [pow_add]
     exact Submodule.mul_mem_mul hp hq
 #align submodule.nat_power_graded_monoid Submodule.nat_power_gradedMonoid
+-/
 
 end Submodule
 
+#print DirectSum.coeAlgHom /-
 /-- The canonical algebra isomorphism between `⨁ i, A i` and `R`. -/
 def DirectSum.coeAlgHom [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedMonoid A] : (⨁ i, A i) →ₐ[S] R :=
   DirectSum.toAlgebra S _ (fun i => (A i).Subtype) rfl (fun _ _ _ _ => rfl) fun _ => rfl
 #align direct_sum.coe_alg_hom DirectSum.coeAlgHom
+-/
 
+/- warning: submodule.supr_eq_to_submodule_range -> Submodule.iSup_eq_toSubmodule_range is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u3} R] [_inst_5 : Algebra.{u2, u3} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_4)) _inst_2 A], Eq.{succ u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (iSup.{u3, succ u1} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (ConditionallyCompleteLattice.toHasSup.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)))) ι (fun (i : ι) => A i)) (coeFn.{succ u3, succ u3} (OrderEmbedding.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Preorder.toHasLe.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (SetLike.partialOrder.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.setLike.{u2, u3} S R _inst_3 _inst_4 _inst_5)))) (Preorder.toHasLe.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))))))) (fun (_x : RelEmbedding.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (LE.le.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Preorder.toHasLe.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (SetLike.partialOrder.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.setLike.{u2, u3} S R _inst_3 _inst_4 _inst_5))))) (LE.le.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Preorder.toHasLe.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)))))))) => (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (RelEmbedding.hasCoeToFun.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (LE.le.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (Preorder.toHasLe.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) (SetLike.partialOrder.{u3, u3} (Subalgebra.{u2, u3} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.setLike.{u2, u3} S R _inst_3 _inst_4 _inst_5))))) (LE.le.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Preorder.toHasLe.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteSemilatticeInf.toPartialOrder.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toCompleteSemilatticeInf.{u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)))))))) (Subalgebra.toSubmodule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (AlgHom.range.{u2, max u1 u3, u3} S (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) R _inst_3 (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6)) (DirectSum.algebra.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_4 _inst_5 (DirectSum.coeAlgHom.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6)))
+but is expected to have type
+  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u1} R] [_inst_5 : Algebra.{u2, u1} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_4)) _inst_2 A], Eq.{succ u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (iSup.{u1, succ u3} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) ι (fun (i : ι) => A i)) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))))))) (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (fun (_x : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))))))) (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => LE.le.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) => LE.le.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) => LE.le.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5) R (Subalgebra.instSetLikeSubalgebra.{u2, u1} S R _inst_3 _inst_4 _inst_5)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) => LE.le.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Preorder.toLE.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.completeLattice.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (AlgHom.range.{u2, max u3 u1, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_4 _inst_5 (DirectSum.coeAlgHom.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6)))
+Case conversion may be inaccurate. Consider using '#align submodule.supr_eq_to_submodule_range Submodule.iSup_eq_toSubmodule_rangeₓ'. -/
 /-- The supremum of submodules that form a graded monoid is a subalgebra, and equal to the range of
 `direct_sum.coe_alg_hom`. -/
 theorem Submodule.iSup_eq_toSubmodule_range [AddMonoid ι] [CommSemiring S] [Semiring R]
@@ -344,6 +498,12 @@ theorem Submodule.iSup_eq_toSubmodule_range [AddMonoid ι] [CommSemiring S] [Sem
   (Submodule.iSup_eq_range_dfinsupp_lsum A).trans <| SetLike.coe_injective rfl
 #align submodule.supr_eq_to_submodule_range Submodule.iSup_eq_toSubmodule_range
 
+/- warning: direct_sum.coe_alg_hom_of -> DirectSum.coeAlgHom_of is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u3} R] [_inst_5 : Algebra.{u2, u3} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_4)) _inst_2 A] (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)), Eq.{succ u3} R (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (AlgHom.{u2, max u1 u3, u3} S (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) R _inst_3 (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.algebra.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (fun (_x : AlgHom.{u2, max u1 u3, u3} S (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) R _inst_3 (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.algebra.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) => (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) -> R) ([anonymous].{u2, max u1 u3, u3} S (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i)) R _inst_3 (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.algebra.{u1, u2, u3} ι S (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_1.{u2, u3} S R _inst_3 _inst_4 _inst_5) A i) (fun (i : ι) => Submodule.module.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (DirectSum.coeAlgHom._proof_2.{u2, u3} S R _inst_3 _inst_4 _inst_5) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (DirectSum.coeAlgHom.{u1, u2, u3} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i)) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) i) (fun (i : ι) => (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) A i) i) x)) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) (A i)) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_4))) (Algebra.toModule.{u2, u3} S R _inst_3 _inst_4 _inst_5))) x (A i)))))) x)
+but is expected to have type
+  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Semiring.{u1} R] [_inst_5 : Algebra.{u2, u1} S R _inst_3 _inst_4] (A : ι -> (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) [_inst_6 : SetLike.GradedMonoid.{u3, u1, u1} ι R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_4)) _inst_2 A] (i : ι) (x : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) => R) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) a) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) i) x)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (fun (_x : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) => R) _x) (SMulHomClass.toFunLike.{max u3 u1, u2, max u3 u1, u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R (SMulZeroClass.toSMul.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toZero.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))) (Module.toDistribMulAction.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))) (Algebra.toModule.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6))))))) (SMulZeroClass.toSMul.{u2, u1} S R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))))) (DistribSMul.toSMulZeroClass.{u2, u1} S R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))))) (DistribMulAction.toDistribSMul.{u2, u1} S R (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)))) (Module.toDistribMulAction.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u1, u2, max u3 u1, u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))))) (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)))) (Module.toDistribMulAction.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))) (Algebra.toModule.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)))) (Module.toDistribMulAction.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u1, u2, max u3 u1, u1} (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4)) (Module.toDistribMulAction.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (Semiring.toNonAssocSemiring.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6))))) (Algebra.toModule.{u2, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)))) (Module.toDistribMulAction.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u1, u1, max u3 u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5 (AlgHom.{u2, max u1 u3, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5) (AlgHom.algHomClass.{u2, max u3 u1, u1} S (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) R _inst_3 (DirectSum.semiring.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6)) _inst_4 (DirectSum.instAlgebraDirectSumSemiring.{u3, u2, u1} ι S (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) (fun (i : ι) => Submodule.module.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5) (A i)) _inst_2 (SetLike.gsemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_2 _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (fun (i : ι) => A i) _inst_6) (Submodule.galgebra.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 (fun (i : ι) => A i) _inst_6)) _inst_5))))) (DirectSum.coeAlgHom.{u3, u2, u1} ι S R (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 A _inst_6) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (_x : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) => DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) _x) (AddHomClass.toFunLike.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddZeroClass.toAdd.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddZeroClass.toAdd.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u1, u1, max u3 u1} (AddMonoidHom.{u1, max u1 u3} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))) (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)))) (AddMonoidHom.addMonoidHomClass.{u1, max u3 u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddMonoid.toAddZeroClass.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.toAddMonoid.{u1} (Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))) (AddMonoid.toAddZeroClass.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (AddCommMonoid.toAddMonoid.{max u3 u1} (DirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i)) (instAddCommMonoidDirectSum.{u3, u1} ι (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i))))))) (DirectSum.of.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5))) x (A i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u1} ι (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R _inst_4 (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) A i) i) x)) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submodule.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) R (Submodule.setLike.{u2, u1} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_4))) (Algebra.toModule.{u2, u1} S R _inst_3 _inst_4 _inst_5)) (A i))) x)
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_alg_hom_of DirectSum.coeAlgHom_ofₓ'. -/
 @[simp]
 theorem DirectSum.coeAlgHom_of [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedMonoid A] (i : ι) (x : A i) :
@@ -355,11 +515,23 @@ end DirectSum
 
 section HomogeneousElement
 
+/- warning: set_like.is_homogeneous_zero_submodule -> SetLike.homogeneous_zero_submodule is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : Zero.{u1} ι] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} R] [_inst_4 : Module.{u2, u3} S R _inst_2 _inst_3] (A : ι -> (Submodule.{u2, u3} S R _inst_2 _inst_3 _inst_4)), SetLike.Homogeneous.{u1, u3, u3} ι R (Submodule.{u2, u3} S R _inst_2 _inst_3 _inst_4) (Submodule.setLike.{u2, u3} S R _inst_2 _inst_3 _inst_4) A (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R _inst_3))))))
+but is expected to have type
+  forall {ι : Type.{u3}} {S : Type.{u2}} {R : Type.{u1}} [_inst_1 : Zero.{u3} ι] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u1} R] [_inst_4 : Module.{u2, u1} S R _inst_2 _inst_3] (A : ι -> (Submodule.{u2, u1} S R _inst_2 _inst_3 _inst_4)), SetLike.Homogeneous.{u3, u1, u1} ι R (Submodule.{u2, u1} S R _inst_2 _inst_3 _inst_4) (Submodule.setLike.{u2, u1} S R _inst_2 _inst_3 _inst_4) A (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (AddMonoid.toZero.{u1} R (AddCommMonoid.toAddMonoid.{u1} R _inst_3))))
+Case conversion may be inaccurate. Consider using '#align set_like.is_homogeneous_zero_submodule SetLike.homogeneous_zero_submoduleₓ'. -/
 theorem SetLike.homogeneous_zero_submodule [Zero ι] [Semiring S] [AddCommMonoid R] [Module S R]
     (A : ι → Submodule S R) : SetLike.Homogeneous A (0 : R) :=
   ⟨0, Submodule.zero_mem _⟩
 #align set_like.is_homogeneous_zero_submodule SetLike.homogeneous_zero_submodule
 
+/- warning: set_like.is_homogeneous.smul -> SetLike.Homogeneous.smul is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {S : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u2} S] [_inst_2 : Semiring.{u3} R] [_inst_3 : Algebra.{u2, u3} S R _inst_1 _inst_2] {A : ι -> (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Algebra.toModule.{u2, u3} S R _inst_1 _inst_2 _inst_3))} {s : S} {r : R}, (SetLike.Homogeneous.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Algebra.toModule.{u2, u3} S R _inst_1 _inst_2 _inst_3)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Algebra.toModule.{u2, u3} S R _inst_1 _inst_2 _inst_3)) A r) -> (SetLike.Homogeneous.{u1, u3, u3} ι R (Submodule.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Algebra.toModule.{u2, u3} S R _inst_1 _inst_2 _inst_3)) (Submodule.setLike.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Algebra.toModule.{u2, u3} S R _inst_1 _inst_2 _inst_3)) A (SMul.smul.{u2, u3} S R (SMulZeroClass.toHasSmul.{u2, u3} S R (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u2, u3} S R (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_1))))) (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u2, u3} S R (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_1)) (AddZeroClass.toHasZero.{u3} R (AddMonoid.toAddZeroClass.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2)))))) (Module.toMulActionWithZero.{u2, u3} S R (CommSemiring.toSemiring.{u2} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_2))) (Algebra.toModule.{u2, u3} S R _inst_1 _inst_2 _inst_3))))) s r))
+but is expected to have type
+  forall {ι : Type.{u1}} {S : Type.{u3}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u3} S] [_inst_2 : Semiring.{u2} R] [_inst_3 : Algebra.{u3, u2} S R _inst_1 _inst_2] {A : ι -> (Submodule.{u3, u2} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Algebra.toModule.{u3, u2} S R _inst_1 _inst_2 _inst_3))} {s : S} {r : R}, (SetLike.Homogeneous.{u1, u2, u2} ι R (Submodule.{u3, u2} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Algebra.toModule.{u3, u2} S R _inst_1 _inst_2 _inst_3)) (Submodule.setLike.{u3, u2} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Algebra.toModule.{u3, u2} S R _inst_1 _inst_2 _inst_3)) A r) -> (SetLike.Homogeneous.{u1, u2, u2} ι R (Submodule.{u3, u2} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Algebra.toModule.{u3, u2} S R _inst_1 _inst_2 _inst_3)) (Submodule.setLike.{u3, u2} S R (CommSemiring.toSemiring.{u3} S _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Algebra.toModule.{u3, u2} S R _inst_1 _inst_2 _inst_3)) A (HSMul.hSMul.{u3, u2, u2} S R R (instHSMul.{u3, u2} S R (Algebra.toSMul.{u3, u2} S R _inst_1 _inst_2 _inst_3)) s r))
+Case conversion may be inaccurate. Consider using '#align set_like.is_homogeneous.smul SetLike.Homogeneous.smulₓ'. -/
 theorem SetLike.Homogeneous.smul [CommSemiring S] [Semiring R] [Algebra S R] {A : ι → Submodule S R}
     {s : S} {r : R} (hr : SetLike.Homogeneous A r) : SetLike.Homogeneous A (s • r) :=
   let ⟨i, hi⟩ := hr
Diff
@@ -298,7 +298,7 @@ namespace Submodule
 
 /-- Build a `galgebra` instance for a collection of `submodule`s. -/
 instance galgebra [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R] (A : ι → Submodule S R)
-    [SetLike.GradedMonoid A] : DirectSum.Galgebra S fun i => A i
+    [SetLike.GradedMonoid A] : DirectSum.GAlgebra S fun i => A i
     where
   toFun :=
     ((Algebra.linearMap S R).codRestrict (A 0) <| SetLike.algebraMap_mem_graded A).toAddMonoidHom
@@ -312,7 +312,7 @@ instance galgebra [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R] (A
 @[simp]
 theorem setLike.coe_galgebra_toFun [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedMonoid A] (s : S) :
-    ↑(@DirectSum.Galgebra.toFun _ S (fun i => A i) _ _ _ _ _ _ _ s) = (algebraMap S R s : R) :=
+    ↑(@DirectSum.GAlgebra.toFun _ S (fun i => A i) _ _ _ _ _ _ _ s) = (algebraMap S R s : R) :=
   rfl
 #align submodule.set_like.coe_galgebra_to_fun Submodule.setLike.coe_galgebra_toFun
 
Diff
@@ -95,7 +95,7 @@ namespace SetLike
 /-- Build a `gnon_unital_non_assoc_semiring` instance for a collection of additive submonoids. -/
 instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetLike σ R]
     [AddSubmonoidClass σ R] (A : ι → σ) [SetLike.GradedMul A] :
-    DirectSum.GnonUnitalNonAssocSemiring fun i => A i :=
+    DirectSum.GNonUnitalNonAssocSemiring fun i => A i :=
   {
     SetLike.gMul
       A with
@@ -107,7 +107,7 @@ instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetL
 
 /-- Build a `gsemiring` instance for a collection of additive submonoids. -/
 instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
-    [SetLike.GradedMonoid A] : DirectSum.Gsemiring fun i => A i :=
+    [SetLike.GradedMonoid A] : DirectSum.GSemiring fun i => A i :=
   {
     SetLike.gMonoid
       A with
@@ -122,13 +122,13 @@ instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass
 
 /-- Build a `gcomm_semiring` instance for a collection of additive submonoids. -/
 instance gcommSemiring [AddCommMonoid ι] [CommSemiring R] [SetLike σ R] [AddSubmonoidClass σ R]
-    (A : ι → σ) [SetLike.GradedMonoid A] : DirectSum.GcommSemiring fun i => A i :=
+    (A : ι → σ) [SetLike.GradedMonoid A] : DirectSum.GCommSemiring fun i => A i :=
   { SetLike.gCommMonoid A, SetLike.gsemiring A with }
 #align set_like.gcomm_semiring SetLike.gcommSemiring
 
 /-- Build a `gring` instance for a collection of additive subgroups. -/
 instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ)
-    [SetLike.GradedMonoid A] : DirectSum.Gring fun i => A i :=
+    [SetLike.GradedMonoid A] : DirectSum.GRing fun i => A i :=
   {
     SetLike.gsemiring
       A with
@@ -139,7 +139,7 @@ instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A
 
 /-- Build a `gcomm_semiring` instance for a collection of additive submonoids. -/
 instance gcommRing [AddCommMonoid ι] [CommRing R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ)
-    [SetLike.GradedMonoid A] : DirectSum.GcommRing fun i => A i :=
+    [SetLike.GradedMonoid A] : DirectSum.GCommRing fun i => A i :=
   { SetLike.gCommMonoid A, SetLike.gring A with }
 #align set_like.gcomm_ring SetLike.gcommRing
 
Diff
@@ -338,11 +338,11 @@ def DirectSum.coeAlgHom [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S
 
 /-- The supremum of submodules that form a graded monoid is a subalgebra, and equal to the range of
 `direct_sum.coe_alg_hom`. -/
-theorem Submodule.supᵢ_eq_toSubmodule_range [AddMonoid ι] [CommSemiring S] [Semiring R]
+theorem Submodule.iSup_eq_toSubmodule_range [AddMonoid ι] [CommSemiring S] [Semiring R]
     [Algebra S R] (A : ι → Submodule S R) [SetLike.GradedMonoid A] :
     (⨆ i, A i) = (DirectSum.coeAlgHom A).range.toSubmodule :=
-  (Submodule.supᵢ_eq_range_dfinsupp_lsum A).trans <| SetLike.coe_injective rfl
-#align submodule.supr_eq_to_submodule_range Submodule.supᵢ_eq_toSubmodule_range
+  (Submodule.iSup_eq_range_dfinsupp_lsum A).trans <| SetLike.coe_injective rfl
+#align submodule.supr_eq_to_submodule_range Submodule.iSup_eq_toSubmodule_range
 
 @[simp]
 theorem DirectSum.coeAlgHom_of [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
Diff
@@ -96,9 +96,11 @@ namespace SetLike
 instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetLike σ R]
     [AddSubmonoidClass σ R] (A : ι → σ) [SetLike.GradedMul A] :
     DirectSum.GnonUnitalNonAssocSemiring fun i => A i :=
-  { SetLike.gMul A with
-    mul_zero := fun i j _ => Subtype.ext (mul_zero _)
-    zero_mul := fun i j _ => Subtype.ext (zero_mul _)
+  {
+    SetLike.gMul
+      A with
+    mul_zero := fun i j _ => Subtype.ext (MulZeroClass.mul_zero _)
+    zero_mul := fun i j _ => Subtype.ext (MulZeroClass.zero_mul _)
     mul_add := fun i j _ _ _ => Subtype.ext (mul_add _ _ _)
     add_mul := fun i j _ _ _ => Subtype.ext (add_mul _ _ _) }
 #align set_like.gnon_unital_non_assoc_semiring SetLike.gnonUnitalNonAssocSemiring
@@ -106,9 +108,11 @@ instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetL
 /-- Build a `gsemiring` instance for a collection of additive submonoids. -/
 instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.Gsemiring fun i => A i :=
-  { SetLike.gMonoid A with
-    mul_zero := fun i j _ => Subtype.ext (mul_zero _)
-    zero_mul := fun i j _ => Subtype.ext (zero_mul _)
+  {
+    SetLike.gMonoid
+      A with
+    mul_zero := fun i j _ => Subtype.ext (MulZeroClass.mul_zero _)
+    zero_mul := fun i j _ => Subtype.ext (MulZeroClass.zero_mul _)
     mul_add := fun i j _ _ _ => Subtype.ext (mul_add _ _ _)
     add_mul := fun i j _ _ _ => Subtype.ext (add_mul _ _ _)
     natCast := fun n => ⟨n, SetLike.nat_cast_mem_graded _ _⟩
@@ -191,12 +195,12 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
     rw [coe_mul_apply_eq_dfinsupp_sum]
     apply (Dfinsupp.sum_single_index _).trans
     swap
-    · simp_rw [ZeroMemClass.coe_zero, zero_mul, if_t_t]
+    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]
       exact Dfinsupp.sum_zero
     simp_rw [Dfinsupp.sum, H, Finset.sum_ite_eq']
     split_ifs
     rfl
-    rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, mul_zero]
+    rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.mul_zero]
 #align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_aux
 
 theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i) {i : ι}
@@ -205,12 +209,12 @@ theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i,
     rw [coe_mul_apply_eq_dfinsupp_sum, Dfinsupp.sum_comm]
     apply (Dfinsupp.sum_single_index _).trans
     swap
-    · simp_rw [ZeroMemClass.coe_zero, mul_zero, if_t_t]
+    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]
       exact Dfinsupp.sum_zero
     simp_rw [Dfinsupp.sum, H, Finset.sum_ite_eq']
     split_ifs
     rfl
-    rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, zero_mul]
+    rw [dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.zero_mul]
 #align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_aux
 
 theorem coe_of_mul_apply_add [AddLeftCancelMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
@@ -237,7 +241,7 @@ theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι)
     rw [coe_mul_apply_eq_dfinsupp_sum]
     apply (Dfinsupp.sum_single_index _).trans
     swap
-    · simp_rw [ZeroMemClass.coe_zero, zero_mul, if_t_t]
+    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, if_t_t]
       exact Dfinsupp.sum_zero
     · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
       exact h ((self_le_add_right i x).trans_eq H)
@@ -249,7 +253,7 @@ theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι)
     rw [coe_mul_apply_eq_dfinsupp_sum, Dfinsupp.sum_comm]
     apply (Dfinsupp.sum_single_index _).trans
     swap
-    · simp_rw [ZeroMemClass.coe_zero, mul_zero, if_t_t]
+    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, if_t_t]
       exact Dfinsupp.sum_zero
     · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
       exact h ((self_le_add_left i x).trans_eq H)

Changes in mathlib4

mathlib3
mathlib4
chore: adapt to multiple goal linter 3 (#12372)

A PR analogous to #12338 and #12361: reformatting proofs following the multiple goals linter of #12339.

Diff
@@ -187,7 +187,7 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
       exact DFinsupp.sum_zero
     simp_rw [DFinsupp.sum, H, Finset.sum_ite_eq']
     split_ifs with h
-    rfl
+    · rfl
     rw [DFinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, mul_zero]
 #align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_aux
 
@@ -202,7 +202,7 @@ theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i,
       exact DFinsupp.sum_zero
     simp_rw [DFinsupp.sum, H, Finset.sum_ite_eq']
     split_ifs with h
-    rfl
+    · rfl
     rw [DFinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, zero_mul]
 #align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_aux
 
chore: Rename nat_cast/int_cast/rat_cast to natCast/intCast/ratCast (#11486)

Now that I am defining NNRat.cast, I want a definitive answer to this naming issue. Plenty of lemmas in mathlib already use natCast/intCast/ratCast over nat_cast/int_cast/rat_cast, and this matches with the general expectation that underscore-separated name parts correspond to a single declaration.

Diff
@@ -59,23 +59,23 @@ theorem SetLike.algebraMap_mem_graded [Zero ι] [CommSemiring S] [Semiring R] [A
   exact (A 0).smul_mem s <| SetLike.one_mem_graded _
 #align set_like.algebra_map_mem_graded SetLike.algebraMap_mem_graded
 
-theorem SetLike.nat_cast_mem_graded [Zero ι] [AddMonoidWithOne R] [SetLike σ R]
+theorem SetLike.natCast_mem_graded [Zero ι] [AddMonoidWithOne R] [SetLike σ R]
     [AddSubmonoidClass σ R] (A : ι → σ) [SetLike.GradedOne A] (n : ℕ) : (n : R) ∈ A 0 := by
   induction' n with _ n_ih
   · rw [Nat.cast_zero]
     exact zero_mem (A 0)
   · rw [Nat.cast_succ]
     exact add_mem n_ih (SetLike.one_mem_graded _)
-#align set_like.nat_cast_mem_graded SetLike.nat_cast_mem_graded
+#align set_like.nat_cast_mem_graded SetLike.natCast_mem_graded
 
-theorem SetLike.int_cast_mem_graded [Zero ι] [AddGroupWithOne R] [SetLike σ R]
+theorem SetLike.intCast_mem_graded [Zero ι] [AddGroupWithOne R] [SetLike σ R]
     [AddSubgroupClass σ R] (A : ι → σ) [SetLike.GradedOne A] (z : ℤ) : (z : R) ∈ A 0 := by
   induction z
   · rw [Int.ofNat_eq_coe, Int.cast_natCast]
-    exact SetLike.nat_cast_mem_graded _ _
+    exact SetLike.natCast_mem_graded _ _
   · rw [Int.cast_negSucc]
-    exact neg_mem (SetLike.nat_cast_mem_graded _ _)
-#align set_like.int_cast_mem_graded SetLike.int_cast_mem_graded
+    exact neg_mem (SetLike.natCast_mem_graded _ _)
+#align set_like.int_cast_mem_graded SetLike.intCast_mem_graded
 
 section DirectSum
 
@@ -106,7 +106,7 @@ instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass
     zero_mul := fun _ => Subtype.ext (zero_mul _)
     mul_add := fun _ _ _ => Subtype.ext (mul_add _ _ _)
     add_mul := fun _ _ _ => Subtype.ext (add_mul _ _ _)
-    natCast := fun n => ⟨n, SetLike.nat_cast_mem_graded _ _⟩
+    natCast := fun n => ⟨n, SetLike.natCast_mem_graded _ _⟩
     natCast_zero := Subtype.ext Nat.cast_zero
     natCast_succ := fun n => Subtype.ext (Nat.cast_succ n) }
 #align set_like.gsemiring SetLike.gsemiring
@@ -121,7 +121,7 @@ instance gcommSemiring [AddCommMonoid ι] [CommSemiring R] [SetLike σ R] [AddSu
 instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GRing fun i => A i :=
   { SetLike.gsemiring A with
-    intCast := fun z => ⟨z, SetLike.int_cast_mem_graded _ _⟩
+    intCast := fun z => ⟨z, SetLike.intCast_mem_graded _ _⟩
     intCast_ofNat := fun _n => Subtype.ext <| Int.cast_natCast _
     intCast_negSucc_ofNat := fun n => Subtype.ext <| Int.cast_negSucc n }
 #align set_like.gring SetLike.gring
chore(Data/Int/Cast): fix confusion between OfNat and Nat.cast lemmas (#11861)

This renames

  • Int.cast_ofNat to Int.cast_natCast
  • Int.int_cast_ofNat to Int.cast_ofNat

I think the history here is that this lemma was previously about Int.ofNat, before we globally fixed the simp-normal form to be Nat.cast.

Since the Int.cast_ofNat name is repurposed, it can't be deprecated. Int.int_cast_ofNat is such a wonky name that it was probably never used.

Diff
@@ -71,7 +71,7 @@ theorem SetLike.nat_cast_mem_graded [Zero ι] [AddMonoidWithOne R] [SetLike σ R
 theorem SetLike.int_cast_mem_graded [Zero ι] [AddGroupWithOne R] [SetLike σ R]
     [AddSubgroupClass σ R] (A : ι → σ) [SetLike.GradedOne A] (z : ℤ) : (z : R) ∈ A 0 := by
   induction z
-  · rw [Int.ofNat_eq_coe, Int.cast_ofNat]
+  · rw [Int.ofNat_eq_coe, Int.cast_natCast]
     exact SetLike.nat_cast_mem_graded _ _
   · rw [Int.cast_negSucc]
     exact neg_mem (SetLike.nat_cast_mem_graded _ _)
@@ -122,7 +122,7 @@ instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A
     [SetLike.GradedMonoid A] : DirectSum.GRing fun i => A i :=
   { SetLike.gsemiring A with
     intCast := fun z => ⟨z, SetLike.int_cast_mem_graded _ _⟩
-    intCast_ofNat := fun _n => Subtype.ext <| Int.cast_ofNat _
+    intCast_ofNat := fun _n => Subtype.ext <| Int.cast_natCast _
     intCast_negSucc_ofNat := fun n => Subtype.ext <| Int.cast_negSucc n }
 #align set_like.gring SetLike.gring
 
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -221,7 +221,6 @@ end coe
 section CanonicallyOrderedAddCommMonoid
 
 variable [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
-
 variable [CanonicallyOrderedAddCommMonoid ι] [SetLike.GradedMonoid A]
 
 theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : ¬i ≤ n) :
doc: fix typos in tags header (#11088)

Fix 1 typo, 5 lowercase, 4 header depths

Diff
@@ -35,7 +35,7 @@ When `CompleteLattice.Independent (Set.range A)` (a weaker condition than
 mapping `⨁ i, A i →+ ⨆ i, A i` can be obtained as
 `DirectSum.toAddMonoid (fun i ↦ AddSubmonoid.inclusion <| le_iSup A i)`.
 
-## tags
+## Tags
 
 internally graded ring
 -/
chore(*): replace $ with <| (#9319)

See Zulip thread for the discussion.

Diff
@@ -33,7 +33,7 @@ needed. In the future there will likely be a data-carrying, constructive, typecl
 When `CompleteLattice.Independent (Set.range A)` (a weaker condition than
 `DirectSum.IsInternal A`), these provide a grading of `⨆ i, A i`, and the
 mapping `⨁ i, A i →+ ⨆ i, A i` can be obtained as
-`DirectSum.toAddMonoid (fun i ↦ AddSubmonoid.inclusion $ le_iSup A i)`.
+`DirectSum.toAddMonoid (fun i ↦ AddSubmonoid.inclusion <| le_iSup A i)`.
 
 ## tags
 
chore(Algebra/DirectSum/Algebra): remove a redundant assumption (#7585)

commutes is implied by hone and linearity.

This matches the approach taken by AlgHom.ofLinearMap.

Diff
@@ -317,7 +317,7 @@ end Submodule
 /-- The canonical algebra isomorphism between `⨁ i, A i` and `R`. -/
 def DirectSum.coeAlgHom [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R]
     (A : ι → Submodule S R) [SetLike.GradedMonoid A] : (⨁ i, A i) →ₐ[S] R :=
-  DirectSum.toAlgebra S _ (fun i => (A i).subtype) rfl (fun _ _ => rfl) fun _ => rfl
+  DirectSum.toAlgebra S _ (fun i => (A i).subtype) rfl (fun _ _ => rfl)
 #align direct_sum.coe_alg_hom DirectSum.coeAlgHom
 
 /-- The supremum of submodules that form a graded monoid is a subalgebra, and equal to the range of
chore: rename CanonicallyOrderedAddMonoid to ..AddCommMonoid (#7503)

Renames:

CanonicallyOrderedMonoid -> CanonicallyOrderedCommMonoid

CanonicallyOrderedAddMonoid -> CanonicallyOrderedAddCommMonoid

CanonicallyLinearOrderedMonoid -> CanonicallyLinearOrderedCommMonoid

CanonicallyLinearOrderedAddMonoid -> CanonicallyLinearOrderedAddCommMonoid

Diff
@@ -218,11 +218,11 @@ theorem coe_mul_of_apply_add [AddRightCancelMonoid ι] [SetLike.GradedMonoid A]
 
 end coe
 
-section CanonicallyOrderedAddMonoid
+section CanonicallyOrderedAddCommMonoid
 
 variable [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
 
-variable [CanonicallyOrderedAddMonoid ι] [SetLike.GradedMonoid A]
+variable [CanonicallyOrderedAddCommMonoid ι] [SetLike.GradedMonoid A]
 
 theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h : ¬i ≤ n) :
     ((of (fun i => A i) i r * r') n : R) = 0 := by
@@ -251,7 +251,7 @@ theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι)
 variable [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (· + ·) (· ≤ ·)]
 
 /- The following two lemmas only require the same hypotheses as `eq_tsub_iff_add_eq_of_le`, but we
-  state them for `CanonicallyOrderedAddMonoid` + the above three typeclasses for convenience. -/
+  state them for `CanonicallyOrderedAddCommMonoid` + the above three typeclasses for convenience. -/
 theorem coe_mul_of_apply_of_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : i ≤ n) :
     ((r * of (fun i => A i) i r') n : R) = r (n - i) * r' :=
   coe_mul_of_apply_aux _ _ _ fun _x => (eq_tsub_iff_add_eq_of_le h).symm
@@ -274,7 +274,7 @@ theorem coe_of_mul_apply {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) [Decidabl
   exacts [coe_of_mul_apply_of_le _ _ _ n h, coe_of_mul_apply_of_not_le _ _ _ n h]
 #align direct_sum.coe_of_mul_apply DirectSum.coe_of_mul_apply
 
-end CanonicallyOrderedAddMonoid
+end CanonicallyOrderedAddCommMonoid
 
 end DirectSum
 
chore: drop MulZeroClass. in mul_zero/zero_mul (#6682)

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

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

Diff
@@ -92,8 +92,8 @@ instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetL
     [AddSubmonoidClass σ R] (A : ι → σ) [SetLike.GradedMul A] :
     DirectSum.GNonUnitalNonAssocSemiring fun i => A i :=
   { SetLike.gMul A with
-    mul_zero := fun _ => Subtype.ext (MulZeroClass.mul_zero _)
-    zero_mul := fun _ => Subtype.ext (MulZeroClass.zero_mul _)
+    mul_zero := fun _ => Subtype.ext (mul_zero _)
+    zero_mul := fun _ => Subtype.ext (zero_mul _)
     mul_add := fun _ _ _ => Subtype.ext (mul_add _ _ _)
     add_mul := fun _ _ _ => Subtype.ext (add_mul _ _ _) }
 #align set_like.gnon_unital_non_assoc_semiring SetLike.gnonUnitalNonAssocSemiring
@@ -102,8 +102,8 @@ instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetL
 instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GSemiring fun i => A i :=
   { SetLike.gMonoid A with
-    mul_zero := fun _ => Subtype.ext (MulZeroClass.mul_zero _)
-    zero_mul := fun _ => Subtype.ext (MulZeroClass.zero_mul _)
+    mul_zero := fun _ => Subtype.ext (mul_zero _)
+    zero_mul := fun _ => Subtype.ext (zero_mul _)
     mul_add := fun _ _ _ => Subtype.ext (mul_add _ _ _)
     add_mul := fun _ _ _ => Subtype.ext (add_mul _ _ _)
     natCast := fun n => ⟨n, SetLike.nat_cast_mem_graded _ _⟩
@@ -183,12 +183,12 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
     rw [coe_mul_apply_eq_dfinsupp_sum]
     apply (DFinsupp.sum_single_index _).trans
     swap
-    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, ite_self]
+    · simp_rw [ZeroMemClass.coe_zero, zero_mul, ite_self]
       exact DFinsupp.sum_zero
     simp_rw [DFinsupp.sum, H, Finset.sum_ite_eq']
     split_ifs with h
     rfl
-    rw [DFinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.mul_zero]
+    rw [DFinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, mul_zero]
 #align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_aux
 
 theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i) {i : ι}
@@ -198,12 +198,12 @@ theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i,
     rw [coe_mul_apply_eq_dfinsupp_sum, DFinsupp.sum_comm]
     apply (DFinsupp.sum_single_index _).trans
     swap
-    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, ite_self]
+    · simp_rw [ZeroMemClass.coe_zero, mul_zero, ite_self]
       exact DFinsupp.sum_zero
     simp_rw [DFinsupp.sum, H, Finset.sum_ite_eq']
     split_ifs with h
     rfl
-    rw [DFinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.zero_mul]
+    rw [DFinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, zero_mul]
 #align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_aux
 
 theorem coe_of_mul_apply_add [AddLeftCancelMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
@@ -230,7 +230,7 @@ theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι)
     rw [coe_mul_apply_eq_dfinsupp_sum]
     apply (DFinsupp.sum_single_index _).trans
     swap
-    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, ite_self]
+    · simp_rw [ZeroMemClass.coe_zero, zero_mul, ite_self]
       exact DFinsupp.sum_zero
     · rw [DFinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
       exact fun x _ H => h ((self_le_add_right i x).trans_eq H)
@@ -242,7 +242,7 @@ theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι)
     rw [coe_mul_apply_eq_dfinsupp_sum, DFinsupp.sum_comm]
     apply (DFinsupp.sum_single_index _).trans
     swap
-    · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, ite_self]
+    · simp_rw [ZeroMemClass.coe_zero, mul_zero, ite_self]
       exact DFinsupp.sum_zero
     · rw [DFinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
       exact fun x _ H => h ((self_le_add_left i x).trans_eq H)
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
@@ -43,7 +43,7 @@ internally graded ring
 
 open DirectSum BigOperators
 
-variable {ι : Type _} {σ S R : Type _}
+variable {ι : Type*} {σ S R : Type*}
 
 instance AddCommMonoid.ofSubmonoidOnSemiring [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R]
     (A : ι → σ) : ∀ i, AddCommMonoid (A i) := fun i => by infer_instance
chore: fix names (Add)SubmonoidClass.Subtype (#6374)
Diff
@@ -142,7 +142,7 @@ variable [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
 
 /-- The canonical ring isomorphism between `⨁ i, A i` and `R`-/
 def coeRingHom [AddMonoid ι] [SetLike.GradedMonoid A] : (⨁ i, A i) →+* R :=
-  DirectSum.toSemiring (fun i => AddSubmonoidClass.Subtype (A i)) rfl fun _ _ => rfl
+  DirectSum.toSemiring (fun i => AddSubmonoidClass.subtype (A i)) rfl fun _ _ => rfl
 #align direct_sum.coe_ring_hom DirectSum.coeRingHom
 
 /-- The canonical ring isomorphism between `⨁ i, A i` and `R`-/
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,16 +2,13 @@
 Copyright (c) 2021 Eric Wieser. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Eric Wieser, Kevin Buzzard, Jujian Zhang
-
-! This file was ported from Lean 3 source module algebra.direct_sum.internal
-! leanprover-community/mathlib commit 9936c3dfc04e5876f4368aeb2e60f8d8358d095a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Algebra.Operations
 import Mathlib.Algebra.Algebra.Subalgebra.Basic
 import Mathlib.Algebra.DirectSum.Algebra
 
+#align_import algebra.direct_sum.internal from "leanprover-community/mathlib"@"9936c3dfc04e5876f4368aeb2e60f8d8358d095a"
+
 /-!
 # Internally graded rings and algebras
 
chore: rename Dfinsupp to DFinsupp (#5822)

See #4354

Diff
@@ -160,7 +160,7 @@ theorem coe_mul_apply [AddMonoid ι] [SetLike.GradedMonoid A]
     ((r * r') n : R) =
       ∑ ij in (r.support ×ˢ r'.support).filter (fun ij : ι × ι => ij.1 + ij.2 = n),
         (r ij.1 * r' ij.2 : R) := by
-  rw [mul_eq_sum_support_ghas_mul, Dfinsupp.finset_sum_apply, AddSubmonoidClass.coe_finset_sum]
+  rw [mul_eq_sum_support_ghas_mul, DFinsupp.finset_sum_apply, AddSubmonoidClass.coe_finset_sum]
   simp_rw [coe_of_apply, apply_ite, ZeroMemClass.coe_zero, ← Finset.sum_filter, SetLike.coe_gMul]
 #align direct_sum.coe_mul_apply DirectSum.coe_mul_apply
 
@@ -169,7 +169,7 @@ theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
     ((r * r') n : R) = r.sum fun i ri => r'.sum fun j rj => if i + j = n then (ri * rj : R)
       else 0 := by
   rw [mul_eq_dfinsupp_sum]
-  iterate 2 rw [Dfinsupp.sum_apply, Dfinsupp.sum, AddSubmonoidClass.coe_finset_sum]; congr; ext
+  iterate 2 rw [DFinsupp.sum_apply, DFinsupp.sum, AddSubmonoidClass.coe_finset_sum]; congr; ext
   dsimp only
   split_ifs with h
   · subst h
@@ -184,29 +184,29 @@ theorem coe_of_mul_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r
     ((of (fun i => A i) i r * r') n : R) = r * r' j := by
   classical
     rw [coe_mul_apply_eq_dfinsupp_sum]
-    apply (Dfinsupp.sum_single_index _).trans
+    apply (DFinsupp.sum_single_index _).trans
     swap
     · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, ite_self]
-      exact Dfinsupp.sum_zero
-    simp_rw [Dfinsupp.sum, H, Finset.sum_ite_eq']
+      exact DFinsupp.sum_zero
+    simp_rw [DFinsupp.sum, H, Finset.sum_ite_eq']
     split_ifs with h
     rfl
-    rw [Dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.mul_zero]
+    rw [DFinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.mul_zero]
 #align direct_sum.coe_of_mul_apply_aux DirectSum.coe_of_mul_apply_aux
 
 theorem coe_mul_of_apply_aux [AddMonoid ι] [SetLike.GradedMonoid A] (r : ⨁ i, A i) {i : ι}
     (r' : A i) {j n : ι} (H : ∀ x : ι, x + i = n ↔ x = j) :
     ((r * of (fun i => A i) i r') n : R) = r j * r' := by
   classical
-    rw [coe_mul_apply_eq_dfinsupp_sum, Dfinsupp.sum_comm]
-    apply (Dfinsupp.sum_single_index _).trans
+    rw [coe_mul_apply_eq_dfinsupp_sum, DFinsupp.sum_comm]
+    apply (DFinsupp.sum_single_index _).trans
     swap
     · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, ite_self]
-      exact Dfinsupp.sum_zero
-    simp_rw [Dfinsupp.sum, H, Finset.sum_ite_eq']
+      exact DFinsupp.sum_zero
+    simp_rw [DFinsupp.sum, H, Finset.sum_ite_eq']
     split_ifs with h
     rfl
-    rw [Dfinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.zero_mul]
+    rw [DFinsupp.not_mem_support_iff.mp h, ZeroMemClass.coe_zero, MulZeroClass.zero_mul]
 #align direct_sum.coe_mul_of_apply_aux DirectSum.coe_mul_of_apply_aux
 
 theorem coe_of_mul_apply_add [AddLeftCancelMonoid ι] [SetLike.GradedMonoid A] {i : ι} (r : A i)
@@ -231,23 +231,23 @@ theorem coe_of_mul_apply_of_not_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι)
     ((of (fun i => A i) i r * r') n : R) = 0 := by
   classical
     rw [coe_mul_apply_eq_dfinsupp_sum]
-    apply (Dfinsupp.sum_single_index _).trans
+    apply (DFinsupp.sum_single_index _).trans
     swap
     · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.zero_mul, ite_self]
-      exact Dfinsupp.sum_zero
-    · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
+      exact DFinsupp.sum_zero
+    · rw [DFinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
       exact fun x _ H => h ((self_le_add_right i x).trans_eq H)
 #align direct_sum.coe_of_mul_apply_of_not_le DirectSum.coe_of_mul_apply_of_not_le
 
 theorem coe_mul_of_apply_of_not_le (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) (h : ¬i ≤ n) :
     ((r * of (fun i => A i) i r') n : R) = 0 := by
   classical
-    rw [coe_mul_apply_eq_dfinsupp_sum, Dfinsupp.sum_comm]
-    apply (Dfinsupp.sum_single_index _).trans
+    rw [coe_mul_apply_eq_dfinsupp_sum, DFinsupp.sum_comm]
+    apply (DFinsupp.sum_single_index _).trans
     swap
     · simp_rw [ZeroMemClass.coe_zero, MulZeroClass.mul_zero, ite_self]
-      exact Dfinsupp.sum_zero
-    · rw [Dfinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
+      exact DFinsupp.sum_zero
+    · rw [DFinsupp.sum, Finset.sum_ite_of_false _ _ fun x _ H => _, Finset.sum_const_zero]
       exact fun x _ H => h ((self_le_add_left i x).trans_eq H)
 #align direct_sum.coe_mul_of_apply_of_not_le DirectSum.coe_mul_of_apply_of_not_le
 
fix: precedences of ⨆⋃⋂⨅ (#5614)
Diff
@@ -327,7 +327,7 @@ def DirectSum.coeAlgHom [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S
 `DirectSum.coeAlgHom`. -/
 theorem Submodule.iSup_eq_toSubmodule_range [AddMonoid ι] [CommSemiring S] [Semiring R]
     [Algebra S R] (A : ι → Submodule S R) [SetLike.GradedMonoid A] :
-    (⨆ i, A i) = Subalgebra.toSubmodule (DirectSum.coeAlgHom A).range :=
+    ⨆ i, A i = Subalgebra.toSubmodule (DirectSum.coeAlgHom A).range :=
   (Submodule.iSup_eq_range_dfinsupp_lsum A).trans <| SetLike.coe_injective rfl
 #align submodule.supr_eq_to_submodule_range Submodule.iSup_eq_toSubmodule_range
 
chore: convert lambda in docs to fun (#5045)

Found with git grep -n "λ [a-zA-Z_ ]*,"

Diff
@@ -36,7 +36,7 @@ needed. In the future there will likely be a data-carrying, constructive, typecl
 When `CompleteLattice.Independent (Set.range A)` (a weaker condition than
 `DirectSum.IsInternal A`), these provide a grading of `⨆ i, A i`, and the
 mapping `⨁ i, A i →+ ⨆ i, A i` can be obtained as
-`DirectSum.toAddMonoid (λ i, AddSubmonoid.inclusion $ le_iSup A i)`.
+`DirectSum.toAddMonoid (fun i ↦ AddSubmonoid.inclusion $ le_iSup A i)`.
 
 ## tags
 
chore: tidy various files (#4466)
Diff
@@ -15,8 +15,8 @@ import Mathlib.Algebra.DirectSum.Algebra
 /-!
 # Internally graded rings and algebras
 
-This module provides `gsemiring` and `gcomm_semiring` instances for a collection of subobjects `A`
-when a `SetLike.GradedMonoid` instance is available:
+This module provides `DirectSum.GSemiring` and `DirectSum.GCommSemiring` instances for a collection
+of subobjects `A` when a `SetLike.GradedMonoid` instance is available:
 
 * `SetLike.gnonUnitalNonAssocSemiring`
 * `SetLike.gsemiring`
@@ -26,7 +26,7 @@ With these instances in place, it provides the bundled canonical maps out of a d
 subobjects into their carrier type:
 
 * `DirectSum.coeRingHom` (a `RingHom` version of `DirectSum.coeAddMonoidHom`)
-* `DirectSum.coeAlgHom` (an `AlgHom` version of `direct_sum.submodule_coe`)
+* `DirectSum.coeAlgHom` (an `AlgHom` version of `DirectSum.coeLinearMap`)
 
 Strictly the definitions in this file are not sufficient to fully define an "internal" direct sum;
 to represent this case, `(h : DirectSum.IsInternal A) [SetLike.GradedMonoid A]` is
@@ -36,7 +36,7 @@ needed. In the future there will likely be a data-carrying, constructive, typecl
 When `CompleteLattice.Independent (Set.range A)` (a weaker condition than
 `DirectSum.IsInternal A`), these provide a grading of `⨆ i, A i`, and the
 mapping `⨁ i, A i →+ ⨆ i, A i` can be obtained as
-`direct_sum.to_monoid (λ i, AddSubmonoid.inclusion $ le_iSup A i)`.
+`DirectSum.toAddMonoid (λ i, AddSubmonoid.inclusion $ le_iSup A i)`.
 
 ## tags
 
@@ -89,25 +89,22 @@ variable [DecidableEq ι]
 
 namespace SetLike
 
-/-- Build a `gnon_unital_non_assoc_semiring` instance for a collection of additive submonoids. -/
+/-- Build a `DirectSum.GNonUnitalNonAssocSemiring` instance for a collection of additive
+submonoids. -/
 instance gnonUnitalNonAssocSemiring [Add ι] [NonUnitalNonAssocSemiring R] [SetLike σ R]
     [AddSubmonoidClass σ R] (A : ι → σ) [SetLike.GradedMul A] :
     DirectSum.GNonUnitalNonAssocSemiring fun i => A i :=
-  {
-    SetLike.gMul
-      A with
+  { SetLike.gMul A with
     mul_zero := fun _ => Subtype.ext (MulZeroClass.mul_zero _)
     zero_mul := fun _ => Subtype.ext (MulZeroClass.zero_mul _)
     mul_add := fun _ _ _ => Subtype.ext (mul_add _ _ _)
     add_mul := fun _ _ _ => Subtype.ext (add_mul _ _ _) }
 #align set_like.gnon_unital_non_assoc_semiring SetLike.gnonUnitalNonAssocSemiring
 
-/-- Build a `gsemiring` instance for a collection of additive submonoids. -/
+/-- Build a `DirectSum.GSemiring` instance for a collection of additive submonoids. -/
 instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GSemiring fun i => A i :=
-  {
-    SetLike.gMonoid
-      A with
+  { SetLike.gMonoid A with
     mul_zero := fun _ => Subtype.ext (MulZeroClass.mul_zero _)
     zero_mul := fun _ => Subtype.ext (MulZeroClass.zero_mul _)
     mul_add := fun _ _ _ => Subtype.ext (mul_add _ _ _)
@@ -117,24 +114,22 @@ instance gsemiring [AddMonoid ι] [Semiring R] [SetLike σ R] [AddSubmonoidClass
     natCast_succ := fun n => Subtype.ext (Nat.cast_succ n) }
 #align set_like.gsemiring SetLike.gsemiring
 
-/-- Build a `gcomm_semiring` instance for a collection of additive submonoids. -/
+/-- Build a `DirectSum.GCommSemiring` instance for a collection of additive submonoids. -/
 instance gcommSemiring [AddCommMonoid ι] [CommSemiring R] [SetLike σ R] [AddSubmonoidClass σ R]
     (A : ι → σ) [SetLike.GradedMonoid A] : DirectSum.GCommSemiring fun i => A i :=
   { SetLike.gCommMonoid A, SetLike.gsemiring A with }
 #align set_like.gcomm_semiring SetLike.gcommSemiring
 
-/-- Build a `gring` instance for a collection of additive subgroups. -/
+/-- Build a `DirectSum.GRing` instance for a collection of additive subgroups. -/
 instance gring [AddMonoid ι] [Ring R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GRing fun i => A i :=
-  {
-    SetLike.gsemiring
-      A with
+  { SetLike.gsemiring A with
     intCast := fun z => ⟨z, SetLike.int_cast_mem_graded _ _⟩
     intCast_ofNat := fun _n => Subtype.ext <| Int.cast_ofNat _
     intCast_negSucc_ofNat := fun n => Subtype.ext <| Int.cast_negSucc n }
 #align set_like.gring SetLike.gring
 
-/-- Build a `gcomm_semiring` instance for a collection of additive submonoids. -/
+/-- Build a `DirectSum.GCommRing` instance for a collection of additive submonoids. -/
 instance gcommRing [AddCommMonoid ι] [CommRing R] [SetLike σ R] [AddSubgroupClass σ R] (A : ι → σ)
     [SetLike.GradedMonoid A] : DirectSum.GCommRing fun i => A i :=
   { SetLike.gCommMonoid A, SetLike.gring A with }
@@ -165,9 +160,8 @@ theorem coe_mul_apply [AddMonoid ι] [SetLike.GradedMonoid A]
     ((r * r') n : R) =
       ∑ ij in (r.support ×ˢ r'.support).filter (fun ij : ι × ι => ij.1 + ij.2 = n),
         (r ij.1 * r' ij.2 : R) := by
-    rw [mul_eq_sum_support_ghas_mul, Dfinsupp.finset_sum_apply, AddSubmonoidClass.coe_finset_sum]
-    simp_rw [coe_of_apply, apply_ite, ZeroMemClass.coe_zero, ← Finset.sum_filter, SetLike.coe_gMul]
-
+  rw [mul_eq_sum_support_ghas_mul, Dfinsupp.finset_sum_apply, AddSubmonoidClass.coe_finset_sum]
+  simp_rw [coe_of_apply, apply_ite, ZeroMemClass.coe_zero, ← Finset.sum_filter, SetLike.coe_gMul]
 #align direct_sum.coe_mul_apply DirectSum.coe_mul_apply
 
 theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
@@ -176,7 +170,8 @@ theorem coe_mul_apply_eq_dfinsupp_sum [AddMonoid ι] [SetLike.GradedMonoid A]
       else 0 := by
   rw [mul_eq_dfinsupp_sum]
   iterate 2 rw [Dfinsupp.sum_apply, Dfinsupp.sum, AddSubmonoidClass.coe_finset_sum]; congr; ext
-  dsimp only; split_ifs with h
+  dsimp only
+  split_ifs with h
   · subst h
     rw [of_eq_same]
     rfl
@@ -273,13 +268,13 @@ theorem coe_of_mul_apply_of_le {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) (h
 theorem coe_mul_of_apply (r : ⨁ i, A i) {i : ι} (r' : A i) (n : ι) [Decidable (i ≤ n)] :
     ((r * of (fun i => A i) i r') n : R) = if i ≤ n then (r (n - i) : R) * r' else 0 := by
   split_ifs with h
-  exacts[coe_mul_of_apply_of_le _ _ _ n h, coe_mul_of_apply_of_not_le _ _ _ n h]
+  exacts [coe_mul_of_apply_of_le _ _ _ n h, coe_mul_of_apply_of_not_le _ _ _ n h]
 #align direct_sum.coe_mul_of_apply DirectSum.coe_mul_of_apply
 
 theorem coe_of_mul_apply {i : ι} (r : A i) (r' : ⨁ i, A i) (n : ι) [Decidable (i ≤ n)] :
     ((of (fun i => A i) i r * r') n : R) = if i ≤ n then (r * r' (n - i) : R) else 0 := by
   split_ifs with h
-  exacts[coe_of_mul_apply_of_le _ _ _ n h, coe_of_mul_apply_of_not_le _ _ _ n h]
+  exacts [coe_of_mul_apply_of_le _ _ _ n h, coe_of_mul_apply_of_not_le _ _ _ n h]
 #align direct_sum.coe_of_mul_apply DirectSum.coe_of_mul_apply
 
 end CanonicallyOrderedAddMonoid
@@ -291,7 +286,7 @@ end DirectSum
 
 namespace Submodule
 
-/-- Build a `galgebra` instance for a collection of `Submodule`s. -/
+/-- Build a `DirectSum.GAlgebra` instance for a collection of `Submodule`s. -/
 instance galgebra [AddMonoid ι] [CommSemiring S] [Semiring R] [Algebra S R] (A : ι → Submodule S R)
     [SetLike.GradedMonoid A] : DirectSum.GAlgebra S fun i => A i where
   toFun :=
refactor: use the typeclass SProd to implement overloaded notation · ×ˢ · (#4200)

Currently, the following notations are changed from · ×ˢ · because Lean 4 can't deal with ambiguous notations. | Definition | Notation | | :

Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Chris Hughes <chrishughes24@gmail.com>

Diff
@@ -163,7 +163,7 @@ theorem coeRingHom_of [AddMonoid ι] [SetLike.GradedMonoid A] (i : ι) (x : A i)
 theorem coe_mul_apply [AddMonoid ι] [SetLike.GradedMonoid A]
     [∀ (i : ι) (x : A i), Decidable (x ≠ 0)] (r r' : ⨁ i, A i) (n : ι) :
     ((r * r') n : R) =
-      ∑ ij in (r.support ×ᶠ r'.support).filter (fun ij : ι × ι => ij.1 + ij.2 = n),
+      ∑ ij in (r.support ×ˢ r'.support).filter (fun ij : ι × ι => ij.1 + ij.2 = n),
         (r ij.1 * r' ij.2 : R) := by
     rw [mul_eq_sum_support_ghas_mul, Dfinsupp.finset_sum_apply, AddSubmonoidClass.coe_finset_sum]
     simp_rw [coe_of_apply, apply_ite, ZeroMemClass.coe_zero, ← Finset.sum_filter, SetLike.coe_gMul]
feat port: Algebra.DirectSum.Internal (#4078)

Dependencies 8 + 460

461 files ported (98.3%)
190655 lines ported (98.4%)
Show graph

The unported dependencies are