ring_theory.graded_algebra.basicMathlib.RingTheory.GradedAlgebra.Basic

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -318,7 +318,7 @@ def GradedRing.projZeroRingHom : A →+* A
               decompose_of_mem_same 𝒜 (show c ∈ 𝒜 0 from (add_eq_zero_iff.mp h).1 ▸ hc),
               decompose_of_mem_same 𝒜 (show c' ∈ 𝒜 0 from (add_eq_zero_iff.mp h).2 ▸ hc')]
           · rw [decompose_of_mem_ne 𝒜 (mul_mem hc hc') h]
-            cases' show i ≠ 0 ∨ j ≠ 0 by rwa [add_eq_zero_iff, not_and_or] at h  with h' h'
+            cases' show i ≠ 0 ∨ j ≠ 0 by rwa [add_eq_zero_iff, not_and_or] at h with h' h'
             · simp only [decompose_of_mem_ne 𝒜 hc h', MulZeroClass.zero_mul]
             · simp only [decompose_of_mem_ne 𝒜 hc' h', MulZeroClass.mul_zero]
       · intro _ _ hd he
Diff
@@ -289,7 +289,7 @@ open SetLike.GradedMonoid DirectSum
 
 variable [Semiring A] [DecidableEq ι]
 
-variable [CanonicallyOrderedAddMonoid ι]
+variable [CanonicallyOrderedAddCommMonoid ι]
 
 variable [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
 
Diff
@@ -3,10 +3,10 @@ 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.DirectSum.Algebra
-import Mathbin.Algebra.DirectSum.Decomposition
-import Mathbin.Algebra.DirectSum.Internal
-import Mathbin.Algebra.DirectSum.Ring
+import Algebra.DirectSum.Algebra
+import Algebra.DirectSum.Decomposition
+import Algebra.DirectSum.Internal
+import Algebra.DirectSum.Ring
 
 #align_import ring_theory.graded_algebra.basic from "leanprover-community/mathlib"@"1b0a28e1c93409dbf6d69526863cd9984ef652ce"
 
Diff
@@ -81,7 +81,7 @@ def decomposeRingEquiv : A ≃+* ⨁ i, 𝒜 i :=
   RingEquiv.symm
     {
       (decomposeAddEquiv 𝒜).symm with
-      map_mul' := (coeRingHom 𝒜).map_mul
+      map_mul' := (coeRingHom 𝒜).map_hMul
       map_add' := (coeRingHom 𝒜).map_add }
 #align direct_sum.decompose_ring_equiv DirectSum.decomposeRingEquiv
 -/
@@ -240,8 +240,9 @@ an algebra to a direct sum of components. -/
 @[simps]
 def decomposeAlgEquiv : A ≃ₐ[R] ⨁ i, 𝒜 i :=
   AlgEquiv.symm
-    { (decomposeAddEquiv 𝒜).symm with
-      map_mul' := (coeAlgHom 𝒜).map_mul
+    {
+      (decomposeAddEquiv 𝒜).symm with
+      map_mul' := (coeAlgHom 𝒜).map_hMul
       map_add' := (coeAlgHom 𝒜).map_add
       commutes' := (coeAlgHom 𝒜).commutes }
 #align direct_sum.decompose_alg_equiv DirectSum.decomposeAlgEquiv
Diff
@@ -120,7 +120,7 @@ end DirectSum
 #print GradedRing.proj /-
 /-- The projection maps of a graded ring -/
 def GradedRing.proj (i : ι) : A →+ A :=
-  (AddSubmonoidClass.Subtype (𝒜 i)).comp <|
+  (AddSubmonoidClass.subtype (𝒜 i)).comp <|
     (DFinsupp.evalAddMonoidHom i).comp <|
       RingHom.toAddMonoidHom <| RingEquiv.toRingHom <| DirectSum.decomposeRingEquiv 𝒜
 #align graded_ring.proj GradedRing.proj
Diff
@@ -2,17 +2,14 @@
 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 ring_theory.graded_algebra.basic
-! leanprover-community/mathlib commit 1b0a28e1c93409dbf6d69526863cd9984ef652ce
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.DirectSum.Algebra
 import Mathbin.Algebra.DirectSum.Decomposition
 import Mathbin.Algebra.DirectSum.Internal
 import Mathbin.Algebra.DirectSum.Ring
 
+#align_import ring_theory.graded_algebra.basic from "leanprover-community/mathlib"@"1b0a28e1c93409dbf6d69526863cd9984ef652ce"
+
 /-!
 # Internally-graded rings and algebras
 
Diff
@@ -124,7 +124,7 @@ end DirectSum
 /-- The projection maps of a graded ring -/
 def GradedRing.proj (i : ι) : A →+ A :=
   (AddSubmonoidClass.Subtype (𝒜 i)).comp <|
-    (Dfinsupp.evalAddMonoidHom i).comp <|
+    (DFinsupp.evalAddMonoidHom i).comp <|
       RingHom.toAddMonoidHom <| RingEquiv.toRingHom <| DirectSum.decomposeRingEquiv 𝒜
 #align graded_ring.proj GradedRing.proj
 -/
@@ -147,7 +147,7 @@ theorem GradedRing.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
 #print GradedRing.mem_support_iff /-
 theorem GradedRing.mem_support_iff [∀ (i) (x : 𝒜 i), Decidable (x ≠ 0)] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedRing.proj 𝒜 i r ≠ 0 :=
-  Dfinsupp.mem_support_iff.trans ZeroMemClass.coe_eq_zero.Not.symm
+  DFinsupp.mem_support_iff.trans ZeroMemClass.coe_eq_zero.Not.symm
 #align graded_ring.mem_support_iff GradedRing.mem_support_iff
 -/
 
@@ -257,7 +257,7 @@ open DirectSum
 #print GradedAlgebra.proj /-
 /-- The projection maps of graded algebra-/
 def GradedAlgebra.proj (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (i : ι) : A →ₗ[R] A :=
-  (𝒜 i).Subtype.comp <| (Dfinsupp.lapply i).comp <| (decomposeAlgEquiv 𝒜).toAlgHom.toLinearMap
+  (𝒜 i).Subtype.comp <| (DFinsupp.lapply i).comp <| (decomposeAlgEquiv 𝒜).toAlgHom.toLinearMap
 #align graded_algebra.proj GradedAlgebra.proj
 -/
 
@@ -279,7 +279,7 @@ theorem GradedAlgebra.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
 #print GradedAlgebra.mem_support_iff /-
 theorem GradedAlgebra.mem_support_iff [DecidableEq A] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedAlgebra.proj 𝒜 i r ≠ 0 :=
-  Dfinsupp.mem_support_iff.trans Submodule.coe_eq_zero.Not.symm
+  DFinsupp.mem_support_iff.trans Submodule.coe_eq_zero.Not.symm
 #align graded_algebra.mem_support_iff GradedAlgebra.mem_support_iff
 -/
 
Diff
@@ -228,7 +228,7 @@ def GradedAlgebra.ofAlgHom [SetLike.GradedMonoid 𝒜] (decompose : A →ₐ[R]
   right_inv := by
     suffices : decompose.comp (DirectSum.coeAlgHom 𝒜) = AlgHom.id _ _
     exact AlgHom.congr_fun this
-    ext (i x) : 2
+    ext i x : 2
     exact (decompose.congr_arg <| DirectSum.coeAlgHom_of _ _ _).trans (left_inv i x)
 #align graded_algebra.of_alg_hom GradedAlgebra.ofAlgHom
 -/
Diff
@@ -57,8 +57,6 @@ variable [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A] [Algebra
 
 variable [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ)
 
-include A
-
 open DirectSum
 
 #print GradedRing /-
@@ -79,6 +77,7 @@ variable [GradedRing 𝒜]
 
 namespace DirectSum
 
+#print DirectSum.decomposeRingEquiv /-
 /-- If `A` is graded by `ι` with degree `i` component `𝒜 i`, then it is isomorphic as
 a ring to a direct sum of components. -/
 def decomposeRingEquiv : A ≃+* ⨁ i, 𝒜 i :=
@@ -88,27 +87,36 @@ def decomposeRingEquiv : A ≃+* ⨁ i, 𝒜 i :=
       map_mul' := (coeRingHom 𝒜).map_mul
       map_add' := (coeRingHom 𝒜).map_add }
 #align direct_sum.decompose_ring_equiv DirectSum.decomposeRingEquiv
+-/
 
+#print DirectSum.decompose_one /-
 @[simp]
 theorem decompose_one : decompose 𝒜 (1 : A) = 1 :=
   map_one (decomposeRingEquiv 𝒜)
 #align direct_sum.decompose_one DirectSum.decompose_one
+-/
 
+#print DirectSum.decompose_symm_one /-
 @[simp]
 theorem decompose_symm_one : (decompose 𝒜).symm 1 = (1 : A) :=
   map_one (decomposeRingEquiv 𝒜).symm
 #align direct_sum.decompose_symm_one DirectSum.decompose_symm_one
+-/
 
+#print DirectSum.decompose_mul /-
 @[simp]
 theorem decompose_mul (x y : A) : decompose 𝒜 (x * y) = decompose 𝒜 x * decompose 𝒜 y :=
   map_mul (decomposeRingEquiv 𝒜) x y
 #align direct_sum.decompose_mul DirectSum.decompose_mul
+-/
 
+#print DirectSum.decompose_symm_mul /-
 @[simp]
 theorem decompose_symm_mul (x y : ⨁ i, 𝒜 i) :
     (decompose 𝒜).symm (x * y) = (decompose 𝒜).symm x * (decompose 𝒜).symm y :=
   map_mul (decomposeRingEquiv 𝒜).symm x y
 #align direct_sum.decompose_symm_mul DirectSum.decompose_symm_mul
+-/
 
 end DirectSum
 
@@ -121,21 +129,27 @@ def GradedRing.proj (i : ι) : A →+ A :=
 #align graded_ring.proj GradedRing.proj
 -/
 
+#print GradedRing.proj_apply /-
 @[simp]
 theorem GradedRing.proj_apply (i : ι) (r : A) :
     GradedRing.proj 𝒜 i r = (decompose 𝒜 r : ⨁ i, 𝒜 i) i :=
   rfl
 #align graded_ring.proj_apply GradedRing.proj_apply
+-/
 
+#print GradedRing.proj_recompose /-
 theorem GradedRing.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
     GradedRing.proj 𝒜 i ((decompose 𝒜).symm a) = (decompose 𝒜).symm (DirectSum.of _ i (a i)) := by
   rw [GradedRing.proj_apply, decompose_symm_of, Equiv.apply_symm_apply]
 #align graded_ring.proj_recompose GradedRing.proj_recompose
+-/
 
+#print GradedRing.mem_support_iff /-
 theorem GradedRing.mem_support_iff [∀ (i) (x : 𝒜 i), Decidable (x ≠ 0)] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedRing.proj 𝒜 i r ≠ 0 :=
   Dfinsupp.mem_support_iff.trans ZeroMemClass.coe_eq_zero.Not.symm
 #align graded_ring.mem_support_iff GradedRing.mem_support_iff
+-/
 
 end GradedRing
 
@@ -149,27 +163,35 @@ variable {i j : ι}
 
 namespace DirectSum
 
+#print DirectSum.coe_decompose_mul_add_of_left_mem /-
 theorem coe_decompose_mul_add_of_left_mem [AddLeftCancelMonoid ι] [GradedRing 𝒜] {a b : A}
     (a_mem : a ∈ 𝒜 i) : (decompose 𝒜 (a * b) (i + j) : A) = a * decompose 𝒜 b j := by
   lift a to 𝒜 i using a_mem; rw [decompose_mul, decompose_coe, coe_of_mul_apply_add]
 #align direct_sum.coe_decompose_mul_add_of_left_mem DirectSum.coe_decompose_mul_add_of_left_mem
+-/
 
+#print DirectSum.coe_decompose_mul_add_of_right_mem /-
 theorem coe_decompose_mul_add_of_right_mem [AddRightCancelMonoid ι] [GradedRing 𝒜] {a b : A}
     (b_mem : b ∈ 𝒜 j) : (decompose 𝒜 (a * b) (i + j) : A) = decompose 𝒜 a i * b := by
   lift b to 𝒜 j using b_mem; rw [decompose_mul, decompose_coe, coe_mul_of_apply_add]
 #align direct_sum.coe_decompose_mul_add_of_right_mem DirectSum.coe_decompose_mul_add_of_right_mem
+-/
 
+#print DirectSum.decompose_mul_add_left /-
 theorem decompose_mul_add_left [AddLeftCancelMonoid ι] [GradedRing 𝒜] (a : 𝒜 i) {b : A} :
     decompose 𝒜 (↑a * b) (i + j) =
       @GradedMonoid.GMul.mul ι (fun i => 𝒜 i) _ _ _ _ a (decompose 𝒜 b j) :=
   Subtype.ext <| coe_decompose_mul_add_of_left_mem 𝒜 a.2
 #align direct_sum.decompose_mul_add_left DirectSum.decompose_mul_add_left
+-/
 
+#print DirectSum.decompose_mul_add_right /-
 theorem decompose_mul_add_right [AddRightCancelMonoid ι] [GradedRing 𝒜] {a : A} (b : 𝒜 j) :
     decompose 𝒜 (a * ↑b) (i + j) =
       @GradedMonoid.GMul.mul ι (fun i => 𝒜 i) _ _ _ _ (decompose 𝒜 a i) b :=
   Subtype.ext <| coe_decompose_mul_add_of_right_mem 𝒜 b.2
 #align direct_sum.decompose_mul_add_right DirectSum.decompose_mul_add_right
+-/
 
 end DirectSum
 
@@ -239,21 +261,27 @@ def GradedAlgebra.proj (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (i : 
 #align graded_algebra.proj GradedAlgebra.proj
 -/
 
+#print GradedAlgebra.proj_apply /-
 @[simp]
 theorem GradedAlgebra.proj_apply (i : ι) (r : A) :
     GradedAlgebra.proj 𝒜 i r = (decompose 𝒜 r : ⨁ i, 𝒜 i) i :=
   rfl
 #align graded_algebra.proj_apply GradedAlgebra.proj_apply
+-/
 
+#print GradedAlgebra.proj_recompose /-
 theorem GradedAlgebra.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
     GradedAlgebra.proj 𝒜 i ((decompose 𝒜).symm a) = (decompose 𝒜).symm (of _ i (a i)) := by
   rw [GradedAlgebra.proj_apply, decompose_symm_of, Equiv.apply_symm_apply]
 #align graded_algebra.proj_recompose GradedAlgebra.proj_recompose
+-/
 
+#print GradedAlgebra.mem_support_iff /-
 theorem GradedAlgebra.mem_support_iff [DecidableEq A] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedAlgebra.proj 𝒜 i r ≠ 0 :=
   Dfinsupp.mem_support_iff.trans Submodule.coe_eq_zero.Not.symm
 #align graded_algebra.mem_support_iff GradedAlgebra.mem_support_iff
+-/
 
 end GradedAlgebra
 
@@ -306,37 +334,49 @@ variable {a b : A} {n i : ι}
 
 namespace DirectSum
 
+#print DirectSum.coe_decompose_mul_of_left_mem_of_not_le /-
 theorem coe_decompose_mul_of_left_mem_of_not_le (a_mem : a ∈ 𝒜 i) (h : ¬i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = 0 := by lift a to 𝒜 i using a_mem;
   rwa [decompose_mul, decompose_coe, coe_of_mul_apply_of_not_le]
 #align direct_sum.coe_decompose_mul_of_left_mem_of_not_le DirectSum.coe_decompose_mul_of_left_mem_of_not_le
+-/
 
+#print DirectSum.coe_decompose_mul_of_right_mem_of_not_le /-
 theorem coe_decompose_mul_of_right_mem_of_not_le (b_mem : b ∈ 𝒜 i) (h : ¬i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = 0 := by lift b to 𝒜 i using b_mem;
   rwa [decompose_mul, decompose_coe, coe_mul_of_apply_of_not_le]
 #align direct_sum.coe_decompose_mul_of_right_mem_of_not_le DirectSum.coe_decompose_mul_of_right_mem_of_not_le
+-/
 
 variable [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (· + ·) (· ≤ ·)]
 
+#print DirectSum.coe_decompose_mul_of_left_mem_of_le /-
 theorem coe_decompose_mul_of_left_mem_of_le (a_mem : a ∈ 𝒜 i) (h : i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = a * decompose 𝒜 b (n - i) := by lift a to 𝒜 i using a_mem;
   rwa [decompose_mul, decompose_coe, coe_of_mul_apply_of_le]
 #align direct_sum.coe_decompose_mul_of_left_mem_of_le DirectSum.coe_decompose_mul_of_left_mem_of_le
+-/
 
+#print DirectSum.coe_decompose_mul_of_right_mem_of_le /-
 theorem coe_decompose_mul_of_right_mem_of_le (b_mem : b ∈ 𝒜 i) (h : i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = decompose 𝒜 a (n - i) * b := by lift b to 𝒜 i using b_mem;
   rwa [decompose_mul, decompose_coe, coe_mul_of_apply_of_le]
 #align direct_sum.coe_decompose_mul_of_right_mem_of_le DirectSum.coe_decompose_mul_of_right_mem_of_le
+-/
 
+#print DirectSum.coe_decompose_mul_of_left_mem /-
 theorem coe_decompose_mul_of_left_mem (n) [Decidable (i ≤ n)] (a_mem : a ∈ 𝒜 i) :
     (decompose 𝒜 (a * b) n : A) = if i ≤ n then a * decompose 𝒜 b (n - i) else 0 := by
   lift a to 𝒜 i using a_mem; rwa [decompose_mul, decompose_coe, coe_of_mul_apply]
 #align direct_sum.coe_decompose_mul_of_left_mem DirectSum.coe_decompose_mul_of_left_mem
+-/
 
+#print DirectSum.coe_decompose_mul_of_right_mem /-
 theorem coe_decompose_mul_of_right_mem (n) [Decidable (i ≤ n)] (b_mem : b ∈ 𝒜 i) :
     (decompose 𝒜 (a * b) n : A) = if i ≤ n then decompose 𝒜 a (n - i) * b else 0 := by
   lift b to 𝒜 i using b_mem; rwa [decompose_mul, decompose_coe, coe_mul_of_apply]
 #align direct_sum.coe_decompose_mul_of_right_mem DirectSum.coe_decompose_mul_of_right_mem
+-/
 
 end DirectSum
 
Diff
@@ -292,7 +292,7 @@ def GradedRing.projZeroRingHom : A →+* A
               decompose_of_mem_same 𝒜 (show c ∈ 𝒜 0 from (add_eq_zero_iff.mp h).1 ▸ hc),
               decompose_of_mem_same 𝒜 (show c' ∈ 𝒜 0 from (add_eq_zero_iff.mp h).2 ▸ hc')]
           · rw [decompose_of_mem_ne 𝒜 (mul_mem hc hc') h]
-            cases' show i ≠ 0 ∨ j ≠ 0 by rwa [add_eq_zero_iff, not_and_or] at h with h' h'
+            cases' show i ≠ 0 ∨ j ≠ 0 by rwa [add_eq_zero_iff, not_and_or] at h  with h' h'
             · simp only [decompose_of_mem_ne 𝒜 hc h', MulZeroClass.zero_mul]
             · simp only [decompose_of_mem_ne 𝒜 hc' h', MulZeroClass.mul_zero]
       · intro _ _ hd he
Diff
@@ -47,7 +47,7 @@ graded algebra, graded ring, graded semiring, decomposition
 -/
 
 
-open DirectSum BigOperators
+open scoped DirectSum BigOperators
 
 variable {ι R A σ : Type _}
 
Diff
@@ -79,12 +79,6 @@ variable [GradedRing 𝒜]
 
 namespace DirectSum
 
-/- warning: direct_sum.decompose_ring_equiv -> DirectSum.decomposeRingEquiv is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜], RingEquiv.{u2, max u1 u2} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))) (Distrib.toHasAdd.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))) (Distrib.toHasMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u3, u2} ι σ A (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (DirectSum.decomposeRingEquiv._proof_1.{u1, u2, u3} ι A σ _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))))) (Distrib.toHasAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u3, u2} ι σ A (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (DirectSum.decomposeRingEquiv._proof_1.{u1, u2, u3} ι A σ _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜], RingEquiv.{u2, max u2 u1} A (DirectSum.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u3} A σ (SetLike.instMembership.{u3, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u3} A σ (SetLike.instMembership.{u3, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u3} A σ (SetLike.instMembership.{u3, u2} σ A _inst_6) x (𝒜 i))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u3, u2} ι σ A (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u1, u2, u3} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))))) (Distrib.toAdd.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))) (Distrib.toAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u3} A σ (SetLike.instMembership.{u3, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u3} A σ (SetLike.instMembership.{u3, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u3} A σ (SetLike.instMembership.{u3, u2} σ A _inst_6) x (𝒜 i))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u3, u2} ι σ A (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u1, u2, u3} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))))))
-Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_ring_equiv DirectSum.decomposeRingEquivₓ'. -/
 /-- If `A` is graded by `ι` with degree `i` component `𝒜 i`, then it is isomorphic as
 a ring to a direct sum of components. -/
 def decomposeRingEquiv : A ≃+* ⨁ i, 𝒜 i :=
@@ -95,33 +89,21 @@ def decomposeRingEquiv : A ≃+* ⨁ i, 𝒜 i :=
       map_add' := (coeRingHom 𝒜).map_add }
 #align direct_sum.decompose_ring_equiv DirectSum.decomposeRingEquiv
 
-/- warning: direct_sum.decompose_one -> DirectSum.decompose_one is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_one DirectSum.decompose_oneₓ'. -/
 @[simp]
 theorem decompose_one : decompose 𝒜 (1 : A) = 1 :=
   map_one (decomposeRingEquiv 𝒜)
 #align direct_sum.decompose_one DirectSum.decompose_one
 
-/- warning: direct_sum.decompose_symm_one -> DirectSum.decompose_symm_one is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_symm_one DirectSum.decompose_symm_oneₓ'. -/
 @[simp]
 theorem decompose_symm_one : (decompose 𝒜).symm 1 = (1 : A) :=
   map_one (decomposeRingEquiv 𝒜).symm
 #align direct_sum.decompose_symm_one DirectSum.decompose_symm_one
 
-/- warning: direct_sum.decompose_mul -> DirectSum.decompose_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_mul DirectSum.decompose_mulₓ'. -/
 @[simp]
 theorem decompose_mul (x y : A) : decompose 𝒜 (x * y) = decompose 𝒜 x * decompose 𝒜 y :=
   map_mul (decomposeRingEquiv 𝒜) x y
 #align direct_sum.decompose_mul DirectSum.decompose_mul
 
-/- warning: direct_sum.decompose_symm_mul -> DirectSum.decompose_symm_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_symm_mul DirectSum.decompose_symm_mulₓ'. -/
 @[simp]
 theorem decompose_symm_mul (x y : ⨁ i, 𝒜 i) :
     (decompose 𝒜).symm (x * y) = (decompose 𝒜).symm x * (decompose 𝒜).symm y :=
@@ -139,26 +121,17 @@ def GradedRing.proj (i : ι) : A →+ A :=
 #align graded_ring.proj GradedRing.proj
 -/
 
-/- warning: graded_ring.proj_apply -> GradedRing.proj_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align graded_ring.proj_apply GradedRing.proj_applyₓ'. -/
 @[simp]
 theorem GradedRing.proj_apply (i : ι) (r : A) :
     GradedRing.proj 𝒜 i r = (decompose 𝒜 r : ⨁ i, 𝒜 i) i :=
   rfl
 #align graded_ring.proj_apply GradedRing.proj_apply
 
-/- warning: graded_ring.proj_recompose -> GradedRing.proj_recompose is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align graded_ring.proj_recompose GradedRing.proj_recomposeₓ'. -/
 theorem GradedRing.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
     GradedRing.proj 𝒜 i ((decompose 𝒜).symm a) = (decompose 𝒜).symm (DirectSum.of _ i (a i)) := by
   rw [GradedRing.proj_apply, decompose_symm_of, Equiv.apply_symm_apply]
 #align graded_ring.proj_recompose GradedRing.proj_recompose
 
-/- warning: graded_ring.mem_support_iff -> GradedRing.mem_support_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align graded_ring.mem_support_iff GradedRing.mem_support_iffₓ'. -/
 theorem GradedRing.mem_support_iff [∀ (i) (x : 𝒜 i), Decidable (x ≠ 0)] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedRing.proj 𝒜 i r ≠ 0 :=
   Dfinsupp.mem_support_iff.trans ZeroMemClass.coe_eq_zero.Not.symm
@@ -176,34 +149,22 @@ variable {i j : ι}
 
 namespace DirectSum
 
-/- warning: direct_sum.coe_decompose_mul_add_of_left_mem -> DirectSum.coe_decompose_mul_add_of_left_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_add_of_left_mem DirectSum.coe_decompose_mul_add_of_left_memₓ'. -/
 theorem coe_decompose_mul_add_of_left_mem [AddLeftCancelMonoid ι] [GradedRing 𝒜] {a b : A}
     (a_mem : a ∈ 𝒜 i) : (decompose 𝒜 (a * b) (i + j) : A) = a * decompose 𝒜 b j := by
   lift a to 𝒜 i using a_mem; rw [decompose_mul, decompose_coe, coe_of_mul_apply_add]
 #align direct_sum.coe_decompose_mul_add_of_left_mem DirectSum.coe_decompose_mul_add_of_left_mem
 
-/- warning: direct_sum.coe_decompose_mul_add_of_right_mem -> DirectSum.coe_decompose_mul_add_of_right_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_add_of_right_mem DirectSum.coe_decompose_mul_add_of_right_memₓ'. -/
 theorem coe_decompose_mul_add_of_right_mem [AddRightCancelMonoid ι] [GradedRing 𝒜] {a b : A}
     (b_mem : b ∈ 𝒜 j) : (decompose 𝒜 (a * b) (i + j) : A) = decompose 𝒜 a i * b := by
   lift b to 𝒜 j using b_mem; rw [decompose_mul, decompose_coe, coe_mul_of_apply_add]
 #align direct_sum.coe_decompose_mul_add_of_right_mem DirectSum.coe_decompose_mul_add_of_right_mem
 
-/- warning: direct_sum.decompose_mul_add_left -> DirectSum.decompose_mul_add_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_mul_add_left DirectSum.decompose_mul_add_leftₓ'. -/
 theorem decompose_mul_add_left [AddLeftCancelMonoid ι] [GradedRing 𝒜] (a : 𝒜 i) {b : A} :
     decompose 𝒜 (↑a * b) (i + j) =
       @GradedMonoid.GMul.mul ι (fun i => 𝒜 i) _ _ _ _ a (decompose 𝒜 b j) :=
   Subtype.ext <| coe_decompose_mul_add_of_left_mem 𝒜 a.2
 #align direct_sum.decompose_mul_add_left DirectSum.decompose_mul_add_left
 
-/- warning: direct_sum.decompose_mul_add_right -> DirectSum.decompose_mul_add_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_mul_add_right DirectSum.decompose_mul_add_rightₓ'. -/
 theorem decompose_mul_add_right [AddRightCancelMonoid ι] [GradedRing 𝒜] {a : A} (b : 𝒜 j) :
     decompose 𝒜 (a * ↑b) (i + j) =
       @GradedMonoid.GMul.mul ι (fun i => 𝒜 i) _ _ _ _ (decompose 𝒜 a i) b :=
@@ -278,26 +239,17 @@ def GradedAlgebra.proj (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (i : 
 #align graded_algebra.proj GradedAlgebra.proj
 -/
 
-/- warning: graded_algebra.proj_apply -> GradedAlgebra.proj_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align graded_algebra.proj_apply GradedAlgebra.proj_applyₓ'. -/
 @[simp]
 theorem GradedAlgebra.proj_apply (i : ι) (r : A) :
     GradedAlgebra.proj 𝒜 i r = (decompose 𝒜 r : ⨁ i, 𝒜 i) i :=
   rfl
 #align graded_algebra.proj_apply GradedAlgebra.proj_apply
 
-/- warning: graded_algebra.proj_recompose -> GradedAlgebra.proj_recompose is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align graded_algebra.proj_recompose GradedAlgebra.proj_recomposeₓ'. -/
 theorem GradedAlgebra.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
     GradedAlgebra.proj 𝒜 i ((decompose 𝒜).symm a) = (decompose 𝒜).symm (of _ i (a i)) := by
   rw [GradedAlgebra.proj_apply, decompose_symm_of, Equiv.apply_symm_apply]
 #align graded_algebra.proj_recompose GradedAlgebra.proj_recompose
 
-/- warning: graded_algebra.mem_support_iff -> GradedAlgebra.mem_support_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align graded_algebra.mem_support_iff GradedAlgebra.mem_support_iffₓ'. -/
 theorem GradedAlgebra.mem_support_iff [DecidableEq A] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedAlgebra.proj 𝒜 i r ≠ 0 :=
   Dfinsupp.mem_support_iff.trans Submodule.coe_eq_zero.Not.symm
@@ -354,17 +306,11 @@ variable {a b : A} {n i : ι}
 
 namespace DirectSum
 
-/- warning: direct_sum.coe_decompose_mul_of_left_mem_of_not_le -> DirectSum.coe_decompose_mul_of_left_mem_of_not_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_left_mem_of_not_le DirectSum.coe_decompose_mul_of_left_mem_of_not_leₓ'. -/
 theorem coe_decompose_mul_of_left_mem_of_not_le (a_mem : a ∈ 𝒜 i) (h : ¬i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = 0 := by lift a to 𝒜 i using a_mem;
   rwa [decompose_mul, decompose_coe, coe_of_mul_apply_of_not_le]
 #align direct_sum.coe_decompose_mul_of_left_mem_of_not_le DirectSum.coe_decompose_mul_of_left_mem_of_not_le
 
-/- warning: direct_sum.coe_decompose_mul_of_right_mem_of_not_le -> DirectSum.coe_decompose_mul_of_right_mem_of_not_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_right_mem_of_not_le DirectSum.coe_decompose_mul_of_right_mem_of_not_leₓ'. -/
 theorem coe_decompose_mul_of_right_mem_of_not_le (b_mem : b ∈ 𝒜 i) (h : ¬i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = 0 := by lift b to 𝒜 i using b_mem;
   rwa [decompose_mul, decompose_coe, coe_mul_of_apply_of_not_le]
@@ -372,33 +318,21 @@ theorem coe_decompose_mul_of_right_mem_of_not_le (b_mem : b ∈ 𝒜 i) (h : ¬i
 
 variable [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (· + ·) (· ≤ ·)]
 
-/- warning: direct_sum.coe_decompose_mul_of_left_mem_of_le -> DirectSum.coe_decompose_mul_of_left_mem_of_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_left_mem_of_le DirectSum.coe_decompose_mul_of_left_mem_of_leₓ'. -/
 theorem coe_decompose_mul_of_left_mem_of_le (a_mem : a ∈ 𝒜 i) (h : i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = a * decompose 𝒜 b (n - i) := by lift a to 𝒜 i using a_mem;
   rwa [decompose_mul, decompose_coe, coe_of_mul_apply_of_le]
 #align direct_sum.coe_decompose_mul_of_left_mem_of_le DirectSum.coe_decompose_mul_of_left_mem_of_le
 
-/- warning: direct_sum.coe_decompose_mul_of_right_mem_of_le -> DirectSum.coe_decompose_mul_of_right_mem_of_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_right_mem_of_le DirectSum.coe_decompose_mul_of_right_mem_of_leₓ'. -/
 theorem coe_decompose_mul_of_right_mem_of_le (b_mem : b ∈ 𝒜 i) (h : i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = decompose 𝒜 a (n - i) * b := by lift b to 𝒜 i using b_mem;
   rwa [decompose_mul, decompose_coe, coe_mul_of_apply_of_le]
 #align direct_sum.coe_decompose_mul_of_right_mem_of_le DirectSum.coe_decompose_mul_of_right_mem_of_le
 
-/- warning: direct_sum.coe_decompose_mul_of_left_mem -> DirectSum.coe_decompose_mul_of_left_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_left_mem DirectSum.coe_decompose_mul_of_left_memₓ'. -/
 theorem coe_decompose_mul_of_left_mem (n) [Decidable (i ≤ n)] (a_mem : a ∈ 𝒜 i) :
     (decompose 𝒜 (a * b) n : A) = if i ≤ n then a * decompose 𝒜 b (n - i) else 0 := by
   lift a to 𝒜 i using a_mem; rwa [decompose_mul, decompose_coe, coe_of_mul_apply]
 #align direct_sum.coe_decompose_mul_of_left_mem DirectSum.coe_decompose_mul_of_left_mem
 
-/- warning: direct_sum.coe_decompose_mul_of_right_mem -> DirectSum.coe_decompose_mul_of_right_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_right_mem DirectSum.coe_decompose_mul_of_right_memₓ'. -/
 theorem coe_decompose_mul_of_right_mem (n) [Decidable (i ≤ n)] (b_mem : b ∈ 𝒜 i) :
     (decompose 𝒜 (a * b) n : A) = if i ≤ n then decompose 𝒜 a (n - i) * b else 0 := by
   lift b to 𝒜 i using b_mem; rwa [decompose_mul, decompose_coe, coe_mul_of_apply]
Diff
@@ -180,20 +180,16 @@ namespace DirectSum
 <too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_add_of_left_mem DirectSum.coe_decompose_mul_add_of_left_memₓ'. -/
 theorem coe_decompose_mul_add_of_left_mem [AddLeftCancelMonoid ι] [GradedRing 𝒜] {a b : A}
-    (a_mem : a ∈ 𝒜 i) : (decompose 𝒜 (a * b) (i + j) : A) = a * decompose 𝒜 b j :=
-  by
-  lift a to 𝒜 i using a_mem
-  rw [decompose_mul, decompose_coe, coe_of_mul_apply_add]
+    (a_mem : a ∈ 𝒜 i) : (decompose 𝒜 (a * b) (i + j) : A) = a * decompose 𝒜 b j := by
+  lift a to 𝒜 i using a_mem; rw [decompose_mul, decompose_coe, coe_of_mul_apply_add]
 #align direct_sum.coe_decompose_mul_add_of_left_mem DirectSum.coe_decompose_mul_add_of_left_mem
 
 /- warning: direct_sum.coe_decompose_mul_add_of_right_mem -> DirectSum.coe_decompose_mul_add_of_right_mem is a dubious translation:
 <too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_add_of_right_mem DirectSum.coe_decompose_mul_add_of_right_memₓ'. -/
 theorem coe_decompose_mul_add_of_right_mem [AddRightCancelMonoid ι] [GradedRing 𝒜] {a b : A}
-    (b_mem : b ∈ 𝒜 j) : (decompose 𝒜 (a * b) (i + j) : A) = decompose 𝒜 a i * b :=
-  by
-  lift b to 𝒜 j using b_mem
-  rw [decompose_mul, decompose_coe, coe_mul_of_apply_add]
+    (b_mem : b ∈ 𝒜 j) : (decompose 𝒜 (a * b) (i + j) : A) = decompose 𝒜 a i * b := by
+  lift b to 𝒜 j using b_mem; rw [decompose_mul, decompose_coe, coe_mul_of_apply_add]
 #align direct_sum.coe_decompose_mul_add_of_right_mem DirectSum.coe_decompose_mul_add_of_right_mem
 
 /- warning: direct_sum.decompose_mul_add_left -> DirectSum.decompose_mul_add_left is a dubious translation:
@@ -328,12 +324,8 @@ def GradedRing.projZeroRingHom : A →+* A
     where
   toFun a := decompose 𝒜 a 0
   map_one' := decompose_of_mem_same 𝒜 one_mem
-  map_zero' := by
-    rw [decompose_zero]
-    rfl
-  map_add' _ _ := by
-    rw [decompose_add]
-    rfl
+  map_zero' := by rw [decompose_zero]; rfl
+  map_add' _ _ := by rw [decompose_add]; rfl
   map_mul' := by
     refine' DirectSum.Decomposition.inductionOn 𝒜 (fun x => _) _ _
     · simp only [MulZeroClass.zero_mul, decompose_zero, zero_apply, ZeroMemClass.coe_zero]
@@ -366,9 +358,7 @@ namespace DirectSum
 <too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_left_mem_of_not_le DirectSum.coe_decompose_mul_of_left_mem_of_not_leₓ'. -/
 theorem coe_decompose_mul_of_left_mem_of_not_le (a_mem : a ∈ 𝒜 i) (h : ¬i ≤ n) :
-    (decompose 𝒜 (a * b) n : A) = 0 :=
-  by
-  lift a to 𝒜 i using a_mem
+    (decompose 𝒜 (a * b) n : A) = 0 := by lift a to 𝒜 i using a_mem;
   rwa [decompose_mul, decompose_coe, coe_of_mul_apply_of_not_le]
 #align direct_sum.coe_decompose_mul_of_left_mem_of_not_le DirectSum.coe_decompose_mul_of_left_mem_of_not_le
 
@@ -376,9 +366,7 @@ theorem coe_decompose_mul_of_left_mem_of_not_le (a_mem : a ∈ 𝒜 i) (h : ¬i
 <too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_right_mem_of_not_le DirectSum.coe_decompose_mul_of_right_mem_of_not_leₓ'. -/
 theorem coe_decompose_mul_of_right_mem_of_not_le (b_mem : b ∈ 𝒜 i) (h : ¬i ≤ n) :
-    (decompose 𝒜 (a * b) n : A) = 0 :=
-  by
-  lift b to 𝒜 i using b_mem
+    (decompose 𝒜 (a * b) n : A) = 0 := by lift b to 𝒜 i using b_mem;
   rwa [decompose_mul, decompose_coe, coe_mul_of_apply_of_not_le]
 #align direct_sum.coe_decompose_mul_of_right_mem_of_not_le DirectSum.coe_decompose_mul_of_right_mem_of_not_le
 
@@ -388,9 +376,7 @@ variable [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (· + ·) (· ≤ ·
 <too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_left_mem_of_le DirectSum.coe_decompose_mul_of_left_mem_of_leₓ'. -/
 theorem coe_decompose_mul_of_left_mem_of_le (a_mem : a ∈ 𝒜 i) (h : i ≤ n) :
-    (decompose 𝒜 (a * b) n : A) = a * decompose 𝒜 b (n - i) :=
-  by
-  lift a to 𝒜 i using a_mem
+    (decompose 𝒜 (a * b) n : A) = a * decompose 𝒜 b (n - i) := by lift a to 𝒜 i using a_mem;
   rwa [decompose_mul, decompose_coe, coe_of_mul_apply_of_le]
 #align direct_sum.coe_decompose_mul_of_left_mem_of_le DirectSum.coe_decompose_mul_of_left_mem_of_le
 
@@ -398,9 +384,7 @@ theorem coe_decompose_mul_of_left_mem_of_le (a_mem : a ∈ 𝒜 i) (h : i ≤ n)
 <too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_right_mem_of_le DirectSum.coe_decompose_mul_of_right_mem_of_leₓ'. -/
 theorem coe_decompose_mul_of_right_mem_of_le (b_mem : b ∈ 𝒜 i) (h : i ≤ n) :
-    (decompose 𝒜 (a * b) n : A) = decompose 𝒜 a (n - i) * b :=
-  by
-  lift b to 𝒜 i using b_mem
+    (decompose 𝒜 (a * b) n : A) = decompose 𝒜 a (n - i) * b := by lift b to 𝒜 i using b_mem;
   rwa [decompose_mul, decompose_coe, coe_mul_of_apply_of_le]
 #align direct_sum.coe_decompose_mul_of_right_mem_of_le DirectSum.coe_decompose_mul_of_right_mem_of_le
 
@@ -408,20 +392,16 @@ theorem coe_decompose_mul_of_right_mem_of_le (b_mem : b ∈ 𝒜 i) (h : i ≤ n
 <too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_left_mem DirectSum.coe_decompose_mul_of_left_memₓ'. -/
 theorem coe_decompose_mul_of_left_mem (n) [Decidable (i ≤ n)] (a_mem : a ∈ 𝒜 i) :
-    (decompose 𝒜 (a * b) n : A) = if i ≤ n then a * decompose 𝒜 b (n - i) else 0 :=
-  by
-  lift a to 𝒜 i using a_mem
-  rwa [decompose_mul, decompose_coe, coe_of_mul_apply]
+    (decompose 𝒜 (a * b) n : A) = if i ≤ n then a * decompose 𝒜 b (n - i) else 0 := by
+  lift a to 𝒜 i using a_mem; rwa [decompose_mul, decompose_coe, coe_of_mul_apply]
 #align direct_sum.coe_decompose_mul_of_left_mem DirectSum.coe_decompose_mul_of_left_mem
 
 /- warning: direct_sum.coe_decompose_mul_of_right_mem -> DirectSum.coe_decompose_mul_of_right_mem is a dubious translation:
 <too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_right_mem DirectSum.coe_decompose_mul_of_right_memₓ'. -/
 theorem coe_decompose_mul_of_right_mem (n) [Decidable (i ≤ n)] (b_mem : b ∈ 𝒜 i) :
-    (decompose 𝒜 (a * b) n : A) = if i ≤ n then decompose 𝒜 a (n - i) * b else 0 :=
-  by
-  lift b to 𝒜 i using b_mem
-  rwa [decompose_mul, decompose_coe, coe_mul_of_apply]
+    (decompose 𝒜 (a * b) n : A) = if i ≤ n then decompose 𝒜 a (n - i) * b else 0 := by
+  lift b to 𝒜 i using b_mem; rwa [decompose_mul, decompose_coe, coe_mul_of_apply]
 #align direct_sum.coe_decompose_mul_of_right_mem DirectSum.coe_decompose_mul_of_right_mem
 
 end DirectSum
Diff
@@ -96,10 +96,7 @@ def decomposeRingEquiv : A ≃+* ⨁ i, 𝒜 i :=
 #align direct_sum.decompose_ring_equiv DirectSum.decomposeRingEquiv
 
 /- warning: direct_sum.decompose_one -> DirectSum.decompose_one is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜], Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))))) (OfNat.ofNat.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) 1 (OfNat.mk.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) 1 (One.one.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.hasOne.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (SetLike.gOne.{u1, u2, u3} ι A σ _inst_6 (MulOneClass.toHasOne.{u2} A (Monoid.toMulOneClass.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)))) (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.to_gradedOne.{u1, u2, u3} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.to_gradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))))))
-but is expected to have type
-  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u1, u2} σ A] [_inst_7 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜], Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A _inst_4)))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A _inst_4)))) (OfNat.ofNat.{max u3 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A _inst_4)))) 1 (One.toOfNat1.{max u3 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A _inst_4)))) (DirectSum.instOneDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (AddMonoid.toZero.{u3} ι _inst_2) (SetLike.gOne.{u3, u2, u1} ι A σ _inst_6 (Semiring.toOne.{u2} A _inst_4) (AddMonoid.toZero.{u3} ι _inst_2) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedOne.{u3, u2, u1} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_one DirectSum.decompose_oneₓ'. -/
 @[simp]
 theorem decompose_one : decompose 𝒜 (1 : A) = 1 :=
@@ -107,10 +104,7 @@ theorem decompose_one : decompose 𝒜 (1 : A) = 1 :=
 #align direct_sum.decompose_one DirectSum.decompose_one
 
 /- warning: direct_sum.decompose_symm_one -> DirectSum.decompose_symm_one is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜], Eq.{succ u2} A (coeFn.{max 1 (max (succ (max u1 u2)) (succ u2)) (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) => (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) (OfNat.ofNat.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) 1 (OfNat.mk.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) 1 (One.one.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.hasOne.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (SetLike.gOne.{u1, u2, u3} ι A σ _inst_6 (MulOneClass.toHasOne.{u2} A (Monoid.toMulOneClass.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)))) (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.to_gradedOne.{u1, u2, u3} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.to_gradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))))))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))))
-but is expected to have type
-  forall {ι : Type.{u2}} {A : Type.{u3}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : AddMonoid.{u2} ι] [_inst_4 : Semiring.{u3} A] [_inst_6 : SetLike.{u1, u3} σ A] [_inst_7 : AddSubmonoidClass.{u1, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜], Eq.{succ u3} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) (OfNat.ofNat.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) 1 (One.toOfNat1.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.instOneDirectSum.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (AddMonoid.toZero.{u2} ι _inst_2) (SetLike.gOne.{u2, u3, u1} ι A σ _inst_6 (Semiring.toOne.{u3} A _inst_4) (AddMonoid.toZero.{u2} ι _inst_2) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedOne.{u2, u3, u1} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))))) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (Equiv.{max (succ u2) (succ u3), succ u3} (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), succ u3} (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u3, max (succ u2) (succ u3)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) (OfNat.ofNat.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) 1 (One.toOfNat1.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.instOneDirectSum.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (AddMonoid.toZero.{u2} ι _inst_2) (SetLike.gOne.{u2, u3, u1} ι A σ _inst_6 (Semiring.toOne.{u3} A _inst_4) (AddMonoid.toZero.{u2} ι _inst_2) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedOne.{u2, u3, u1} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))))) (OfNat.ofNat.{u3} A 1 (One.toOfNat1.{u3} A (Semiring.toOne.{u3} A _inst_4)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_symm_one DirectSum.decompose_symm_oneₓ'. -/
 @[simp]
 theorem decompose_symm_one : (decompose 𝒜).symm 1 = (1 : A) :=
@@ -118,10 +112,7 @@ theorem decompose_symm_one : (decompose 𝒜).symm 1 = (1 : A) :=
 #align direct_sum.decompose_symm_one DirectSum.decompose_symm_one
 
 /- warning: direct_sum.decompose_mul -> DirectSum.decompose_mul is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (x : A) (y : A), Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) x y)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (instHMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (Distrib.toHasMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) (SetLike.gnonUnitalNonAssocSemiring.{u1, u3, u2} ι σ A (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.to_gradedMul.{u1, u2, u3} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.to_gradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))))))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) x) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) y))
-but is expected to have type
-  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u1, u2} σ A] [_inst_7 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (x : A) (y : A), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))) x y)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))) x y)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) x) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) y) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) x) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) x) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) x) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_2)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ A (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8)))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) y))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_mul DirectSum.decompose_mulₓ'. -/
 @[simp]
 theorem decompose_mul (x y : A) : decompose 𝒜 (x * y) = decompose 𝒜 x * decompose 𝒜 y :=
@@ -129,10 +120,7 @@ theorem decompose_mul (x y : A) : decompose 𝒜 (x * y) = decompose 𝒜 x * de
 #align direct_sum.decompose_mul DirectSum.decompose_mul
 
 /- warning: direct_sum.decompose_symm_mul -> DirectSum.decompose_symm_mul is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (y : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)), Eq.{succ u2} A (coeFn.{max 1 (max (succ (max u1 u2)) (succ u2)) (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) => (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (instHMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (Distrib.toHasMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) (SetLike.gnonUnitalNonAssocSemiring.{u1, u3, u2} ι σ A (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.to_gradedMul.{u1, u2, u3} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.to_gradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))))))) x y)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u2)) (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) => (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) x) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u2)) (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) => (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) y))
-but is expected to have type
-  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u1, u2} σ A] [_inst_7 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (y : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)), Eq.{succ u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_2)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ A (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8)))))) x y)) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_2)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ A (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8)))))) x y)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) x) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) y) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) x) (instHMul.{u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) x) (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) x) _inst_4)))) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) x) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) y))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_symm_mul DirectSum.decompose_symm_mulₓ'. -/
 @[simp]
 theorem decompose_symm_mul (x y : ⨁ i, 𝒜 i) :
@@ -152,10 +140,7 @@ def GradedRing.proj (i : ι) : A →+ A :=
 -/
 
 /- warning: graded_ring.proj_apply -> GradedRing.proj_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (i : ι) (r : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (fun (_x : AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) => A -> A) (AddMonoidHom.hasCoeToFun.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (GradedRing.proj.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8 i) r) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_6) x (𝒜 i)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) r) i))
-but is expected to have type
-  forall {ι : Type.{u2}} {A : Type.{u3}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : AddMonoid.{u2} ι] [_inst_4 : Semiring.{u3} A] [_inst_6 : SetLike.{u1, u3} σ A] [_inst_7 : AddSubmonoidClass.{u1, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (i : ι) (r : A), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) r) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) _x) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) A A (AddZeroClass.toAdd.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) (AddZeroClass.toAdd.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))))) (GradedRing.proj.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8 i) r) (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u1, u3} σ A _inst_6 (𝒜 i))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u2)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u2) (succ u3)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) r) i))
+<too large>
 Case conversion may be inaccurate. Consider using '#align graded_ring.proj_apply GradedRing.proj_applyₓ'. -/
 @[simp]
 theorem GradedRing.proj_apply (i : ι) (r : A) :
@@ -164,10 +149,7 @@ theorem GradedRing.proj_apply (i : ι) (r : A) :
 #align graded_ring.proj_apply GradedRing.proj_apply
 
 /- warning: graded_ring.proj_recompose -> GradedRing.proj_recompose is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (a : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (i : ι), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (fun (_x : AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) => A -> A) (AddMonoidHom.hasCoeToFun.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (GradedRing.proj.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8 i) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u2)) (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) => (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) a)) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u2)) (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) => (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (AddMonoidHom.{u2, max u1 u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (AddMonoid.toAddZeroClass.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))))) (fun (_x : AddMonoidHom.{u2, max u1 u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (AddMonoid.toAddZeroClass.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))))) => (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (AddMonoidHom.hasCoeToFun.{u2, max u1 u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (AddMonoid.toAddZeroClass.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))))) (DirectSum.of.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) i) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) a i)))
-but is expected to have type
-  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u1, u2} σ A] [_inst_7 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (a : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (a : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) a) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) a)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) A A (AddZeroClass.toAdd.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (AddZeroClass.toAdd.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))))) (GradedRing.proj.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8 i) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) a)) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (_x : (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) => DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddZeroClass.toAdd.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) i))) i)) a i)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align graded_ring.proj_recompose GradedRing.proj_recomposeₓ'. -/
 theorem GradedRing.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
     GradedRing.proj 𝒜 i ((decompose 𝒜).symm a) = (decompose 𝒜).symm (DirectSum.of _ i (a i)) := by
@@ -175,10 +157,7 @@ theorem GradedRing.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
 #align graded_ring.proj_recompose GradedRing.proj_recompose
 
 /- warning: graded_ring.mem_support_iff -> GradedRing.mem_support_iff is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] [_inst_9 : forall (i : ι) (x : coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)), Decidable (Ne.{succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) x (OfNat.ofNat.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) 0 (OfNat.mk.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) 0 (Zero.zero.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (ZeroMemClass.zero.{u3, u2} σ A _inst_6 (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (AddSubmonoidClass.to_zeroMemClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6 _inst_7) (𝒜 i))))))] (r : A) (i : ι), Iff (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i (Dfinsupp.support.{u1, u2} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} ((fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) i)))) (fun (i : ι) (x : coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) => _inst_9 i x) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) r))) (Ne.{succ u2} A (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (fun (_x : AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) => A -> A) (AddMonoidHom.hasCoeToFun.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (GradedRing.proj.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8 i) r) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {A : Type.{u3}} {σ : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u3} A] [_inst_6 : SetLike.{u2, u3} σ A] [_inst_7 : AddSubmonoidClass.{u2, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] [_inst_9 : forall (i : ι) (x : Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))), Decidable (Ne.{succ u3} (Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) x (OfNat.ofNat.{u3} (Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) 0 (Zero.toOfNat0.{u3} (Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) (ZeroMemClass.zero.{u2, u3} σ A _inst_6 (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_4)) (AddSubmonoidClass.toZeroMemClass.{u2, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) _inst_6 _inst_7) (𝒜 i)))))] (r : A) (i : ι), Iff (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i (Dfinsupp.support.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) i))) (fun (i : ι) (x : Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) => _inst_9 i x) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) r))) (Ne.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) r) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) _x) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) A A (AddZeroClass.toAdd.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) (AddZeroClass.toAdd.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))))) (GradedRing.proj.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8 i) r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) r) _inst_4)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align graded_ring.mem_support_iff GradedRing.mem_support_iffₓ'. -/
 theorem GradedRing.mem_support_iff [∀ (i) (x : 𝒜 i), Decidable (x ≠ 0)] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedRing.proj 𝒜 i r ≠ 0 :=
@@ -198,10 +177,7 @@ variable {i j : ι}
 namespace DirectSum
 
 /- warning: direct_sum.coe_decompose_mul_add_of_left_mem -> DirectSum.coe_decompose_mul_add_of_left_mem is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u3, u2} σ A] [_inst_4 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddLeftCancelMonoid.{u1} ι] [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] {a : A} {b : A}, (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) a (𝒜 i)) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) x (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) a b)) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) a ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) x (𝒜 j)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) b) j))))
-but is expected to have type
-  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u1, u2} σ A] [_inst_4 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddLeftCancelMonoid.{u3} ι] [_inst_6 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] {a : A} {b : A}, (Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) a (𝒜 i)) -> (Eq.{succ u2} A (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_3 (𝒜 (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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a b)) (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} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_3 (𝒜 j))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) b) j))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_add_of_left_mem DirectSum.coe_decompose_mul_add_of_left_memₓ'. -/
 theorem coe_decompose_mul_add_of_left_mem [AddLeftCancelMonoid ι] [GradedRing 𝒜] {a b : A}
     (a_mem : a ∈ 𝒜 i) : (decompose 𝒜 (a * b) (i + j) : A) = a * decompose 𝒜 b j :=
@@ -211,10 +187,7 @@ theorem coe_decompose_mul_add_of_left_mem [AddLeftCancelMonoid ι] [GradedRing 
 #align direct_sum.coe_decompose_mul_add_of_left_mem DirectSum.coe_decompose_mul_add_of_left_mem
 
 /- warning: direct_sum.coe_decompose_mul_add_of_right_mem -> DirectSum.coe_decompose_mul_add_of_right_mem is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u3, u2} σ A] [_inst_4 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddRightCancelMonoid.{u1} ι] [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] {a : A} {b : A}, (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) b (𝒜 j)) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) x (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) a b)) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) x (𝒜 i)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) a) i)) b))
-but is expected to have type
-  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u1, u2} σ A] [_inst_4 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddRightCancelMonoid.{u3} ι] [_inst_6 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] {a : A} {b : A}, (Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) b (𝒜 j)) -> (Eq.{succ u2} A (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_3 (𝒜 (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a b)) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) i j))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_3 (𝒜 i))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) a) i)) b))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_add_of_right_mem DirectSum.coe_decompose_mul_add_of_right_memₓ'. -/
 theorem coe_decompose_mul_add_of_right_mem [AddRightCancelMonoid ι] [GradedRing 𝒜] {a b : A}
     (b_mem : b ∈ 𝒜 j) : (decompose 𝒜 (a * b) (i + j) : A) = decompose 𝒜 a i * b :=
@@ -224,10 +197,7 @@ theorem coe_decompose_mul_add_of_right_mem [AddRightCancelMonoid ι] [GradedRing
 #align direct_sum.coe_decompose_mul_add_of_right_mem DirectSum.coe_decompose_mul_add_of_right_mem
 
 /- warning: direct_sum.decompose_mul_add_left -> DirectSum.decompose_mul_add_left is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u3, u2} σ A] [_inst_4 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddLeftCancelMonoid.{u1} ι] [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] (a : coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) {b : A}, Eq.{succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) x (𝒜 i)))))) a) b)) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j)) (GradedMonoid.GMul.mul.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (SetLike.gMul.{u1, u2, u3} ι A σ _inst_3 (MulOneClass.toHasMul.{u2} A (Monoid.toMulOneClass.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.to_gradedMul.{u1, u2, u3} ι A σ _inst_3 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) (fun (i : ι) => 𝒜 i) (GradedRing.to_gradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 (fun (i : ι) => 𝒜 i) _inst_6))) i j a (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) b) j))
-but is expected to have type
-  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u1, u2} σ A] [_inst_4 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddLeftCancelMonoid.{u3} ι] [_inst_6 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] (a : Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) {b : A}, Eq.{succ u2} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_3 (𝒜 i))) a) b)) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) i j)) (GradedMonoid.GMul.mul.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (SetLike.gMul.{u3, u2, u1} ι A σ _inst_3 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι A σ _inst_3 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 (fun (i : ι) => 𝒜 i) _inst_6))) i j a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) b) j))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_mul_add_left DirectSum.decompose_mul_add_leftₓ'. -/
 theorem decompose_mul_add_left [AddLeftCancelMonoid ι] [GradedRing 𝒜] (a : 𝒜 i) {b : A} :
     decompose 𝒜 (↑a * b) (i + j) =
@@ -236,10 +206,7 @@ theorem decompose_mul_add_left [AddLeftCancelMonoid ι] [GradedRing 𝒜] (a : 
 #align direct_sum.decompose_mul_add_left DirectSum.decompose_mul_add_left
 
 /- warning: direct_sum.decompose_mul_add_right -> DirectSum.decompose_mul_add_right is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u3, u2} σ A] [_inst_4 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddRightCancelMonoid.{u1} ι] [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] {a : A} (b : coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)), Eq.{succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) a ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) x (𝒜 j)))))) b))) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j)) (GradedMonoid.GMul.mul.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (SetLike.gMul.{u1, u2, u3} ι A σ _inst_3 (MulOneClass.toHasMul.{u2} A (Monoid.toMulOneClass.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.to_gradedMul.{u1, u2, u3} ι A σ _inst_3 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) (fun (i : ι) => 𝒜 i) (GradedRing.to_gradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 (fun (i : ι) => 𝒜 i) _inst_6))) i j (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) a) i) b)
-but is expected to have type
-  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u1, u2} σ A] [_inst_4 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddRightCancelMonoid.{u3} ι] [_inst_6 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] {a : A} (b : Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 j))), Eq.{succ u2} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_3 (𝒜 j))) b))) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) i j)) (GradedMonoid.GMul.mul.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (SetLike.gMul.{u3, u2, u1} ι A σ _inst_3 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι A σ _inst_3 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 (fun (i : ι) => 𝒜 i) _inst_6))) 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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) a) i) b)
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_mul_add_right DirectSum.decompose_mul_add_rightₓ'. -/
 theorem decompose_mul_add_right [AddRightCancelMonoid ι] [GradedRing 𝒜] {a : A} (b : 𝒜 j) :
     decompose 𝒜 (a * ↑b) (i + j) =
@@ -316,10 +283,7 @@ def GradedAlgebra.proj (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (i : 
 -/
 
 /- warning: graded_algebra.proj_apply -> GradedAlgebra.proj_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (i : ι) (r : A), Eq.{succ u3} A (coeFn.{succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (_x : LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) => A -> A) (LinearMap.hasCoeToFun.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) ((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} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) A (coeSubtype.{succ u3} A (fun (x : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (coeFn.{max 1 (max (succ u3) (succ (max u1 u3))) (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (Equiv.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (fun (_x : Equiv.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) => A -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (Equiv.hasCoeToFun.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r) i))
-but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (i : ι) (r : A), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) r) (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r) i))
+<too large>
 Case conversion may be inaccurate. Consider using '#align graded_algebra.proj_apply GradedAlgebra.proj_applyₓ'. -/
 @[simp]
 theorem GradedAlgebra.proj_apply (i : ι) (r : A) :
@@ -328,10 +292,7 @@ theorem GradedAlgebra.proj_apply (i : ι) (r : A) :
 #align graded_algebra.proj_apply GradedAlgebra.proj_apply
 
 /- warning: graded_algebra.proj_recompose -> GradedAlgebra.proj_recompose is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (a : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (i : ι), Eq.{succ u3} A (coeFn.{succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (_x : LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) => A -> A) (LinearMap.hasCoeToFun.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) (coeFn.{max 1 (max (succ (max u1 u3)) (succ u3)) (succ u3) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u3)} (Equiv.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) => (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) a)) (coeFn.{max 1 (max (succ (max u1 u3)) (succ u3)) (succ u3) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u3)} (Equiv.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) => (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) => forall (i : ι), coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) a i)))
-but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u1} R] [_inst_4 : Semiring.{u2} A] [_inst_5 : Algebra.{u1, u2} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u3, u1, u2} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (a : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (a : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => A) a) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) a)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (GradedAlgebra.proj.{u3, u1, u2} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) a)) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (_x : (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) => DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddZeroClass.toAdd.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i) i))) i)) a i)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align graded_algebra.proj_recompose GradedAlgebra.proj_recomposeₓ'. -/
 theorem GradedAlgebra.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
     GradedAlgebra.proj 𝒜 i ((decompose 𝒜).symm a) = (decompose 𝒜).symm (of _ i (a i)) := by
@@ -339,10 +300,7 @@ theorem GradedAlgebra.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
 #align graded_algebra.proj_recompose GradedAlgebra.proj_recompose
 
 /- warning: graded_algebra.mem_support_iff -> GradedAlgebra.mem_support_iff is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] [_inst_7 : DecidableEq.{succ u3} A] (r : A) (i : ι), Iff (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i (Dfinsupp.support.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i)))) (fun (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) => Ne.decidable.{succ u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (fun (a : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (b : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) => Subtype.decidableEq.{u3} A (fun (x : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i)) (fun (a : A) (b : A) => _inst_7 a b) a b) x (OfNat.ofNat.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) 0 (OfNat.mk.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) 0 (Zero.zero.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i)))))))) (coeFn.{max 1 (max (succ u3) (succ (max u1 u3))) (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (Equiv.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (fun (_x : Equiv.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) => A -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (Equiv.hasCoeToFun.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r))) (Ne.{succ u3} A (coeFn.{succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (_x : LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) => A -> A) (LinearMap.hasCoeToFun.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))))))
-but is expected to have type
-  forall {ι : Type.{u2}} {R : Type.{u1}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : AddMonoid.{u2} ι] [_inst_3 : CommSemiring.{u1} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u1, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] [_inst_7 : DecidableEq.{succ u3} A] (r : A) (i : ι), Iff (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i (Dfinsupp.support.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))) (fun (i : ι) (x : Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) => instDecidableNot (Eq.{succ u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) x (OfNat.ofNat.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) 0 (Zero.toOfNat0.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i)))))) (Subtype.instDecidableEqSubtype.{u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i)) (fun (a : A) (b : A) => _inst_7 a b) x (OfNat.ofNat.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) 0 (Zero.toOfNat0.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u2)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u2) (succ u3)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u2, u3, u3} ι A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u2, u3, u3} ι A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r))) (Ne.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) r) (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u1, u1, u3, u3} R R (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u3} R R A A (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (GradedAlgebra.proj.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) r) _inst_4)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align graded_algebra.mem_support_iff GradedAlgebra.mem_support_iffₓ'. -/
 theorem GradedAlgebra.mem_support_iff [DecidableEq A] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedAlgebra.proj 𝒜 i r ≠ 0 :=
@@ -405,10 +363,7 @@ variable {a b : A} {n i : ι}
 namespace DirectSum
 
 /- warning: direct_sum.coe_decompose_mul_of_left_mem_of_not_le -> DirectSum.coe_decompose_mul_of_left_mem_of_not_le is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u3, u2} σ A] [_inst_5 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι}, (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) a (𝒜 i)) -> (Not (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n)) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 n)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a b)) n)) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {A : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Semiring.{u3} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u2, u3} σ A] [_inst_5 : AddSubmonoidClass.{u2, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι}, (Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) a (𝒜 i)) -> (Not (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n)) -> (Eq.{succ u3} A (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u2, u3} σ A _inst_4 (𝒜 n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1)))) a b)) n)) (OfNat.ofNat.{u3} A 0 (Zero.toOfNat0.{u3} A (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_1)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_left_mem_of_not_le DirectSum.coe_decompose_mul_of_left_mem_of_not_leₓ'. -/
 theorem coe_decompose_mul_of_left_mem_of_not_le (a_mem : a ∈ 𝒜 i) (h : ¬i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = 0 :=
@@ -418,10 +373,7 @@ theorem coe_decompose_mul_of_left_mem_of_not_le (a_mem : a ∈ 𝒜 i) (h : ¬i
 #align direct_sum.coe_decompose_mul_of_left_mem_of_not_le DirectSum.coe_decompose_mul_of_left_mem_of_not_le
 
 /- warning: direct_sum.coe_decompose_mul_of_right_mem_of_not_le -> DirectSum.coe_decompose_mul_of_right_mem_of_not_le is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u3, u2} σ A] [_inst_5 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι}, (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) b (𝒜 i)) -> (Not (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n)) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 n)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a b)) n)) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {A : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Semiring.{u3} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u2, u3} σ A] [_inst_5 : AddSubmonoidClass.{u2, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι}, (Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) b (𝒜 i)) -> (Not (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n)) -> (Eq.{succ u3} A (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u2, u3} σ A _inst_4 (𝒜 n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1)))) a b)) n)) (OfNat.ofNat.{u3} A 0 (Zero.toOfNat0.{u3} A (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_1)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_right_mem_of_not_le DirectSum.coe_decompose_mul_of_right_mem_of_not_leₓ'. -/
 theorem coe_decompose_mul_of_right_mem_of_not_le (b_mem : b ∈ 𝒜 i) (h : ¬i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = 0 :=
@@ -433,10 +385,7 @@ theorem coe_decompose_mul_of_right_mem_of_not_le (b_mem : b ∈ 𝒜 i) (h : ¬i
 variable [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (· + ·) (· ≤ ·)]
 
 /- warning: direct_sum.coe_decompose_mul_of_left_mem_of_le -> DirectSum.coe_decompose_mul_of_left_mem_of_le is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u3, u2} σ A] [_inst_5 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι} [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))))) _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_3))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))))], (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) a (𝒜 i)) -> (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 n)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a b)) n)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) b) (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {A : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Semiring.{u3} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u2, u3} σ A] [_inst_5 : AddSubmonoidClass.{u2, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι} [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3010 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3012 : ι) => HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3010 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3012) (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3025 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3027 : ι) => LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3025 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3027)], (Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) a (𝒜 i)) -> (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n) -> (Eq.{succ u3} A (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u2, u3} σ A _inst_4 (𝒜 n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1)))) a b)) n)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1)))) a (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u2, u3} σ A _inst_4 (𝒜 (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} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) b) (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_left_mem_of_le DirectSum.coe_decompose_mul_of_left_mem_of_leₓ'. -/
 theorem coe_decompose_mul_of_left_mem_of_le (a_mem : a ∈ 𝒜 i) (h : i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = a * decompose 𝒜 b (n - i) :=
@@ -446,10 +395,7 @@ theorem coe_decompose_mul_of_left_mem_of_le (a_mem : a ∈ 𝒜 i) (h : i ≤ n)
 #align direct_sum.coe_decompose_mul_of_left_mem_of_le DirectSum.coe_decompose_mul_of_left_mem_of_le
 
 /- warning: direct_sum.coe_decompose_mul_of_right_mem_of_le -> DirectSum.coe_decompose_mul_of_right_mem_of_le is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u3, u2} σ A] [_inst_5 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι} [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))))) _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_3))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))))], (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) b (𝒜 i)) -> (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 n)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a b)) n)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) a) (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) b))
-but is expected to have type
-  forall {ι : Type.{u1}} {A : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Semiring.{u3} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u2, u3} σ A] [_inst_5 : AddSubmonoidClass.{u2, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι} [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3183 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3185 : ι) => HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3183 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3185) (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3198 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3200 : ι) => LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3198 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3200)], (Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) b (𝒜 i)) -> (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n) -> (Eq.{succ u3} A (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u2, u3} σ A _inst_4 (𝒜 n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1)))) a b)) n)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1)))) (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u2, u3} σ A _inst_4 (𝒜 (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} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) a) (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) b))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_right_mem_of_le DirectSum.coe_decompose_mul_of_right_mem_of_leₓ'. -/
 theorem coe_decompose_mul_of_right_mem_of_le (b_mem : b ∈ 𝒜 i) (h : i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = decompose 𝒜 a (n - i) * b :=
@@ -459,10 +405,7 @@ theorem coe_decompose_mul_of_right_mem_of_le (b_mem : b ∈ 𝒜 i) (h : i ≤ n
 #align direct_sum.coe_decompose_mul_of_right_mem_of_le DirectSum.coe_decompose_mul_of_right_mem_of_le
 
 /- warning: direct_sum.coe_decompose_mul_of_left_mem -> DirectSum.coe_decompose_mul_of_left_mem is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u3, u2} σ A] [_inst_5 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {i : ι} [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))))) _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_3))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))))] (n : ι) [_inst_10 : Decidable (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n)], (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) a (𝒜 i)) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 n)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a b)) n)) (ite.{succ u2} A (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n) _inst_10 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) b) (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1)))))))))
-but is expected to have type
-  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u3} ι] [_inst_4 : SetLike.{u1, u2} σ A] [_inst_5 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {i : ι} [_inst_7 : Sub.{u3} ι] [_inst_8 : OrderedSub.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))))) _inst_7] [_inst_9 : ContravariantClass.{u3, u3} ι ι (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3356 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3358 : ι) => HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3356 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3358) (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3371 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3373 : ι) => LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3371 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3373)] (n : ι) [_inst_10 : Decidable (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) i n)], (Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) a (𝒜 i)) -> (Eq.{succ u2} A (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_4 (𝒜 n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1)))) a b)) n)) (ite.{succ u2} A (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) i n) _inst_10 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1)))) a (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_4 (𝒜 (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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) b) (HSub.hSub.{u3, u3, u3} ι ι ι (instHSub.{u3} ι _inst_7) n i)))) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_1))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_left_mem DirectSum.coe_decompose_mul_of_left_memₓ'. -/
 theorem coe_decompose_mul_of_left_mem (n) [Decidable (i ≤ n)] (a_mem : a ∈ 𝒜 i) :
     (decompose 𝒜 (a * b) n : A) = if i ≤ n then a * decompose 𝒜 b (n - i) else 0 :=
@@ -472,10 +415,7 @@ theorem coe_decompose_mul_of_left_mem (n) [Decidable (i ≤ n)] (a_mem : a ∈ 
 #align direct_sum.coe_decompose_mul_of_left_mem DirectSum.coe_decompose_mul_of_left_mem
 
 /- warning: direct_sum.coe_decompose_mul_of_right_mem -> DirectSum.coe_decompose_mul_of_right_mem is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u3, u2} σ A] [_inst_5 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {i : ι} [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))))) _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_3))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))))] (n : ι) [_inst_10 : Decidable (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n)], (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) b (𝒜 i)) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 n)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a b)) n)) (ite.{succ u2} A (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n) _inst_10 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) a) (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) b) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1)))))))))
-but is expected to have type
-  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u3} ι] [_inst_4 : SetLike.{u1, u2} σ A] [_inst_5 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {i : ι} [_inst_7 : Sub.{u3} ι] [_inst_8 : OrderedSub.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))))) _inst_7] [_inst_9 : ContravariantClass.{u3, u3} ι ι (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3542 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3544 : ι) => HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3542 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3544) (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3557 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3559 : ι) => LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3557 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3559)] (n : ι) [_inst_10 : Decidable (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) i n)], (Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) b (𝒜 i)) -> (Eq.{succ u2} A (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_4 (𝒜 n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1)))) a b)) n)) (ite.{succ u2} A (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) i n) _inst_10 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1)))) (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_4 (𝒜 (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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) a) (HSub.hSub.{u3, u3, u3} ι ι ι (instHSub.{u3} ι _inst_7) n i))) b) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_1))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_right_mem DirectSum.coe_decompose_mul_of_right_memₓ'. -/
 theorem coe_decompose_mul_of_right_mem (n) [Decidable (i ≤ n)] (b_mem : b ∈ 𝒜 i) :
     (decompose 𝒜 (a * b) n : A) = if i ≤ n then decompose 𝒜 a (n - i) * b else 0 :=
Diff
@@ -319,7 +319,7 @@ def GradedAlgebra.proj (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (i : 
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (i : ι) (r : A), Eq.{succ u3} A (coeFn.{succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (_x : LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) => A -> A) (LinearMap.hasCoeToFun.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) ((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} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) A (coeSubtype.{succ u3} A (fun (x : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (coeFn.{max 1 (max (succ u3) (succ (max u1 u3))) (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (Equiv.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (fun (_x : Equiv.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) => A -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (Equiv.hasCoeToFun.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r) i))
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (i : ι) (r : A), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) r) (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r) i))
+  forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (i : ι) (r : A), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) r) (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r) i))
 Case conversion may be inaccurate. Consider using '#align graded_algebra.proj_apply GradedAlgebra.proj_applyₓ'. -/
 @[simp]
 theorem GradedAlgebra.proj_apply (i : ι) (r : A) :
@@ -331,7 +331,7 @@ theorem GradedAlgebra.proj_apply (i : ι) (r : A) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (a : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (i : ι), Eq.{succ u3} A (coeFn.{succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (_x : LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) => A -> A) (LinearMap.hasCoeToFun.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) (coeFn.{max 1 (max (succ (max u1 u3)) (succ u3)) (succ u3) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u3)} (Equiv.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) => (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) a)) (coeFn.{max 1 (max (succ (max u1 u3)) (succ u3)) (succ u3) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u3)} (Equiv.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) => (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) => forall (i : ι), coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) a i)))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u1} R] [_inst_4 : Semiring.{u2} A] [_inst_5 : Algebra.{u1, u2} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u3, u1, u2} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (a : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (a : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => A) a) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) a)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (GradedAlgebra.proj.{u3, u1, u2} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) a)) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (_x : (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) => DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddZeroClass.toAdd.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i) i))) i)) a i)))
+  forall {ι : Type.{u3}} {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u1} R] [_inst_4 : Semiring.{u2} A] [_inst_5 : Algebra.{u1, u2} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u3, u1, u2} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (a : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (a : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => A) a) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) a)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (GradedAlgebra.proj.{u3, u1, u2} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) a)) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (_x : (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) => DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddZeroClass.toAdd.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i) i))) i)) a i)))
 Case conversion may be inaccurate. Consider using '#align graded_algebra.proj_recompose GradedAlgebra.proj_recomposeₓ'. -/
 theorem GradedAlgebra.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
     GradedAlgebra.proj 𝒜 i ((decompose 𝒜).symm a) = (decompose 𝒜).symm (of _ i (a i)) := by
@@ -342,7 +342,7 @@ theorem GradedAlgebra.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] [_inst_7 : DecidableEq.{succ u3} A] (r : A) (i : ι), Iff (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i (Dfinsupp.support.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i)))) (fun (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) => Ne.decidable.{succ u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (fun (a : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (b : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) => Subtype.decidableEq.{u3} A (fun (x : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i)) (fun (a : A) (b : A) => _inst_7 a b) a b) x (OfNat.ofNat.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) 0 (OfNat.mk.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) 0 (Zero.zero.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i)))))))) (coeFn.{max 1 (max (succ u3) (succ (max u1 u3))) (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (Equiv.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (fun (_x : Equiv.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) => A -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (Equiv.hasCoeToFun.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r))) (Ne.{succ u3} A (coeFn.{succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (_x : LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) => A -> A) (LinearMap.hasCoeToFun.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))))))
 but is expected to have type
-  forall {ι : Type.{u2}} {R : Type.{u1}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : AddMonoid.{u2} ι] [_inst_3 : CommSemiring.{u1} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u1, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] [_inst_7 : DecidableEq.{succ u3} A] (r : A) (i : ι), Iff (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i (Dfinsupp.support.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))) (fun (i : ι) (x : Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) => instDecidableNot (Eq.{succ u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) x (OfNat.ofNat.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) 0 (Zero.toOfNat0.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i)))))) (Subtype.instDecidableEqSubtype.{u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i)) (fun (a : A) (b : A) => _inst_7 a b) x (OfNat.ofNat.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) 0 (Zero.toOfNat0.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u2)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u2) (succ u3)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u2, u3, u3} ι A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u2, u3, u3} ι A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r))) (Ne.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) r) (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u1, u1, u3, u3} R R (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u3} R R A A (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (GradedAlgebra.proj.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) r) _inst_4)))))
+  forall {ι : Type.{u2}} {R : Type.{u1}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : AddMonoid.{u2} ι] [_inst_3 : CommSemiring.{u1} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u1, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] [_inst_7 : DecidableEq.{succ u3} A] (r : A) (i : ι), Iff (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i (Dfinsupp.support.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))) (fun (i : ι) (x : Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) => instDecidableNot (Eq.{succ u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) x (OfNat.ofNat.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) 0 (Zero.toOfNat0.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i)))))) (Subtype.instDecidableEqSubtype.{u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i)) (fun (a : A) (b : A) => _inst_7 a b) x (OfNat.ofNat.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) 0 (Zero.toOfNat0.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u2)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u2) (succ u3)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u2, u3, u3} ι A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u2, u3, u3} ι A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r))) (Ne.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) r) (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u1, u1, u3, u3} R R (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u3} R R A A (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (GradedAlgebra.proj.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) r) _inst_4)))))
 Case conversion may be inaccurate. Consider using '#align graded_algebra.mem_support_iff GradedAlgebra.mem_support_iffₓ'. -/
 theorem GradedAlgebra.mem_support_iff [DecidableEq A] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedAlgebra.proj 𝒜 i r ≠ 0 :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Eric Wieser, Kevin Buzzard, Jujian Zhang
 
 ! This file was ported from Lean 3 source module ring_theory.graded_algebra.basic
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit 1b0a28e1c93409dbf6d69526863cd9984ef652ce
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,6 +16,9 @@ import Mathbin.Algebra.DirectSum.Ring
 /-!
 # Internally-graded rings and algebras
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file defines the typeclass `graded_algebra 𝒜`, for working with an algebra `A` that is
 internally graded by a collection of submodules `𝒜 : ι → submodule R A`.
 See the docstring of that typeclass for more information.
Diff
@@ -58,6 +58,7 @@ include A
 
 open DirectSum
 
+#print GradedRing /-
 /-- An internally-graded `R`-algebra `A` is one that can be decomposed into a collection
 of `submodule R A`s indexed by `ι` such that the canonical map `A → ⨁ i, 𝒜 i` is bijective and
 respects multiplication, i.e. the product of an element of degree `i` and an element of degree `j`
@@ -69,11 +70,18 @@ algebra structure `direct_sum.galgebra R (λ i, ↥(𝒜 i))`, which in turn mak
 -/
 class GradedRing (𝒜 : ι → σ) extends SetLike.GradedMonoid 𝒜, DirectSum.Decomposition 𝒜
 #align graded_ring GradedRing
+-/
 
 variable [GradedRing 𝒜]
 
 namespace DirectSum
 
+/- warning: direct_sum.decompose_ring_equiv -> DirectSum.decomposeRingEquiv is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜], RingEquiv.{u2, max u1 u2} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))) (Distrib.toHasAdd.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))) (Distrib.toHasMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u3, u2} ι σ A (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (DirectSum.decomposeRingEquiv._proof_1.{u1, u2, u3} ι A σ _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))))) (Distrib.toHasAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u3, u2} ι σ A (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (DirectSum.decomposeRingEquiv._proof_1.{u1, u2, u3} ι A σ _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜], RingEquiv.{u2, max u2 u1} A (DirectSum.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u3} A σ (SetLike.instMembership.{u3, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u3} A σ (SetLike.instMembership.{u3, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u3} A σ (SetLike.instMembership.{u3, u2} σ A _inst_6) x (𝒜 i))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u3, u2} ι σ A (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u1, u2, u3} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))))) (Distrib.toAdd.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))) (Distrib.toAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u3} A σ (SetLike.instMembership.{u3, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u3} A σ (SetLike.instMembership.{u3, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u3} A σ (SetLike.instMembership.{u3, u2} σ A _inst_6) x (𝒜 i))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) (SetLike.gnonUnitalNonAssocSemiring.{u1, u3, u2} ι σ A (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u1, u2, u3} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_ring_equiv DirectSum.decomposeRingEquivₓ'. -/
 /-- If `A` is graded by `ι` with degree `i` component `𝒜 i`, then it is isomorphic as
 a ring to a direct sum of components. -/
 def decomposeRingEquiv : A ≃+* ⨁ i, 𝒜 i :=
@@ -84,21 +92,45 @@ def decomposeRingEquiv : A ≃+* ⨁ i, 𝒜 i :=
       map_add' := (coeRingHom 𝒜).map_add }
 #align direct_sum.decompose_ring_equiv DirectSum.decomposeRingEquiv
 
+/- warning: direct_sum.decompose_one -> DirectSum.decompose_one is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜], Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))))) (OfNat.ofNat.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) 1 (OfNat.mk.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) 1 (One.one.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.hasOne.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (SetLike.gOne.{u1, u2, u3} ι A σ _inst_6 (MulOneClass.toHasOne.{u2} A (Monoid.toMulOneClass.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)))) (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.to_gradedOne.{u1, u2, u3} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.to_gradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))))))
+but is expected to have type
+  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u1, u2} σ A] [_inst_7 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜], Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A _inst_4)))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A _inst_4)))) (OfNat.ofNat.{max u3 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A _inst_4)))) 1 (One.toOfNat1.{max u3 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A _inst_4)))) (DirectSum.instOneDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (AddMonoid.toZero.{u3} ι _inst_2) (SetLike.gOne.{u3, u2, u1} ι A σ _inst_6 (Semiring.toOne.{u2} A _inst_4) (AddMonoid.toZero.{u3} ι _inst_2) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedOne.{u3, u2, u1} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_one DirectSum.decompose_oneₓ'. -/
 @[simp]
 theorem decompose_one : decompose 𝒜 (1 : A) = 1 :=
   map_one (decomposeRingEquiv 𝒜)
 #align direct_sum.decompose_one DirectSum.decompose_one
 
+/- warning: direct_sum.decompose_symm_one -> DirectSum.decompose_symm_one is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜], Eq.{succ u2} A (coeFn.{max 1 (max (succ (max u1 u2)) (succ u2)) (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) => (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) (OfNat.ofNat.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) 1 (OfNat.mk.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) 1 (One.one.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.hasOne.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (SetLike.gOne.{u1, u2, u3} ι A σ _inst_6 (MulOneClass.toHasOne.{u2} A (Monoid.toMulOneClass.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)))) (AddZeroClass.toHasZero.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.to_gradedOne.{u1, u2, u3} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.to_gradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))))))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))))
+but is expected to have type
+  forall {ι : Type.{u2}} {A : Type.{u3}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : AddMonoid.{u2} ι] [_inst_4 : Semiring.{u3} A] [_inst_6 : SetLike.{u1, u3} σ A] [_inst_7 : AddSubmonoidClass.{u1, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜], Eq.{succ u3} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) (OfNat.ofNat.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) 1 (One.toOfNat1.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.instOneDirectSum.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (AddMonoid.toZero.{u2} ι _inst_2) (SetLike.gOne.{u2, u3, u1} ι A σ _inst_6 (Semiring.toOne.{u3} A _inst_4) (AddMonoid.toZero.{u2} ι _inst_2) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedOne.{u2, u3, u1} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))))) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (Equiv.{max (succ u2) (succ u3), succ u3} (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u3), succ u3} (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u3, max (succ u2) (succ u3)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) (OfNat.ofNat.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) 1 (One.toOfNat1.{max u2 u3} (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.instOneDirectSum.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (AddMonoid.toZero.{u2} ι _inst_2) (SetLike.gOne.{u2, u3, u1} ι A σ _inst_6 (Semiring.toOne.{u3} A _inst_4) (AddMonoid.toZero.{u2} ι _inst_2) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedOne.{u2, u3, u1} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))))) (OfNat.ofNat.{u3} A 1 (One.toOfNat1.{u3} A (Semiring.toOne.{u3} A _inst_4)))
+Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_symm_one DirectSum.decompose_symm_oneₓ'. -/
 @[simp]
 theorem decompose_symm_one : (decompose 𝒜).symm 1 = (1 : A) :=
   map_one (decomposeRingEquiv 𝒜).symm
 #align direct_sum.decompose_symm_one DirectSum.decompose_symm_one
 
+/- warning: direct_sum.decompose_mul -> DirectSum.decompose_mul is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (x : A) (y : A), Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) x y)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (instHMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (Distrib.toHasMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) (SetLike.gnonUnitalNonAssocSemiring.{u1, u3, u2} ι σ A (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.to_gradedMul.{u1, u2, u3} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.to_gradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))))))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) x) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) y))
+but is expected to have type
+  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u1, u2} σ A] [_inst_7 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (x : A) (y : A), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))) x y)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))) x y)) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) x) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) y) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) x) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) x) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) x) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_2)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ A (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8)))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) y))
+Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_mul DirectSum.decompose_mulₓ'. -/
 @[simp]
 theorem decompose_mul (x y : A) : decompose 𝒜 (x * y) = decompose 𝒜 x * decompose 𝒜 y :=
   map_mul (decomposeRingEquiv 𝒜) x y
 #align direct_sum.decompose_mul DirectSum.decompose_mul
 
+/- warning: direct_sum.decompose_symm_mul -> DirectSum.decompose_symm_mul is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (y : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)), Eq.{succ u2} A (coeFn.{max 1 (max (succ (max u1 u2)) (succ u2)) (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) => (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (instHMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (Distrib.toHasMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) (SetLike.gnonUnitalNonAssocSemiring.{u1, u3, u2} ι σ A (fun (a : ι) (b : ι) => _inst_1 a b) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.to_gradedMul.{u1, u2, u3} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.to_gradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8))))))) x y)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u2)) (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) => (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) x) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u2)) (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) => (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) y))
+but is expected to have type
+  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u1, u2} σ A] [_inst_7 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (y : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)), Eq.{succ u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_2)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ A (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8)))))) x y)) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instHMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_2)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) (SetLike.gnonUnitalNonAssocSemiring.{u3, u1, u2} ι σ A (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)) _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι A σ _inst_6 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_4)) _inst_2 (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 (fun (i : ι) => 𝒜 i) _inst_8)))))) x y)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) x) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) y) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) x) (instHMul.{u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) x) (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) x) _inst_4)))) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) x) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) y))
+Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_symm_mul DirectSum.decompose_symm_mulₓ'. -/
 @[simp]
 theorem decompose_symm_mul (x y : ⨁ i, 𝒜 i) :
     (decompose 𝒜).symm (x * y) = (decompose 𝒜).symm x * (decompose 𝒜).symm y :=
@@ -107,24 +139,44 @@ theorem decompose_symm_mul (x y : ⨁ i, 𝒜 i) :
 
 end DirectSum
 
+#print GradedRing.proj /-
 /-- The projection maps of a graded ring -/
 def GradedRing.proj (i : ι) : A →+ A :=
   (AddSubmonoidClass.Subtype (𝒜 i)).comp <|
     (Dfinsupp.evalAddMonoidHom i).comp <|
       RingHom.toAddMonoidHom <| RingEquiv.toRingHom <| DirectSum.decomposeRingEquiv 𝒜
 #align graded_ring.proj GradedRing.proj
+-/
 
+/- warning: graded_ring.proj_apply -> GradedRing.proj_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (i : ι) (r : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (fun (_x : AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) => A -> A) (AddMonoidHom.hasCoeToFun.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (GradedRing.proj.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8 i) r) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_6) x (𝒜 i)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) r) i))
+but is expected to have type
+  forall {ι : Type.{u2}} {A : Type.{u3}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : AddMonoid.{u2} ι] [_inst_4 : Semiring.{u3} A] [_inst_6 : SetLike.{u1, u3} σ A] [_inst_7 : AddSubmonoidClass.{u1, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (i : ι) (r : A), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) r) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) _x) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) A A (AddZeroClass.toAdd.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) (AddZeroClass.toAdd.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))))) (GradedRing.proj.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8 i) r) (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u1, u3} σ A _inst_6 (𝒜 i))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (Dfinsupp.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u2)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u2) (succ u3)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u1} A σ (SetLike.instMembership.{u1, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u2, u3, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) r) i))
+Case conversion may be inaccurate. Consider using '#align graded_ring.proj_apply GradedRing.proj_applyₓ'. -/
 @[simp]
 theorem GradedRing.proj_apply (i : ι) (r : A) :
     GradedRing.proj 𝒜 i r = (decompose 𝒜 r : ⨁ i, 𝒜 i) i :=
   rfl
 #align graded_ring.proj_apply GradedRing.proj_apply
 
+/- warning: graded_ring.proj_recompose -> GradedRing.proj_recompose is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (a : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (i : ι), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (fun (_x : AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) => A -> A) (AddMonoidHom.hasCoeToFun.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (GradedRing.proj.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8 i) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u2)) (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) => (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) a)) (coeFn.{max 1 (max (succ (max u1 u2)) (succ u2)) (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) => (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u2), succ u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (AddMonoidHom.{u2, max u1 u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (AddMonoid.toAddZeroClass.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))))) (fun (_x : AddMonoidHom.{u2, max u1 u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (AddMonoid.toAddZeroClass.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))))) => (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (AddMonoidHom.hasCoeToFun.{u2, max u1 u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (AddMonoid.toAddZeroClass.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))))) (DirectSum.of.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) i) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) a i)))
+but is expected to have type
+  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u1, u2} σ A] [_inst_7 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] (a : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (a : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) a) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) a)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) A A (AddZeroClass.toAdd.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (AddZeroClass.toAdd.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))))) (GradedRing.proj.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8 i) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) a)) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (_x : (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) => DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddZeroClass.toAdd.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_6) x (𝒜 i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u1, u2} ι σ A _inst_4 _inst_6 _inst_7 𝒜 i) i))) i)) a i)))
+Case conversion may be inaccurate. Consider using '#align graded_ring.proj_recompose GradedRing.proj_recomposeₓ'. -/
 theorem GradedRing.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
     GradedRing.proj 𝒜 i ((decompose 𝒜).symm a) = (decompose 𝒜).symm (DirectSum.of _ i (a i)) := by
   rw [GradedRing.proj_apply, decompose_symm_of, Equiv.apply_symm_apply]
 #align graded_ring.proj_recompose GradedRing.proj_recompose
 
+/- warning: graded_ring.mem_support_iff -> GradedRing.mem_support_iff is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u2} A] [_inst_6 : SetLike.{u3, u2} σ A] [_inst_7 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] [_inst_9 : forall (i : ι) (x : coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)), Decidable (Ne.{succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) x (OfNat.ofNat.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) 0 (OfNat.mk.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) 0 (Zero.zero.{u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (ZeroMemClass.zero.{u3, u2} σ A _inst_6 (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (AddSubmonoidClass.to_zeroMemClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) _inst_6 _inst_7) (𝒜 i))))))] (r : A) (i : ι), Iff (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i (Dfinsupp.support.{u1, u2} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u2} ((fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) i)))) (fun (i : ι) (x : coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) => _inst_9 i x) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_6) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) r))) (Ne.{succ u2} A (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (fun (_x : AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) => A -> A) (AddMonoidHom.hasCoeToFun.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))) (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4)))))) (GradedRing.proj.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8 i) r) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {A : Type.{u3}} {σ : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_4 : Semiring.{u3} A] [_inst_6 : SetLike.{u2, u3} σ A] [_inst_7 : AddSubmonoidClass.{u2, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) _inst_6] (𝒜 : ι -> σ) [_inst_8 : GradedRing.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜] [_inst_9 : forall (i : ι) (x : Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))), Decidable (Ne.{succ u3} (Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) x (OfNat.ofNat.{u3} (Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) 0 (Zero.toOfNat0.{u3} (Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) (ZeroMemClass.zero.{u2, u3} σ A _inst_6 (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_4)) (AddSubmonoidClass.toZeroMemClass.{u2, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) _inst_6 _inst_7) (𝒜 i)))))] (r : A) (i : ι), Iff (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i (Dfinsupp.support.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)) i))) (fun (i : ι) (x : Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) => _inst_9 i x) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_6) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) σ _inst_6 _inst_7 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) _inst_6 _inst_7 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8)) r))) (Ne.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) r) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) _x) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) A A (AddZeroClass.toAdd.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) (AddZeroClass.toAdd.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))) A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} A A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))) (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))))))) (GradedRing.proj.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 _inst_6 _inst_7 𝒜 _inst_8 i) r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : A) => A) r) _inst_4)))))
+Case conversion may be inaccurate. Consider using '#align graded_ring.mem_support_iff GradedRing.mem_support_iffₓ'. -/
 theorem GradedRing.mem_support_iff [∀ (i) (x : 𝒜 i), Decidable (x ≠ 0)] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedRing.proj 𝒜 i r ≠ 0 :=
   Dfinsupp.mem_support_iff.trans ZeroMemClass.coe_eq_zero.Not.symm
@@ -142,6 +194,12 @@ variable {i j : ι}
 
 namespace DirectSum
 
+/- warning: direct_sum.coe_decompose_mul_add_of_left_mem -> DirectSum.coe_decompose_mul_add_of_left_mem is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u3, u2} σ A] [_inst_4 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddLeftCancelMonoid.{u1} ι] [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] {a : A} {b : A}, (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) a (𝒜 i)) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) x (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) a b)) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) a ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) x (𝒜 j)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) b) j))))
+but is expected to have type
+  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u1, u2} σ A] [_inst_4 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddLeftCancelMonoid.{u3} ι] [_inst_6 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] {a : A} {b : A}, (Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) a (𝒜 i)) -> (Eq.{succ u2} A (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_3 (𝒜 (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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a b)) (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} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_3 (𝒜 j))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) b) j))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_add_of_left_mem DirectSum.coe_decompose_mul_add_of_left_memₓ'. -/
 theorem coe_decompose_mul_add_of_left_mem [AddLeftCancelMonoid ι] [GradedRing 𝒜] {a b : A}
     (a_mem : a ∈ 𝒜 i) : (decompose 𝒜 (a * b) (i + j) : A) = a * decompose 𝒜 b j :=
   by
@@ -149,6 +207,12 @@ theorem coe_decompose_mul_add_of_left_mem [AddLeftCancelMonoid ι] [GradedRing 
   rw [decompose_mul, decompose_coe, coe_of_mul_apply_add]
 #align direct_sum.coe_decompose_mul_add_of_left_mem DirectSum.coe_decompose_mul_add_of_left_mem
 
+/- warning: direct_sum.coe_decompose_mul_add_of_right_mem -> DirectSum.coe_decompose_mul_add_of_right_mem is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u3, u2} σ A] [_inst_4 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddRightCancelMonoid.{u1} ι] [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] {a : A} {b : A}, (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) b (𝒜 j)) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) x (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) a b)) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) x (𝒜 i)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) a) i)) b))
+but is expected to have type
+  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u1, u2} σ A] [_inst_4 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddRightCancelMonoid.{u3} ι] [_inst_6 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] {a : A} {b : A}, (Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) b (𝒜 j)) -> (Eq.{succ u2} A (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_3 (𝒜 (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a b)) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) i j))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_3 (𝒜 i))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) a) i)) b))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_add_of_right_mem DirectSum.coe_decompose_mul_add_of_right_memₓ'. -/
 theorem coe_decompose_mul_add_of_right_mem [AddRightCancelMonoid ι] [GradedRing 𝒜] {a b : A}
     (b_mem : b ∈ 𝒜 j) : (decompose 𝒜 (a * b) (i + j) : A) = decompose 𝒜 a i * b :=
   by
@@ -156,12 +220,24 @@ theorem coe_decompose_mul_add_of_right_mem [AddRightCancelMonoid ι] [GradedRing
   rw [decompose_mul, decompose_coe, coe_mul_of_apply_add]
 #align direct_sum.coe_decompose_mul_add_of_right_mem DirectSum.coe_decompose_mul_add_of_right_mem
 
+/- warning: direct_sum.decompose_mul_add_left -> DirectSum.decompose_mul_add_left is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u3, u2} σ A] [_inst_4 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddLeftCancelMonoid.{u1} ι] [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] (a : coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) {b : A}, Eq.{succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) x (𝒜 i)))))) a) b)) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j)) (GradedMonoid.GMul.mul.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (SetLike.gMul.{u1, u2, u3} ι A σ _inst_3 (MulOneClass.toHasMul.{u2} A (Monoid.toMulOneClass.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.to_gradedMul.{u1, u2, u3} ι A σ _inst_3 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) (fun (i : ι) => 𝒜 i) (GradedRing.to_gradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 (fun (i : ι) => 𝒜 i) _inst_6))) i j a (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) b) j))
+but is expected to have type
+  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u1, u2} σ A] [_inst_4 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddLeftCancelMonoid.{u3} ι] [_inst_6 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] (a : Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) {b : A}, Eq.{succ u2} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_3 (𝒜 i))) a) b)) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) i j)) (GradedMonoid.GMul.mul.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (SetLike.gMul.{u3, u2, u1} ι A σ _inst_3 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι A σ _inst_3 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 (fun (i : ι) => 𝒜 i) _inst_6))) i j a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddLeftCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) b) j))
+Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_mul_add_left DirectSum.decompose_mul_add_leftₓ'. -/
 theorem decompose_mul_add_left [AddLeftCancelMonoid ι] [GradedRing 𝒜] (a : 𝒜 i) {b : A} :
     decompose 𝒜 (↑a * b) (i + j) =
       @GradedMonoid.GMul.mul ι (fun i => 𝒜 i) _ _ _ _ a (decompose 𝒜 b j) :=
   Subtype.ext <| coe_decompose_mul_add_of_left_mem 𝒜 a.2
 #align direct_sum.decompose_mul_add_left DirectSum.decompose_mul_add_left
 
+/- warning: direct_sum.decompose_mul_add_right -> DirectSum.decompose_mul_add_right is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u3, u2} σ A] [_inst_4 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddRightCancelMonoid.{u1} ι] [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] {a : A} (b : coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)), Eq.{succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) a ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 j)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_3) x (𝒜 j)))))) b))) (HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5)))) i j)) (GradedMonoid.GMul.mul.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (SetLike.gMul.{u1, u2, u3} ι A σ _inst_3 (MulOneClass.toHasMul.{u2} A (Monoid.toMulOneClass.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5))) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.to_gradedMul.{u1, u2, u3} ι A σ _inst_3 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) (fun (i : ι) => 𝒜 i) (GradedRing.to_gradedMonoid.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 (fun (i : ι) => 𝒜 i) _inst_6))) i j (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_3) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u1} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) a) i) b)
+but is expected to have type
+  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : Semiring.{u2} A] [_inst_3 : SetLike.{u1, u2} σ A] [_inst_4 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) _inst_3] (𝒜 : ι -> σ) {i : ι} {j : ι} [_inst_5 : AddRightCancelMonoid.{u3} ι] [_inst_6 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜] {a : A} (b : Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 j))), Eq.{succ u2} ((fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_3 (𝒜 j))) b))) (HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5)))) i j)) (GradedMonoid.GMul.mul.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (SetLike.gMul.{u3, u2, u1} ι A σ _inst_3 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5))) (fun (i : ι) => 𝒜 i) (SetLike.GradedMonoid.toGradedMul.{u3, u2, u1} ι A σ _inst_3 (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) (fun (i : ι) => 𝒜 i) (GradedRing.toGradedMonoid.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 (fun (i : ι) => 𝒜 i) _inst_6))) 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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_3) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) σ _inst_3 _inst_4 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 _inst_4 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_1 a b) (AddRightCancelMonoid.toAddMonoid.{u3} ι _inst_5) _inst_2 _inst_3 _inst_4 𝒜 _inst_6)) a) i) b)
+Case conversion may be inaccurate. Consider using '#align direct_sum.decompose_mul_add_right DirectSum.decompose_mul_add_rightₓ'. -/
 theorem decompose_mul_add_right [AddRightCancelMonoid ι] [GradedRing 𝒜] {a : A} (b : 𝒜 j) :
     decompose 𝒜 (a * ↑b) (i + j) =
       @GradedMonoid.GMul.mul ι (fun i => 𝒜 i) _ _ _ _ (decompose 𝒜 a i) b :=
@@ -178,13 +254,16 @@ variable [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A] [Algebra
 
 variable (𝒜 : ι → Submodule R A)
 
+#print GradedAlgebra /-
 /-- A special case of `graded_ring` with `σ = submodule R A`. This is useful both because it
 can avoid typeclass search, and because it provides a more concise name. -/
 @[reducible]
 def GradedAlgebra :=
   GradedRing 𝒜
 #align graded_algebra GradedAlgebra
+-/
 
+#print GradedAlgebra.ofAlgHom /-
 /-- A helper to construct a `graded_algebra` when the `set_like.graded_monoid` structure is already
 available. This makes the `left_inv` condition easier to prove, and phrases the `right_inv`
 condition in a way that allows custom `@[ext]` lemmas to apply.
@@ -203,11 +282,13 @@ def GradedAlgebra.ofAlgHom [SetLike.GradedMonoid 𝒜] (decompose : A →ₐ[R]
     ext (i x) : 2
     exact (decompose.congr_arg <| DirectSum.coeAlgHom_of _ _ _).trans (left_inv i x)
 #align graded_algebra.of_alg_hom GradedAlgebra.ofAlgHom
+-/
 
 variable [GradedAlgebra 𝒜]
 
 namespace DirectSum
 
+#print DirectSum.decomposeAlgEquiv /-
 /-- If `A` is graded by `ι` with degree `i` component `𝒜 i`, then it is isomorphic as
 an algebra to a direct sum of components. -/
 @[simps]
@@ -218,27 +299,48 @@ def decomposeAlgEquiv : A ≃ₐ[R] ⨁ i, 𝒜 i :=
       map_add' := (coeAlgHom 𝒜).map_add
       commutes' := (coeAlgHom 𝒜).commutes }
 #align direct_sum.decompose_alg_equiv DirectSum.decomposeAlgEquiv
+-/
 
 end DirectSum
 
 open DirectSum
 
+#print GradedAlgebra.proj /-
 /-- The projection maps of graded algebra-/
 def GradedAlgebra.proj (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (i : ι) : A →ₗ[R] A :=
   (𝒜 i).Subtype.comp <| (Dfinsupp.lapply i).comp <| (decomposeAlgEquiv 𝒜).toAlgHom.toLinearMap
 #align graded_algebra.proj GradedAlgebra.proj
+-/
 
+/- warning: graded_algebra.proj_apply -> GradedAlgebra.proj_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (i : ι) (r : A), Eq.{succ u3} A (coeFn.{succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (_x : LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) => A -> A) (LinearMap.hasCoeToFun.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) ((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} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) A (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) A (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) A (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) A (coeSubtype.{succ u3} A (fun (x : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i)))))) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (coeFn.{max 1 (max (succ u3) (succ (max u1 u3))) (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (Equiv.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (fun (_x : Equiv.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) => A -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (Equiv.hasCoeToFun.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r) i))
+but is expected to have type
+  forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (i : ι) (r : A), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) r) (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r) i))
+Case conversion may be inaccurate. Consider using '#align graded_algebra.proj_apply GradedAlgebra.proj_applyₓ'. -/
 @[simp]
 theorem GradedAlgebra.proj_apply (i : ι) (r : A) :
     GradedAlgebra.proj 𝒜 i r = (decompose 𝒜 r : ⨁ i, 𝒜 i) i :=
   rfl
 #align graded_algebra.proj_apply GradedAlgebra.proj_apply
 
+/- warning: graded_algebra.proj_recompose -> GradedAlgebra.proj_recompose is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (a : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (i : ι), Eq.{succ u3} A (coeFn.{succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (_x : LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) => A -> A) (LinearMap.hasCoeToFun.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) (coeFn.{max 1 (max (succ (max u1 u3)) (succ u3)) (succ u3) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u3)} (Equiv.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) => (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) a)) (coeFn.{max 1 (max (succ (max u1 u3)) (succ u3)) (succ u3) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u3)} (Equiv.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (fun (_x : Equiv.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) => (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) -> A) (Equiv.hasCoeToFun.{succ (max u1 u3), succ u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))))) (fun (_x : AddMonoidHom.{u3, max u1 u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))))) => (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (AddMonoidHom.hasCoeToFun.{u3, max u1 u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddMonoid.toAddZeroClass.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddCommMonoid.toAddMonoid.{u3} (coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (AddMonoid.toAddZeroClass.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (AddCommMonoid.toAddMonoid.{max u1 u3} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.addCommMonoid.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))))) (DirectSum.of.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i) (coeFn.{succ (max u1 u3), max (succ u1) (succ u3)} (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (fun (_x : DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) => forall (i : ι), coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u1, u3, u3} ι (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) a i)))
+but is expected to have type
+  forall {ι : Type.{u3}} {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : DecidableEq.{succ u3} ι] [_inst_2 : AddMonoid.{u3} ι] [_inst_3 : CommSemiring.{u1} R] [_inst_4 : Semiring.{u2} A] [_inst_5 : Algebra.{u1, u2} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u3, u1, u2} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] (a : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (i : ι), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (a : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => A) a) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) a)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (GradedAlgebra.proj.{u3, u1, u2} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) a)) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (Equiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (fun (_x : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) => A) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u2), succ u2} (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) A) (Equiv.symm.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) (DirectSum.decompose.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u3, u2, u2} ι A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (_x : (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) => DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) _x) (AddHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddZeroClass.toAdd.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)))) (AddZeroClass.toAdd.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) (AddMonoidHomClass.toAddHomClass.{max u3 u2, u2, max u3 u2} (AddMonoidHom.{u2, max u2 u3} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))) ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)))) (AddMonoidHom.addMonoidHomClass.{u2, max u3 u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddMonoid.toAddZeroClass.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))) (AddMonoid.toAddZeroClass.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (AddCommMonoid.toAddMonoid.{max u3 u2} (DirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i)) (instAddCommMonoidDirectSum.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i))))))) (DirectSum.of.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i) i) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddCommMonoid.ofSubmonoidOnSemiring.{u3, u2, u2} ι (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) A _inst_4 (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_4))) (Algebra.toModule.{u1, u2} R A _inst_3 _inst_4 _inst_5)) 𝒜 i) i))) i)) a i)))
+Case conversion may be inaccurate. Consider using '#align graded_algebra.proj_recompose GradedAlgebra.proj_recomposeₓ'. -/
 theorem GradedAlgebra.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
     GradedAlgebra.proj 𝒜 i ((decompose 𝒜).symm a) = (decompose 𝒜).symm (of _ i (a i)) := by
   rw [GradedAlgebra.proj_apply, decompose_symm_of, Equiv.apply_symm_apply]
 #align graded_algebra.proj_recompose GradedAlgebra.proj_recompose
 
+/- warning: graded_algebra.mem_support_iff -> GradedAlgebra.mem_support_iff is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {R : Type.{u2}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u2, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] [_inst_7 : DecidableEq.{succ u3} A] (r : A) (i : ι), Iff (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i (Dfinsupp.support.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i)))) (fun (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) => Ne.decidable.{succ u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (fun (a : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (b : coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) => Subtype.decidableEq.{u3} A (fun (x : A) => Membership.Mem.{u3, u3} A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i)) (fun (a : A) (b : A) => _inst_7 a b) a b) x (OfNat.ofNat.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) 0 (OfNat.mk.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) 0 (Zero.zero.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddZeroClass.toHasZero.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddMonoid.toAddZeroClass.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i)))))))) (coeFn.{max 1 (max (succ u3) (succ (max u1 u3))) (succ (max u1 u3)) (succ u3), max (succ u3) (succ (max u1 u3))} (Equiv.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (fun (_x : Equiv.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) => A -> (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (Equiv.hasCoeToFun.{succ u3, succ (max u1 u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u3)} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5))) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u1, u3, u3} ι A (Submodule.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u2, u3} R A (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r))) (Ne.{succ u3} A (coeFn.{succ u3, succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) (fun (_x : LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5)) => A -> A) (LinearMap.hasCoeToFun.{u2, u2, u3, u3} R R A A (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (GradedAlgebra.proj.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))))))))
+but is expected to have type
+  forall {ι : Type.{u2}} {R : Type.{u1}} {A : Type.{u3}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : AddMonoid.{u2} ι] [_inst_3 : CommSemiring.{u1} R] [_inst_4 : Semiring.{u3} A] [_inst_5 : Algebra.{u1, u3} R A _inst_3 _inst_4] (𝒜 : ι -> (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) [_inst_6 : GradedAlgebra.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜] [_inst_7 : DecidableEq.{succ u3} A] (r : A) (i : ι), Iff (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i (Dfinsupp.support.{u2, u3} ι (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))) (fun (i : ι) (x : Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) => instDecidableNot (Eq.{succ u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) x (OfNat.ofNat.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) 0 (Zero.toOfNat0.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i)))))) (Subtype.instDecidableEqSubtype.{u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i)) (fun (a : A) (b : A) => _inst_7 a b) x (OfNat.ofNat.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) 0 (Zero.toOfNat0.{u3} ((fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) (AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)) i))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u2)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u2) (succ u3)} A (DirectSum.{u2, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5))) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (𝒜 i)))) (DirectSum.decompose.{u2, u3, u3} ι A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 (GradedRing.toDecomposition.{u2, u3, u3} ι A (Submodule.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_4 (Submodule.setLike.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) (Submodule.addSubmonoidClass.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) 𝒜 _inst_6)) r))) (Ne.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) r) (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u1, u1, u3, u3} R R (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u3} R R A A (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5) (Algebra.toModule.{u1, u3} R A _inst_3 _inst_4 _inst_5) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (GradedAlgebra.proj.{u2, u1, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5 𝒜 _inst_6 i) r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) r) _inst_4)))))
+Case conversion may be inaccurate. Consider using '#align graded_algebra.mem_support_iff GradedAlgebra.mem_support_iffₓ'. -/
 theorem GradedAlgebra.mem_support_iff [DecidableEq A] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedAlgebra.proj 𝒜 i r ≠ 0 :=
   Dfinsupp.mem_support_iff.trans Submodule.coe_eq_zero.Not.symm
@@ -256,6 +358,7 @@ variable [CanonicallyOrderedAddMonoid ι]
 
 variable [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
 
+#print GradedRing.projZeroRingHom /-
 /-- If `A` is graded by a canonically ordered add monoid, then the projection map `x ↦ x₀` is a ring
 homomorphism.
 -/
@@ -292,11 +395,18 @@ def GradedRing.projZeroRingHom : A →+* A
     · rintro _ _ ha hb _
       simp only [add_mul, decompose_add, add_apply, AddMemClass.coe_add, ha, hb]
 #align graded_ring.proj_zero_ring_hom GradedRing.projZeroRingHom
+-/
 
 variable {a b : A} {n i : ι}
 
 namespace DirectSum
 
+/- warning: direct_sum.coe_decompose_mul_of_left_mem_of_not_le -> DirectSum.coe_decompose_mul_of_left_mem_of_not_le is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u3, u2} σ A] [_inst_5 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι}, (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) a (𝒜 i)) -> (Not (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n)) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 n)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a b)) n)) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {A : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Semiring.{u3} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u2, u3} σ A] [_inst_5 : AddSubmonoidClass.{u2, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι}, (Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) a (𝒜 i)) -> (Not (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n)) -> (Eq.{succ u3} A (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u2, u3} σ A _inst_4 (𝒜 n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1)))) a b)) n)) (OfNat.ofNat.{u3} A 0 (Zero.toOfNat0.{u3} A (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_left_mem_of_not_le DirectSum.coe_decompose_mul_of_left_mem_of_not_leₓ'. -/
 theorem coe_decompose_mul_of_left_mem_of_not_le (a_mem : a ∈ 𝒜 i) (h : ¬i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = 0 :=
   by
@@ -304,6 +414,12 @@ theorem coe_decompose_mul_of_left_mem_of_not_le (a_mem : a ∈ 𝒜 i) (h : ¬i
   rwa [decompose_mul, decompose_coe, coe_of_mul_apply_of_not_le]
 #align direct_sum.coe_decompose_mul_of_left_mem_of_not_le DirectSum.coe_decompose_mul_of_left_mem_of_not_le
 
+/- warning: direct_sum.coe_decompose_mul_of_right_mem_of_not_le -> DirectSum.coe_decompose_mul_of_right_mem_of_not_le is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u3, u2} σ A] [_inst_5 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι}, (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) b (𝒜 i)) -> (Not (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n)) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 n)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a b)) n)) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {A : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Semiring.{u3} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u2, u3} σ A] [_inst_5 : AddSubmonoidClass.{u2, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι}, (Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) b (𝒜 i)) -> (Not (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n)) -> (Eq.{succ u3} A (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u2, u3} σ A _inst_4 (𝒜 n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1)))) a b)) n)) (OfNat.ofNat.{u3} A 0 (Zero.toOfNat0.{u3} A (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_right_mem_of_not_le DirectSum.coe_decompose_mul_of_right_mem_of_not_leₓ'. -/
 theorem coe_decompose_mul_of_right_mem_of_not_le (b_mem : b ∈ 𝒜 i) (h : ¬i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = 0 :=
   by
@@ -313,6 +429,12 @@ theorem coe_decompose_mul_of_right_mem_of_not_le (b_mem : b ∈ 𝒜 i) (h : ¬i
 
 variable [Sub ι] [OrderedSub ι] [ContravariantClass ι ι (· + ·) (· ≤ ·)]
 
+/- warning: direct_sum.coe_decompose_mul_of_left_mem_of_le -> DirectSum.coe_decompose_mul_of_left_mem_of_le is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u3, u2} σ A] [_inst_5 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι} [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))))) _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_3))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))))], (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) a (𝒜 i)) -> (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 n)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a b)) n)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) b) (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {A : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Semiring.{u3} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u2, u3} σ A] [_inst_5 : AddSubmonoidClass.{u2, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι} [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3010 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3012 : ι) => HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3010 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3012) (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3025 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3027 : ι) => LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3025 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3027)], (Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) a (𝒜 i)) -> (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n) -> (Eq.{succ u3} A (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u2, u3} σ A _inst_4 (𝒜 n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1)))) a b)) n)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1)))) a (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u2, u3} σ A _inst_4 (𝒜 (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} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) b) (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_left_mem_of_le DirectSum.coe_decompose_mul_of_left_mem_of_leₓ'. -/
 theorem coe_decompose_mul_of_left_mem_of_le (a_mem : a ∈ 𝒜 i) (h : i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = a * decompose 𝒜 b (n - i) :=
   by
@@ -320,6 +442,12 @@ theorem coe_decompose_mul_of_left_mem_of_le (a_mem : a ∈ 𝒜 i) (h : i ≤ n)
   rwa [decompose_mul, decompose_coe, coe_of_mul_apply_of_le]
 #align direct_sum.coe_decompose_mul_of_left_mem_of_le DirectSum.coe_decompose_mul_of_left_mem_of_le
 
+/- warning: direct_sum.coe_decompose_mul_of_right_mem_of_le -> DirectSum.coe_decompose_mul_of_right_mem_of_le is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u3, u2} σ A] [_inst_5 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι} [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))))) _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_3))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))))], (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) b (𝒜 i)) -> (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 n)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a b)) n)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) a) (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) b))
+but is expected to have type
+  forall {ι : Type.{u1}} {A : Type.{u3}} {σ : Type.{u2}} [_inst_1 : Semiring.{u3} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u2, u3} σ A] [_inst_5 : AddSubmonoidClass.{u2, u3} σ A (AddMonoid.toAddZeroClass.{u3} A (AddMonoidWithOne.toAddMonoid.{u3} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} A (NonAssocSemiring.toAddCommMonoidWithOne.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {n : ι} {i : ι} [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))))) _inst_7] [_inst_9 : ContravariantClass.{u1, u1} ι ι (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3183 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3185 : ι) => HAdd.hAdd.{u1, u1, u1} ι ι ι (instHAdd.{u1} ι (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3183 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3185) (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3198 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3200 : ι) => LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3198 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3200)], (Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) b (𝒜 i)) -> (LE.le.{u1} ι (Preorder.toLE.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n) -> (Eq.{succ u3} A (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u2, u3} σ A _inst_4 (𝒜 n))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (Dfinsupp.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1)))) a b)) n)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1)))) (Subtype.val.{succ u3} A (fun (x : A) => Membership.mem.{u3, u3} A (Set.{u3} A) (Set.instMembershipSet.{u3} A) x (SetLike.coe.{u2, u3} σ A _inst_4 (𝒜 (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} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u1, u3} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u3} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (Equiv.{succ u3, max (succ u3) (succ u1)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u3, max (succ u1) (succ u3)} A (DirectSum.{u1, u3} ι (fun (i : ι) => Subtype.{succ u3} A (fun (x : A) => Membership.mem.{u3, u2} A σ (SetLike.instMembership.{u2, u3} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u3, u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u3, u2} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) a) (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) b))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_right_mem_of_le DirectSum.coe_decompose_mul_of_right_mem_of_leₓ'. -/
 theorem coe_decompose_mul_of_right_mem_of_le (b_mem : b ∈ 𝒜 i) (h : i ≤ n) :
     (decompose 𝒜 (a * b) n : A) = decompose 𝒜 a (n - i) * b :=
   by
@@ -327,6 +455,12 @@ theorem coe_decompose_mul_of_right_mem_of_le (b_mem : b ∈ 𝒜 i) (h : i ≤ n
   rwa [decompose_mul, decompose_coe, coe_mul_of_apply_of_le]
 #align direct_sum.coe_decompose_mul_of_right_mem_of_le DirectSum.coe_decompose_mul_of_right_mem_of_le
 
+/- warning: direct_sum.coe_decompose_mul_of_left_mem -> DirectSum.coe_decompose_mul_of_left_mem is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u3, u2} σ A] [_inst_5 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {i : ι} [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))))) _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_3))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))))] (n : ι) [_inst_10 : Decidable (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n)], (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) a (𝒜 i)) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 n)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a b)) n)) (ite.{succ u2} A (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n) _inst_10 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) b) (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i)))) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1)))))))))
+but is expected to have type
+  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u3} ι] [_inst_4 : SetLike.{u1, u2} σ A] [_inst_5 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {i : ι} [_inst_7 : Sub.{u3} ι] [_inst_8 : OrderedSub.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))))) _inst_7] [_inst_9 : ContravariantClass.{u3, u3} ι ι (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3356 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3358 : ι) => HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3356 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3358) (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3371 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3373 : ι) => LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3371 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3373)] (n : ι) [_inst_10 : Decidable (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) i n)], (Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) a (𝒜 i)) -> (Eq.{succ u2} A (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_4 (𝒜 n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1)))) a b)) n)) (ite.{succ u2} A (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) i n) _inst_10 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1)))) a (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_4 (𝒜 (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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) b) (HSub.hSub.{u3, u3, u3} ι ι ι (instHSub.{u3} ι _inst_7) n i)))) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_left_mem DirectSum.coe_decompose_mul_of_left_memₓ'. -/
 theorem coe_decompose_mul_of_left_mem (n) [Decidable (i ≤ n)] (a_mem : a ∈ 𝒜 i) :
     (decompose 𝒜 (a * b) n : A) = if i ≤ n then a * decompose 𝒜 b (n - i) else 0 :=
   by
@@ -334,6 +468,12 @@ theorem coe_decompose_mul_of_left_mem (n) [Decidable (i ≤ n)] (a_mem : a ∈ 
   rwa [decompose_mul, decompose_coe, coe_of_mul_apply]
 #align direct_sum.coe_decompose_mul_of_left_mem DirectSum.coe_decompose_mul_of_left_mem
 
+/- warning: direct_sum.coe_decompose_mul_of_right_mem -> DirectSum.coe_decompose_mul_of_right_mem is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u1} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u1} ι] [_inst_4 : SetLike.{u3, u2} σ A] [_inst_5 : AddSubmonoidClass.{u3, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {i : ι} [_inst_7 : Sub.{u1} ι] [_inst_8 : OrderedSub.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))))) _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_3))))))) (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))))] (n : ι) [_inst_10 : Decidable (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n)], (Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) b (𝒜 i)) -> (Eq.{succ u2} A ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 n)) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 n)))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) a b)) n)) (ite.{succ u2} A (LE.le.{u1} ι (Preorder.toHasLe.{u1} ι (PartialOrder.toPreorder.{u1} ι (OrderedAddCommMonoid.toPartialOrder.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3)))) i n) _inst_10 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeBase.{succ u2, succ u2} (coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u3} A σ (SetLike.hasMem.{u3, u2} σ A _inst_4) x (𝒜 (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))))))) (coeFn.{succ (max u1 u2), max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (fun (_x : DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) => forall (i : ι), coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (DirectSum.hasCoeToFun.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) (coeFn.{max 1 (max (succ u2) (succ (max u1 u2))) (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (fun (_x : Equiv.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) => A -> (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (Equiv.hasCoeToFun.{succ u2, succ (max u1 u2)} A (DirectSum.{u1, u2} ι (fun (i : ι) => coeSort.{succ u3, succ (succ u2)} σ Type.{u2} (SetLike.hasCoeToSort.{u3, u2} σ A _inst_4) (𝒜 i)) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u1, u2, u3} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u1} ι (OrderedAddCommMonoid.toAddCommMonoid.{u1} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u1} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) a) (HSub.hSub.{u1, u1, u1} ι ι ι (instHSub.{u1} ι _inst_7) n i))) b) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1)))))))))
+but is expected to have type
+  forall {ι : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : Semiring.{u2} A] [_inst_2 : DecidableEq.{succ u3} ι] [_inst_3 : CanonicallyOrderedAddMonoid.{u3} ι] [_inst_4 : SetLike.{u1, u2} σ A] [_inst_5 : AddSubmonoidClass.{u1, u2} σ A (AddMonoid.toAddZeroClass.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))))) _inst_4] (𝒜 : ι -> σ) [_inst_6 : GradedRing.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜] {a : A} {b : A} {i : ι} [_inst_7 : Sub.{u3} ι] [_inst_8 : OrderedSub.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))))) _inst_7] [_inst_9 : ContravariantClass.{u3, u3} ι ι (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3542 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3544 : ι) => HAdd.hAdd.{u3, u3, u3} ι ι ι (instHAdd.{u3} ι (AddZeroClass.toAdd.{u3} ι (AddMonoid.toAddZeroClass.{u3} ι (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3542 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3544) (fun (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3557 : ι) (x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3559 : ι) => LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3557 x._@.Mathlib.RingTheory.GradedAlgebra.Basic._hyg.3559)] (n : ι) [_inst_10 : Decidable (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) i n)], (Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) b (𝒜 i)) -> (Eq.{succ u2} A (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_4 (𝒜 n))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Dfinsupp.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1)))) a b)) n)) (ite.{succ u2} A (LE.le.{u3} ι (Preorder.toLE.{u3} ι (PartialOrder.toPreorder.{u3} ι (OrderedAddCommMonoid.toPartialOrder.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3)))) i n) _inst_10 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1)))) (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u1, u2} σ A _inst_4 (𝒜 (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} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) ι (fun (_x : ι) => (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) _x) (Dfinsupp.funLike.{u3, u2} ι (fun (i : ι) => (fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (fun (i : ι) => (fun (i : ι) => AddMonoid.toZero.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (i : ι) => (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) i) i) ((fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)) i))) i)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (Equiv.{succ u2, max (succ u2) (succ u3)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) A (fun (_x : A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : A) => DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i))) _x) (Equiv.instFunLikeEquiv.{succ u2, max (succ u3) (succ u2)} A (DirectSum.{u3, u2} ι (fun (i : ι) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u1} A σ (SetLike.instMembership.{u1, u2} σ A _inst_4) x (𝒜 i))) (fun (i : ι) => AddSubmonoidClass.toAddCommMonoid.{u2, u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) σ _inst_4 _inst_5 (𝒜 i)))) (DirectSum.decompose.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_1))) _inst_4 _inst_5 𝒜 (GradedRing.toDecomposition.{u3, u2, u1} ι A σ (fun (a : ι) (b : ι) => _inst_2 a b) (AddCommMonoid.toAddMonoid.{u3} ι (OrderedAddCommMonoid.toAddCommMonoid.{u3} ι (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{u3} ι _inst_3))) _inst_1 _inst_4 _inst_5 𝒜 _inst_6)) a) (HSub.hSub.{u3, u3, u3} ι ι ι (instHSub.{u3} ι _inst_7) n i))) b) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.coe_decompose_mul_of_right_mem DirectSum.coe_decompose_mul_of_right_memₓ'. -/
 theorem coe_decompose_mul_of_right_mem (n) [Decidable (i ≤ n)] (b_mem : b ∈ 𝒜 i) :
     (decompose 𝒜 (a * b) n : A) = if i ≤ n then decompose 𝒜 a (n - i) * b else 0 :=
   by
Diff
@@ -272,10 +272,10 @@ def GradedRing.projZeroRingHom : A →+* A
     rfl
   map_mul' := by
     refine' DirectSum.Decomposition.inductionOn 𝒜 (fun x => _) _ _
-    · simp only [zero_mul, decompose_zero, zero_apply, ZeroMemClass.coe_zero]
+    · simp only [MulZeroClass.zero_mul, decompose_zero, zero_apply, ZeroMemClass.coe_zero]
     · rintro i ⟨c, hc⟩
       refine' DirectSum.Decomposition.inductionOn 𝒜 _ _ _
-      · simp only [mul_zero, decompose_zero, zero_apply, ZeroMemClass.coe_zero]
+      · simp only [MulZeroClass.mul_zero, decompose_zero, zero_apply, ZeroMemClass.coe_zero]
       · rintro j ⟨c', hc'⟩
         · simp only [Subtype.coe_mk]
           by_cases h : i + j = 0
@@ -285,8 +285,8 @@ def GradedRing.projZeroRingHom : A →+* A
               decompose_of_mem_same 𝒜 (show c' ∈ 𝒜 0 from (add_eq_zero_iff.mp h).2 ▸ hc')]
           · rw [decompose_of_mem_ne 𝒜 (mul_mem hc hc') h]
             cases' show i ≠ 0 ∨ j ≠ 0 by rwa [add_eq_zero_iff, not_and_or] at h with h' h'
-            · simp only [decompose_of_mem_ne 𝒜 hc h', zero_mul]
-            · simp only [decompose_of_mem_ne 𝒜 hc' h', mul_zero]
+            · simp only [decompose_of_mem_ne 𝒜 hc h', MulZeroClass.zero_mul]
+            · simp only [decompose_of_mem_ne 𝒜 hc' h', MulZeroClass.mul_zero]
       · intro _ _ hd he
         simp only [mul_add, decompose_add, add_apply, AddMemClass.coe_add, hd, he]
     · rintro _ _ ha hb _

Changes in mathlib4

mathlib3
mathlib4
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -48,7 +48,6 @@ variable {ι R A σ : Type*}
 section GradedRing
 
 variable [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A] [Algebra R A]
-
 variable [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ)
 
 open DirectSum
@@ -130,7 +129,6 @@ section AddCancelMonoid
 open DirectSum
 
 variable [DecidableEq ι] [Semiring A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ)
-
 variable {i j : ι}
 
 namespace DirectSum
@@ -166,7 +164,6 @@ end AddCancelMonoid
 section GradedAlgebra
 
 variable [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A] [Algebra R A]
-
 variable (𝒜 : ι → Submodule R A)
 
 /-- A special case of `GradedRing` with `σ = Submodule R A`. This is useful both because it
@@ -260,9 +257,7 @@ section CanonicalOrder
 open SetLike.GradedMonoid DirectSum
 
 variable [Semiring A] [DecidableEq ι]
-
 variable [CanonicallyOrderedAddCommMonoid ι]
-
 variable [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
 
 /-- If `A` is graded by a canonically ordered add monoid, then the projection map `x ↦ x₀` is a ring
fix(RingTheory/GradedAlgebra/Basic): rewrite simps lemma by hand (#7574)

The simps lemmas generated here were bad. The porting note matches the one on decomposeAddEquiv which also needed manual lemmas.

This also adds new lemmas that help keep simp confluent.

Diff
@@ -202,7 +202,7 @@ namespace DirectSum
 
 /-- If `A` is graded by `ι` with degree `i` component `𝒜 i`, then it is isomorphic as
 an algebra to a direct sum of components. -/
-@[simps!]
+-- Porting note: deleted [simps] and added the corresponding lemmas by hand
 def decomposeAlgEquiv : A ≃ₐ[R] ⨁ i, 𝒜 i :=
   AlgEquiv.symm
     { (decomposeAddEquiv 𝒜).symm with
@@ -210,6 +210,24 @@ def decomposeAlgEquiv : A ≃ₐ[R] ⨁ i, 𝒜 i :=
       commutes' := (coeAlgHom 𝒜).commutes }
 #align direct_sum.decompose_alg_equiv DirectSum.decomposeAlgEquiv
 
+@[simp]
+lemma decomposeAlgEquiv_apply (a : A) :
+    decomposeAlgEquiv 𝒜 a = decompose 𝒜 a := rfl
+
+@[simp]
+lemma decomposeAlgEquiv_symm_apply (a : ⨁ i, 𝒜 i) :
+    (decomposeAlgEquiv 𝒜).symm a = (decompose 𝒜).symm a := rfl
+
+@[simp]
+lemma decompose_algebraMap (r : R) :
+    decompose 𝒜 (algebraMap R A r) = algebraMap R (⨁ i, 𝒜 i) r :=
+  (decomposeAlgEquiv 𝒜).commutes r
+
+@[simp]
+lemma decompose_symm_algebraMap (r : R) :
+    (decompose 𝒜).symm (algebraMap R (⨁ i, 𝒜 i) r) = algebraMap R A r :=
+  (decomposeAlgEquiv 𝒜).symm.commutes r
+
 end DirectSum
 
 open DirectSum
chore: rename CanonicallyOrderedAddMonoid to ..AddCommMonoid (#7503)

Renames:

CanonicallyOrderedMonoid -> CanonicallyOrderedCommMonoid

CanonicallyOrderedAddMonoid -> CanonicallyOrderedAddCommMonoid

CanonicallyLinearOrderedMonoid -> CanonicallyLinearOrderedCommMonoid

CanonicallyLinearOrderedAddMonoid -> CanonicallyLinearOrderedAddCommMonoid

Diff
@@ -243,7 +243,7 @@ open SetLike.GradedMonoid DirectSum
 
 variable [Semiring A] [DecidableEq ι]
 
-variable [CanonicallyOrderedAddMonoid ι]
+variable [CanonicallyOrderedAddCommMonoid ι]
 
 variable [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
 
perf: remove overspecified fields (#6965)

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

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

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

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

Diff
@@ -74,8 +74,7 @@ a ring to a direct sum of components. -/
 def decomposeRingEquiv : A ≃+* ⨁ i, 𝒜 i :=
   RingEquiv.symm
     { (decomposeAddEquiv 𝒜).symm with
-      map_mul' := (coeRingHom 𝒜).map_mul
-      map_add' := (coeRingHom 𝒜).map_add }
+      map_mul' := (coeRingHom 𝒜).map_mul }
 #align direct_sum.decompose_ring_equiv DirectSum.decomposeRingEquiv
 
 @[simp]
@@ -208,7 +207,6 @@ def decomposeAlgEquiv : A ≃ₐ[R] ⨁ i, 𝒜 i :=
   AlgEquiv.symm
     { (decomposeAddEquiv 𝒜).symm with
       map_mul' := (coeAlgHom 𝒜).map_mul
-      map_add' := (coeAlgHom 𝒜).map_add
       commutes' := (coeAlgHom 𝒜).commutes }
 #align direct_sum.decompose_alg_equiv DirectSum.decomposeAlgEquiv
 
chore: drop MulZeroClass. in mul_zero/zero_mul (#6682)

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

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

Diff
@@ -268,10 +268,10 @@ def GradedRing.projZeroRingHom : A →+* A where
     rfl
   map_mul' := by
     refine' DirectSum.Decomposition.inductionOn 𝒜 (fun x => _) _ _
-    · simp only [MulZeroClass.zero_mul, decompose_zero, zero_apply, ZeroMemClass.coe_zero]
+    · simp only [zero_mul, decompose_zero, zero_apply, ZeroMemClass.coe_zero]
     · rintro i ⟨c, hc⟩
       refine' DirectSum.Decomposition.inductionOn 𝒜 _ _ _
-      · simp only [MulZeroClass.mul_zero, decompose_zero, zero_apply, ZeroMemClass.coe_zero]
+      · simp only [mul_zero, decompose_zero, zero_apply, ZeroMemClass.coe_zero]
       · rintro j ⟨c', hc'⟩
         · simp only [Subtype.coe_mk]
           by_cases h : i + j = 0
@@ -281,8 +281,8 @@ def GradedRing.projZeroRingHom : A →+* A where
               decompose_of_mem_same 𝒜 (show c' ∈ 𝒜 0 from (add_eq_zero_iff.mp h).2 ▸ hc')]
           · rw [decompose_of_mem_ne 𝒜 (SetLike.GradedMul.mul_mem hc hc') h]
             cases' show i ≠ 0 ∨ j ≠ 0 by rwa [add_eq_zero_iff, not_and_or] at h with h' h'
-            · simp only [decompose_of_mem_ne 𝒜 hc h', MulZeroClass.zero_mul]
-            · simp only [decompose_of_mem_ne 𝒜 hc' h', MulZeroClass.mul_zero]
+            · simp only [decompose_of_mem_ne 𝒜 hc h', zero_mul]
+            · simp only [decompose_of_mem_ne 𝒜 hc' h', mul_zero]
       · intro _ _ hd he
         simp only at hd he -- Porting note: added
         simp only [mul_add, decompose_add, add_apply, AddMemClass.coe_add, hd, he]
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -43,7 +43,7 @@ graded algebra, graded ring, graded semiring, decomposition
 
 open DirectSum BigOperators
 
-variable {ι R A σ : Type _}
+variable {ι R A σ : Type*}
 
 section GradedRing
 
chore: fix names (Add)SubmonoidClass.Subtype (#6374)
Diff
@@ -103,7 +103,7 @@ end DirectSum
 
 /-- The projection maps of a graded ring -/
 def GradedRing.proj (i : ι) : A →+ A :=
-  (AddSubmonoidClass.Subtype (𝒜 i)).comp <|
+  (AddSubmonoidClass.subtype (𝒜 i)).comp <|
     (DFinsupp.evalAddMonoidHom i).comp <|
       RingHom.toAddMonoidHom <| RingEquiv.toRingHom <| DirectSum.decomposeRingEquiv 𝒜
 #align graded_ring.proj GradedRing.proj
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,17 +2,14 @@
 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 ring_theory.graded_algebra.basic
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.DirectSum.Algebra
 import Mathlib.Algebra.DirectSum.Decomposition
 import Mathlib.Algebra.DirectSum.Internal
 import Mathlib.Algebra.DirectSum.Ring
 
+#align_import ring_theory.graded_algebra.basic from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
+
 /-!
 # Internally-graded rings and algebras
 
chore: rename Dfinsupp to DFinsupp (#5822)

See #4354

Diff
@@ -107,7 +107,7 @@ end DirectSum
 /-- The projection maps of a graded ring -/
 def GradedRing.proj (i : ι) : A →+ A :=
   (AddSubmonoidClass.Subtype (𝒜 i)).comp <|
-    (Dfinsupp.evalAddMonoidHom i).comp <|
+    (DFinsupp.evalAddMonoidHom i).comp <|
       RingHom.toAddMonoidHom <| RingEquiv.toRingHom <| DirectSum.decomposeRingEquiv 𝒜
 #align graded_ring.proj GradedRing.proj
 
@@ -124,7 +124,7 @@ theorem GradedRing.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
 
 theorem GradedRing.mem_support_iff [∀ (i) (x : 𝒜 i), Decidable (x ≠ 0)] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedRing.proj 𝒜 i r ≠ 0 :=
-  Dfinsupp.mem_support_iff.trans ZeroMemClass.coe_eq_zero.not.symm
+  DFinsupp.mem_support_iff.trans ZeroMemClass.coe_eq_zero.not.symm
 #align graded_ring.mem_support_iff GradedRing.mem_support_iff
 
 end GradedRing
@@ -221,7 +221,7 @@ open DirectSum
 
 /-- The projection maps of graded algebra-/
 def GradedAlgebra.proj (𝒜 : ι → Submodule R A) [GradedAlgebra 𝒜] (i : ι) : A →ₗ[R] A :=
-  (𝒜 i).subtype.comp <| (Dfinsupp.lapply i).comp <| (decomposeAlgEquiv 𝒜).toAlgHom.toLinearMap
+  (𝒜 i).subtype.comp <| (DFinsupp.lapply i).comp <| (decomposeAlgEquiv 𝒜).toAlgHom.toLinearMap
 #align graded_algebra.proj GradedAlgebra.proj
 
 @[simp]
@@ -237,7 +237,7 @@ theorem GradedAlgebra.proj_recompose (a : ⨁ i, 𝒜 i) (i : ι) :
 
 theorem GradedAlgebra.mem_support_iff [DecidableEq A] (r : A) (i : ι) :
     i ∈ (decompose 𝒜 r).support ↔ GradedAlgebra.proj 𝒜 i r ≠ 0 :=
-  Dfinsupp.mem_support_iff.trans Submodule.coe_eq_zero.not.symm
+  DFinsupp.mem_support_iff.trans Submodule.coe_eq_zero.not.symm
 #align graded_algebra.mem_support_iff GradedAlgebra.mem_support_iff
 
 end GradedAlgebra
chore: remove superfluous parentheses in calls to ext (#5258)

Co-authored-by: Xavier Roblot <46200072+xroblot@users.noreply.github.com> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Riccardo Brasca <riccardo.brasca@gmail.com> Co-authored-by: Yury G. Kudryashov <urkud@urkud.name> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Pol'tta / Miyahara Kō <pol_tta@outlook.jp> Co-authored-by: Jason Yuen <jason_yuen2007@hotmail.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com> Co-authored-by: Jireh Loreaux <loreaujy@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Heather Macbeth <25316162+hrmacbeth@users.noreply.github.com> Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com> Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>

Diff
@@ -194,7 +194,7 @@ def GradedAlgebra.ofAlgHom [SetLike.GradedMonoid 𝒜] (decompose : A →ₐ[R]
   left_inv := AlgHom.congr_fun right_inv
   right_inv := by
     suffices decompose.comp (DirectSum.coeAlgHom 𝒜) = AlgHom.id _ _ from AlgHom.congr_fun this
-    -- Porting note: was ext (i x) : 2
+    -- Porting note: was ext i x : 2
     refine DirectSum.algHom_ext' _ _ fun i => ?_
     ext x
     exact (decompose.congr_arg <| DirectSum.coeAlgHom_of _ _ _).trans (left_inv i x)
chore: convert lambda in docs to fun (#5045)

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

Diff
@@ -62,7 +62,7 @@ respects multiplication, i.e. the product of an element of degree `i` and an ele
 is an element of degree `i + j`.
 
 Note that the fact that `A` is internally-graded, `GradedAlgebra 𝒜`, implies an externally-graded
-algebra structure `DirectSum.GAlgebra R (λ i, ↥(𝒜 i))`, which in turn makes available an
+algebra structure `DirectSum.GAlgebra R (fun i ↦ ↥(𝒜 i))`, which in turn makes available an
 `Algebra R (⨁ i, 𝒜 i)` instance.
 -/
 class GradedRing (𝒜 : ι → σ) extends SetLike.GradedMonoid 𝒜, DirectSum.Decomposition 𝒜
feat: port RingTheory.GradedAlgebra.Basic (#4143)

Dependencies 8 + 462

463 files ported (98.3%)
191134 lines ported (98.4%)
Show graph

The unported dependencies are