algebra.direct_sum.internal
⟷
Mathlib.Algebra.DirectSum.Internal
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/4e24c4bfcff371c71f7ba22050308aa17815626c
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -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 ι ι (· + ·) (· ≤ ·)]
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -47,7 +47,7 @@ internally graded ring
-/
-open DirectSum BigOperators
+open scoped DirectSum BigOperators
variable {ι : Type _} {σ S R : Type _}
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/33c67ae661dd8988516ff7f247b0be3018cdd952
@@ -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:
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -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`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/f8c79b0a623404854a2902b836eac32156fd7712
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/f8c79b0a623404854a2902b836eac32156fd7712
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -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
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.
@@ -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
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.
@@ -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
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)
@@ -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) :
@@ -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
-/
$
with <|
(#9319)
See Zulip thread for the discussion.
@@ -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
commutes
is implied by hone
and linearity.
This matches the approach taken by AlgHom.ofLinearMap
.
@@ -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
Renames:
CanonicallyOrderedMonoid
->
CanonicallyOrderedCommMonoid
CanonicallyOrderedAddMonoid
->
CanonicallyOrderedAddCommMonoid
CanonicallyLinearOrderedMonoid
->
CanonicallyLinearOrderedCommMonoid
CanonicallyLinearOrderedAddMonoid
->
CanonicallyLinearOrderedAddCommMonoid
@@ -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
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).
@@ -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)
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -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
@@ -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`-/
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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 :=
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>
@@ -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]
The unported dependencies are