ring_theory.graded_algebra.basic
⟷
Mathlib.RingTheory.GradedAlgebra.Basic
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -289,7 +289,7 @@ open SetLike.GradedMonoid DirectSum
variable [Semiring A] [DecidableEq ι]
-variable [CanonicallyOrderedAddMonoid ι]
+variable [CanonicallyOrderedAddCommMonoid ι]
variable [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/4e24c4bfcff371c71f7ba22050308aa17815626c
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -47,7 +47,7 @@ graded algebra, graded ring, graded semiring, decomposition
-/
-open DirectSum BigOperators
+open scoped DirectSum BigOperators
variable {ι R A σ : Type _}
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/1b0a28e1c93409dbf6d69526863cd9984ef652ce
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/f51de8769c34652d82d1c8e5f8f18f8374782bed
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -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 _
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
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)
@@ -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
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.
@@ -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
Renames:
CanonicallyOrderedMonoid
->
CanonicallyOrderedCommMonoid
CanonicallyOrderedAddMonoid
->
CanonicallyOrderedAddCommMonoid
CanonicallyLinearOrderedMonoid
->
CanonicallyLinearOrderedCommMonoid
CanonicallyLinearOrderedAddMonoid
->
CanonicallyLinearOrderedAddCommMonoid
@@ -243,7 +243,7 @@ open SetLike.GradedMonoid DirectSum
variable [Semiring A] [DecidableEq ι]
-variable [CanonicallyOrderedAddMonoid ι]
+variable [CanonicallyOrderedAddCommMonoid ι]
variable [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ι → σ) [GradedRing 𝒜]
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.
@@ -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
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).
@@ -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]
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -43,7 +43,7 @@ graded algebra, graded ring, graded semiring, decomposition
open DirectSum BigOperators
-variable {ι R A σ : Type _}
+variable {ι R A σ : Type*}
section GradedRing
@@ -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
@@ -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
@@ -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
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>
@@ -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)
@@ -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 𝒜
The unported dependencies are