algebra.monoid_algebra.to_direct_sumMathlib.Algebra.MonoidAlgebra.ToDirectSum

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -5,7 +5,7 @@ Authors: Eric Wieser
 -/
 import Algebra.DirectSum.Algebra
 import Algebra.MonoidAlgebra.Basic
-import Data.Finsupp.ToDfinsupp
+import Data.Finsupp.ToDFinsupp
 
 #align_import algebra.monoid_algebra.to_direct_sum from "leanprover-community/mathlib"@"1b0a28e1c93409dbf6d69526863cd9984ef652ce"
 
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2021 Eric Wieser. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Eric Wieser
 -/
-import Mathbin.Algebra.DirectSum.Algebra
-import Mathbin.Algebra.MonoidAlgebra.Basic
-import Mathbin.Data.Finsupp.ToDfinsupp
+import Algebra.DirectSum.Algebra
+import Algebra.MonoidAlgebra.Basic
+import Data.Finsupp.ToDfinsupp
 
 #align_import algebra.monoid_algebra.to_direct_sum from "leanprover-community/mathlib"@"1b0a28e1c93409dbf6d69526863cd9984ef652ce"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2021 Eric Wieser. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Eric Wieser
-
-! This file was ported from Lean 3 source module algebra.monoid_algebra.to_direct_sum
-! 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.MonoidAlgebra.Basic
 import Mathbin.Data.Finsupp.ToDfinsupp
 
+#align_import algebra.monoid_algebra.to_direct_sum from "leanprover-community/mathlib"@"1b0a28e1c93409dbf6d69526863cd9984ef652ce"
+
 /-!
 # Conversion between `add_monoid_algebra` and homogenous `direct_sum`
 
Diff
@@ -75,7 +75,7 @@ section Defs
 #print AddMonoidAlgebra.toDirectSum /-
 /-- Interpret a `add_monoid_algebra` as a homogenous `direct_sum`. -/
 def AddMonoidAlgebra.toDirectSum [Semiring M] (f : AddMonoidAlgebra M ι) : ⨁ i : ι, M :=
-  Finsupp.toDfinsupp f
+  Finsupp.toDFinsupp f
 #align add_monoid_algebra.to_direct_sum AddMonoidAlgebra.toDirectSum
 -/
 
@@ -87,7 +87,7 @@ variable [DecidableEq ι] [Semiring M]
 @[simp]
 theorem AddMonoidAlgebra.toDirectSum_single (i : ι) (m : M) :
     AddMonoidAlgebra.toDirectSum (Finsupp.single i m) = DirectSum.of _ i m :=
-  Finsupp.toDfinsupp_single i m
+  Finsupp.toDFinsupp_single i m
 #align add_monoid_algebra.to_direct_sum_single AddMonoidAlgebra.toDirectSum_single
 -/
 
@@ -96,7 +96,7 @@ variable [∀ m : M, Decidable (m ≠ 0)]
 #print DirectSum.toAddMonoidAlgebra /-
 /-- Interpret a homogenous `direct_sum` as a `add_monoid_algebra`. -/
 def DirectSum.toAddMonoidAlgebra (f : ⨁ i : ι, M) : AddMonoidAlgebra M ι :=
-  Dfinsupp.toFinsupp f
+  DFinsupp.toFinsupp f
 #align direct_sum.to_add_monoid_algebra DirectSum.toAddMonoidAlgebra
 -/
 
@@ -104,7 +104,7 @@ def DirectSum.toAddMonoidAlgebra (f : ⨁ i : ι, M) : AddMonoidAlgebra M ι :=
 @[simp]
 theorem DirectSum.toAddMonoidAlgebra_of (i : ι) (m : M) :
     (DirectSum.of _ i m : ⨁ i : ι, M).toAddMonoidAlgebra = Finsupp.single i m :=
-  Dfinsupp.toFinsupp_single i m
+  DFinsupp.toFinsupp_single i m
 #align direct_sum.to_add_monoid_algebra_of DirectSum.toAddMonoidAlgebra_of
 -/
 
@@ -112,7 +112,7 @@ theorem DirectSum.toAddMonoidAlgebra_of (i : ι) (m : M) :
 @[simp]
 theorem AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra (f : AddMonoidAlgebra M ι) :
     f.toDirectSum.toAddMonoidAlgebra = f :=
-  Finsupp.toDfinsupp_toFinsupp f
+  Finsupp.toDFinsupp_toFinsupp f
 #align add_monoid_algebra.to_direct_sum_to_add_monoid_algebra AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra
 -/
 
@@ -120,7 +120,7 @@ theorem AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra (f : AddMonoidAlgebra M
 @[simp]
 theorem DirectSum.toAddMonoidAlgebra_toDirectSum (f : ⨁ i : ι, M) :
     f.toAddMonoidAlgebra.toDirectSum = f :=
-  Dfinsupp.toFinsupp_toDfinsupp f
+  DFinsupp.toFinsupp_toDFinsupp f
 #align direct_sum.to_add_monoid_algebra_to_direct_sum DirectSum.toAddMonoidAlgebra_toDirectSum
 -/
 
@@ -138,7 +138,7 @@ namespace AddMonoidAlgebra
 #print AddMonoidAlgebra.toDirectSum_zero /-
 @[simp]
 theorem toDirectSum_zero [Semiring M] : (0 : AddMonoidAlgebra M ι).toDirectSum = 0 :=
-  Finsupp.toDfinsupp_zero
+  Finsupp.toDFinsupp_zero
 #align add_monoid_algebra.to_direct_sum_zero AddMonoidAlgebra.toDirectSum_zero
 -/
 
@@ -146,7 +146,7 @@ theorem toDirectSum_zero [Semiring M] : (0 : AddMonoidAlgebra M ι).toDirectSum
 @[simp]
 theorem toDirectSum_add [Semiring M] (f g : AddMonoidAlgebra M ι) :
     (f + g).toDirectSum = f.toDirectSum + g.toDirectSum :=
-  Finsupp.toDfinsupp_add _ _
+  Finsupp.toDFinsupp_add _ _
 #align add_monoid_algebra.to_direct_sum_add AddMonoidAlgebra.toDirectSum_add
 -/
 
@@ -178,7 +178,7 @@ variable [DecidableEq ι]
 @[simp]
 theorem toAddMonoidAlgebra_zero [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
     toAddMonoidAlgebra 0 = (0 : AddMonoidAlgebra M ι) :=
-  Dfinsupp.toFinsupp_zero
+  DFinsupp.toFinsupp_zero
 #align direct_sum.to_add_monoid_algebra_zero DirectSum.toAddMonoidAlgebra_zero
 -/
 
@@ -186,7 +186,7 @@ theorem toAddMonoidAlgebra_zero [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
 @[simp]
 theorem toAddMonoidAlgebra_add [Semiring M] [∀ m : M, Decidable (m ≠ 0)] (f g : ⨁ i : ι, M) :
     (f + g).toAddMonoidAlgebra = toAddMonoidAlgebra f + toAddMonoidAlgebra g :=
-  Dfinsupp.toFinsupp_add _ _
+  DFinsupp.toFinsupp_add _ _
 #align direct_sum.to_add_monoid_algebra_add DirectSum.toAddMonoidAlgebra_add
 -/
 
@@ -217,7 +217,7 @@ equiv. -/
 @[simps (config := { fullyApplied := false })]
 def addMonoidAlgebraEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
     AddMonoidAlgebra M ι ≃ ⨁ i : ι, M :=
-  { finsuppEquivDfinsupp with
+  { finsuppEquivDFinsupp with
     toFun := AddMonoidAlgebra.toDirectSum
     invFun := DirectSum.toAddMonoidAlgebra }
 #align add_monoid_algebra_equiv_direct_sum addMonoidAlgebraEquivDirectSum
Diff
@@ -160,7 +160,7 @@ theorem toDirectSum_mul [DecidableEq ι] [AddMonoid ι] [Semiring M] (f g : AddM
   show to_hom (f * g) = to_hom f * to_hom g
   revert f g
   rw [AddMonoidHom.map_mul_iff]
-  ext (xi xv yi yv) : 4
+  ext xi xv yi yv : 4
   dsimp only [AddMonoidHom.comp_apply, AddMonoidHom.compl₂_apply, AddMonoidHom.compr₂_apply,
     AddMonoidHom.mul_apply, AddEquiv.coe_toAddMonoidHom, Finsupp.singleAddHom_apply]
   simp only [AddMonoidAlgebra.single_mul_single, to_hom, AddMonoidHom.coe_mk,
Diff
@@ -83,36 +83,46 @@ section
 
 variable [DecidableEq ι] [Semiring M]
 
+#print AddMonoidAlgebra.toDirectSum_single /-
 @[simp]
 theorem AddMonoidAlgebra.toDirectSum_single (i : ι) (m : M) :
     AddMonoidAlgebra.toDirectSum (Finsupp.single i m) = DirectSum.of _ i m :=
   Finsupp.toDfinsupp_single i m
 #align add_monoid_algebra.to_direct_sum_single AddMonoidAlgebra.toDirectSum_single
+-/
 
 variable [∀ m : M, Decidable (m ≠ 0)]
 
+#print DirectSum.toAddMonoidAlgebra /-
 /-- Interpret a homogenous `direct_sum` as a `add_monoid_algebra`. -/
 def DirectSum.toAddMonoidAlgebra (f : ⨁ i : ι, M) : AddMonoidAlgebra M ι :=
   Dfinsupp.toFinsupp f
 #align direct_sum.to_add_monoid_algebra DirectSum.toAddMonoidAlgebra
+-/
 
+#print DirectSum.toAddMonoidAlgebra_of /-
 @[simp]
 theorem DirectSum.toAddMonoidAlgebra_of (i : ι) (m : M) :
     (DirectSum.of _ i m : ⨁ i : ι, M).toAddMonoidAlgebra = Finsupp.single i m :=
   Dfinsupp.toFinsupp_single i m
 #align direct_sum.to_add_monoid_algebra_of DirectSum.toAddMonoidAlgebra_of
+-/
 
+#print AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra /-
 @[simp]
 theorem AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra (f : AddMonoidAlgebra M ι) :
     f.toDirectSum.toAddMonoidAlgebra = f :=
   Finsupp.toDfinsupp_toFinsupp f
 #align add_monoid_algebra.to_direct_sum_to_add_monoid_algebra AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra
+-/
 
+#print DirectSum.toAddMonoidAlgebra_toDirectSum /-
 @[simp]
 theorem DirectSum.toAddMonoidAlgebra_toDirectSum (f : ⨁ i : ι, M) :
     f.toAddMonoidAlgebra.toDirectSum = f :=
   Dfinsupp.toFinsupp_toDfinsupp f
 #align direct_sum.to_add_monoid_algebra_to_direct_sum DirectSum.toAddMonoidAlgebra_toDirectSum
+-/
 
 end
 
@@ -125,17 +135,22 @@ section Lemmas
 
 namespace AddMonoidAlgebra
 
+#print AddMonoidAlgebra.toDirectSum_zero /-
 @[simp]
 theorem toDirectSum_zero [Semiring M] : (0 : AddMonoidAlgebra M ι).toDirectSum = 0 :=
   Finsupp.toDfinsupp_zero
 #align add_monoid_algebra.to_direct_sum_zero AddMonoidAlgebra.toDirectSum_zero
+-/
 
+#print AddMonoidAlgebra.toDirectSum_add /-
 @[simp]
 theorem toDirectSum_add [Semiring M] (f g : AddMonoidAlgebra M ι) :
     (f + g).toDirectSum = f.toDirectSum + g.toDirectSum :=
   Finsupp.toDfinsupp_add _ _
 #align add_monoid_algebra.to_direct_sum_add AddMonoidAlgebra.toDirectSum_add
+-/
 
+#print AddMonoidAlgebra.toDirectSum_mul /-
 @[simp]
 theorem toDirectSum_mul [DecidableEq ι] [AddMonoid ι] [Semiring M] (f g : AddMonoidAlgebra M ι) :
     (f * g).toDirectSum = f.toDirectSum * g.toDirectSum :=
@@ -151,6 +166,7 @@ theorem toDirectSum_mul [DecidableEq ι] [AddMonoid ι] [Semiring M] (f g : AddM
   simp only [AddMonoidAlgebra.single_mul_single, to_hom, AddMonoidHom.coe_mk,
     AddMonoidAlgebra.toDirectSum_single, DirectSum.of_mul_of, Mul.gMul_mul]
 #align add_monoid_algebra.to_direct_sum_mul AddMonoidAlgebra.toDirectSum_mul
+-/
 
 end AddMonoidAlgebra
 
@@ -158,18 +174,23 @@ namespace DirectSum
 
 variable [DecidableEq ι]
 
+#print DirectSum.toAddMonoidAlgebra_zero /-
 @[simp]
 theorem toAddMonoidAlgebra_zero [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
     toAddMonoidAlgebra 0 = (0 : AddMonoidAlgebra M ι) :=
   Dfinsupp.toFinsupp_zero
 #align direct_sum.to_add_monoid_algebra_zero DirectSum.toAddMonoidAlgebra_zero
+-/
 
+#print DirectSum.toAddMonoidAlgebra_add /-
 @[simp]
 theorem toAddMonoidAlgebra_add [Semiring M] [∀ m : M, Decidable (m ≠ 0)] (f g : ⨁ i : ι, M) :
     (f + g).toAddMonoidAlgebra = toAddMonoidAlgebra f + toAddMonoidAlgebra g :=
   Dfinsupp.toFinsupp_add _ _
 #align direct_sum.to_add_monoid_algebra_add DirectSum.toAddMonoidAlgebra_add
+-/
 
+#print DirectSum.toAddMonoidAlgebra_mul /-
 @[simp]
 theorem toAddMonoidAlgebra_mul [AddMonoid ι] [Semiring M] [∀ m : M, Decidable (m ≠ 0)]
     (f g : ⨁ i : ι, M) : (f * g).toAddMonoidAlgebra = toAddMonoidAlgebra f * toAddMonoidAlgebra g :=
@@ -179,6 +200,7 @@ theorem toAddMonoidAlgebra_mul [AddMonoid ι] [Semiring M] [∀ m : M, Decidable
   · apply Function.LeftInverse.injective
     apply AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra
 #align direct_sum.to_add_monoid_algebra_mul DirectSum.toAddMonoidAlgebra_mul
+-/
 
 end DirectSum
 
@@ -189,6 +211,7 @@ end Lemmas
 
 section Equivs
 
+#print addMonoidAlgebraEquivDirectSum /-
 /-- `add_monoid_algebra.to_direct_sum` and `direct_sum.to_add_monoid_algebra` together form an
 equiv. -/
 @[simps (config := { fullyApplied := false })]
@@ -198,7 +221,9 @@ def addMonoidAlgebraEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M, Dec
     toFun := AddMonoidAlgebra.toDirectSum
     invFun := DirectSum.toAddMonoidAlgebra }
 #align add_monoid_algebra_equiv_direct_sum addMonoidAlgebraEquivDirectSum
+-/
 
+#print addMonoidAlgebraAddEquivDirectSum /-
 /-- The additive version of `add_monoid_algebra.to_add_monoid_algebra`. Note that this is
 `noncomputable` because `add_monoid_algebra.has_add` is noncomputable. -/
 @[simps (config := { fullyApplied := false })]
@@ -210,7 +235,9 @@ def addMonoidAlgebraAddEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M,
     invFun := DirectSum.toAddMonoidAlgebra
     map_add' := AddMonoidAlgebra.toDirectSum_add }
 #align add_monoid_algebra_add_equiv_direct_sum addMonoidAlgebraAddEquivDirectSum
+-/
 
+#print addMonoidAlgebraRingEquivDirectSum /-
 /-- The ring version of `add_monoid_algebra.to_add_monoid_algebra`. Note that this is
 `noncomputable` because `add_monoid_algebra.has_add` is noncomputable. -/
 @[simps (config := { fullyApplied := false })]
@@ -224,7 +251,9 @@ def addMonoidAlgebraRingEquivDirectSum [DecidableEq ι] [AddMonoid ι] [Semiring
     invFun := DirectSum.toAddMonoidAlgebra
     map_mul' := AddMonoidAlgebra.toDirectSum_mul }
 #align add_monoid_algebra_ring_equiv_direct_sum addMonoidAlgebraRingEquivDirectSum
+-/
 
+#print addMonoidAlgebraAlgEquivDirectSum /-
 /-- The algebra version of `add_monoid_algebra.to_add_monoid_algebra`. Note that this is
 `noncomputable` because `add_monoid_algebra.has_add` is noncomputable. -/
 @[simps (config := { fullyApplied := false })]
@@ -238,6 +267,7 @@ def addMonoidAlgebraAlgEquivDirectSum [DecidableEq ι] [AddMonoid ι] [CommSemir
     invFun := DirectSum.toAddMonoidAlgebra
     commutes' := fun r => AddMonoidAlgebra.toDirectSum_single _ _ }
 #align add_monoid_algebra_alg_equiv_direct_sum addMonoidAlgebraAlgEquivDirectSum
+-/
 
 end Equivs
 
Diff
@@ -65,7 +65,7 @@ still involve this definition.
 
 variable {ι : Type _} {R : Type _} {M : Type _} {A : Type _}
 
-open DirectSum
+open scoped DirectSum
 
 /-! ### Basic definitions and lemmas -/
 
Diff
@@ -83,9 +83,6 @@ section
 
 variable [DecidableEq ι] [Semiring M]
 
-/- warning: add_monoid_algebra.to_direct_sum_single -> AddMonoidAlgebra.toDirectSum_single is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.to_direct_sum_single AddMonoidAlgebra.toDirectSum_singleₓ'. -/
 @[simp]
 theorem AddMonoidAlgebra.toDirectSum_single (i : ι) (m : M) :
     AddMonoidAlgebra.toDirectSum (Finsupp.single i m) = DirectSum.of _ i m :=
@@ -94,44 +91,23 @@ theorem AddMonoidAlgebra.toDirectSum_single (i : ι) (m : M) :
 
 variable [∀ m : M, Decidable (m ≠ 0)]
 
-/- warning: direct_sum.to_add_monoid_algebra -> DirectSum.toAddMonoidAlgebra is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))], (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) -> (AddMonoidAlgebra.{u2, u1} M ι _inst_2)
-but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_2)))))], (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) -> (AddMonoidAlgebra.{u2, u1} M ι _inst_2)
-Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra DirectSum.toAddMonoidAlgebraₓ'. -/
 /-- Interpret a homogenous `direct_sum` as a `add_monoid_algebra`. -/
 def DirectSum.toAddMonoidAlgebra (f : ⨁ i : ι, M) : AddMonoidAlgebra M ι :=
   Dfinsupp.toFinsupp f
 #align direct_sum.to_add_monoid_algebra DirectSum.toAddMonoidAlgebra
 
-/- warning: direct_sum.to_add_monoid_algebra_of -> DirectSum.toAddMonoidAlgebra_of is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra_of DirectSum.toAddMonoidAlgebra_ofₓ'. -/
 @[simp]
 theorem DirectSum.toAddMonoidAlgebra_of (i : ι) (m : M) :
     (DirectSum.of _ i m : ⨁ i : ι, M).toAddMonoidAlgebra = Finsupp.single i m :=
   Dfinsupp.toFinsupp_single i m
 #align direct_sum.to_add_monoid_algebra_of DirectSum.toAddMonoidAlgebra_of
 
-/- warning: add_monoid_algebra.to_direct_sum_to_add_monoid_algebra -> AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))] (f : AddMonoidAlgebra.{u2, u1} M ι _inst_2), Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_2 f)) f
-but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_2)))))] (f : AddMonoidAlgebra.{u2, u1} M ι _inst_2), Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_2 f)) f
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.to_direct_sum_to_add_monoid_algebra AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebraₓ'. -/
 @[simp]
 theorem AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra (f : AddMonoidAlgebra M ι) :
     f.toDirectSum.toAddMonoidAlgebra = f :=
   Finsupp.toDfinsupp_toFinsupp f
 #align add_monoid_algebra.to_direct_sum_to_add_monoid_algebra AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra
 
-/- warning: direct_sum.to_add_monoid_algebra_to_direct_sum -> DirectSum.toAddMonoidAlgebra_toDirectSum is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))] (f : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))), Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_2 (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) f)) f
-but is expected to have type
-  forall {ι : Type.{u2}} {M : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : Semiring.{u1} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (MonoidWithZero.toZero.{u1} M (Semiring.toMonoidWithZero.{u1} M _inst_2)))))] (f : DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_2)))), Eq.{max (succ u2) (succ u1)} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoidAlgebra.toDirectSum.{u2, u1} ι M _inst_2 (DirectSum.toAddMonoidAlgebra.{u2, u1} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) f)) f
-Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra_to_direct_sum DirectSum.toAddMonoidAlgebra_toDirectSumₓ'. -/
 @[simp]
 theorem DirectSum.toAddMonoidAlgebra_toDirectSum (f : ⨁ i : ι, M) :
     f.toAddMonoidAlgebra.toDirectSum = f :=
@@ -149,35 +125,17 @@ section Lemmas
 
 namespace AddMonoidAlgebra
 
-/- warning: add_monoid_algebra.to_direct_sum_zero -> AddMonoidAlgebra.toDirectSum_zero is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u2} M], Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 (OfNat.ofNat.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) 0 (OfNat.mk.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) 0 (Zero.zero.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddZeroClass.toHasZero.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.addCommMonoid.{u1, u2} M ι _inst_1)))))))) (OfNat.ofNat.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) 0 (OfNat.mk.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) 0 (Zero.zero.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddZeroClass.toHasZero.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1))))))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u2} M], Eq.{max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 (OfNat.ofNat.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) 0 (Zero.toOfNat0.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoid.toZero.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.addCommMonoid.{u2, u1} M ι _inst_1)))))) (OfNat.ofNat.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) 0 (Zero.toOfNat0.{max u1 u2} (DirectSum.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddMonoid.toZero.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (instAddCommMonoidDirectSum.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.to_direct_sum_zero AddMonoidAlgebra.toDirectSum_zeroₓ'. -/
 @[simp]
 theorem toDirectSum_zero [Semiring M] : (0 : AddMonoidAlgebra M ι).toDirectSum = 0 :=
   Finsupp.toDfinsupp_zero
 #align add_monoid_algebra.to_direct_sum_zero AddMonoidAlgebra.toDirectSum_zero
 
-/- warning: add_monoid_algebra.to_direct_sum_add -> AddMonoidAlgebra.toDirectSum_add is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u2} M] (f : AddMonoidAlgebra.{u2, u1} M ι _inst_1) (g : AddMonoidAlgebra.{u2, u1} M ι _inst_1), Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (instHAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddZeroClass.toHasAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.addCommMonoid.{u1, u2} M ι _inst_1))))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (instHAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddZeroClass.toHasAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))))))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 f) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 g))
-but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u2} M] (f : AddMonoidAlgebra.{u2, u1} M ι _inst_1) (g : AddMonoidAlgebra.{u2, u1} M ι _inst_1), Eq.{max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (instHAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddZeroClass.toAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.addCommMonoid.{u2, u1} M ι _inst_1))))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (instHAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddZeroClass.toAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (instAddCommMonoidDirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))))))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 f) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 g))
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.to_direct_sum_add AddMonoidAlgebra.toDirectSum_addₓ'. -/
 @[simp]
 theorem toDirectSum_add [Semiring M] (f g : AddMonoidAlgebra M ι) :
     (f + g).toDirectSum = f.toDirectSum + g.toDirectSum :=
   Finsupp.toDfinsupp_add _ _
 #align add_monoid_algebra.to_direct_sum_add AddMonoidAlgebra.toDirectSum_add
 
-/- warning: add_monoid_algebra.to_direct_sum_mul -> AddMonoidAlgebra.toDirectSum_mul is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : Semiring.{u2} M] (f : AddMonoidAlgebra.{u2, u1} M ι _inst_3) (g : AddMonoidAlgebra.{u2, u1} M ι _inst_3), Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_3 (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (instHMul.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.hasMul.{u2, u1} M ι _inst_3 (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))) f g)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (instHMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (Distrib.toHasMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_3 f) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_3 g))
-but is expected to have type
-  forall {ι : Type.{u2}} {M : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : AddMonoid.{u2} ι] [_inst_3 : Semiring.{u1} M] (f : AddMonoidAlgebra.{u1, u2} M ι _inst_3) (g : AddMonoidAlgebra.{u1, u2} M ι _inst_3), Eq.{max (succ u2) (succ u1)} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3)))) (AddMonoidAlgebra.toDirectSum.{u2, u1} ι M _inst_3 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (instHMul.{max u2 u1} (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (AddMonoidAlgebra.hasMul.{u1, u2} M ι _inst_3 (AddZeroClass.toAdd.{u2} ι (AddMonoid.toAddZeroClass.{u2} ι _inst_2)))) f g)) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3)))) (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3)))) (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3)))) (instHMul.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3)))) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (_i : ι) => M) (AddZeroClass.toAdd.{u2} ι (AddMonoid.toAddZeroClass.{u2} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u2, u1} ι M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} M (Semiring.toNonAssocSemiring.{u1} M _inst_3)))))) (AddMonoidAlgebra.toDirectSum.{u2, u1} ι M _inst_3 f) (AddMonoidAlgebra.toDirectSum.{u2, u1} ι M _inst_3 g))
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.to_direct_sum_mul AddMonoidAlgebra.toDirectSum_mulₓ'. -/
 @[simp]
 theorem toDirectSum_mul [DecidableEq ι] [AddMonoid ι] [Semiring M] (f g : AddMonoidAlgebra M ι) :
     (f * g).toDirectSum = f.toDirectSum * g.toDirectSum :=
@@ -200,36 +158,18 @@ namespace DirectSum
 
 variable [DecidableEq ι]
 
-/- warning: direct_sum.to_add_monoid_algebra_zero -> DirectSum.toAddMonoidAlgebra_zero is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))], Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (OfNat.ofNat.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) 0 (OfNat.mk.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) 0 (Zero.zero.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddZeroClass.toHasZero.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))))))))) (OfNat.ofNat.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) 0 (OfNat.mk.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) 0 (Zero.zero.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddZeroClass.toHasZero.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.addCommMonoid.{u1, u2} M ι _inst_2)))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_2)))))], Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (OfNat.ofNat.{max u2 u1} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) 0 (Zero.toOfNat0.{max u1 u2} (DirectSum.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toZero.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2))))))))) (OfNat.ofNat.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) 0 (Zero.toOfNat0.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoid.toZero.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.addCommMonoid.{u2, u1} M ι _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra_zero DirectSum.toAddMonoidAlgebra_zeroₓ'. -/
 @[simp]
 theorem toAddMonoidAlgebra_zero [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
     toAddMonoidAlgebra 0 = (0 : AddMonoidAlgebra M ι) :=
   Dfinsupp.toFinsupp_zero
 #align direct_sum.to_add_monoid_algebra_zero DirectSum.toAddMonoidAlgebra_zero
 
-/- warning: direct_sum.to_add_monoid_algebra_add -> DirectSum.toAddMonoidAlgebra_add is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))] (f : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (g : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))), Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (instHAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddZeroClass.toHasAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))))))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (instHAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddZeroClass.toHasAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.addCommMonoid.{u1, u2} M ι _inst_2))))) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) f) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) g))
-but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_2)))))] (f : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (g : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))), Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (instHAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddZeroClass.toAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))))))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (instHAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddZeroClass.toAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.addCommMonoid.{u2, u1} M ι _inst_2))))) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) f) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) g))
-Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra_add DirectSum.toAddMonoidAlgebra_addₓ'. -/
 @[simp]
 theorem toAddMonoidAlgebra_add [Semiring M] [∀ m : M, Decidable (m ≠ 0)] (f g : ⨁ i : ι, M) :
     (f + g).toAddMonoidAlgebra = toAddMonoidAlgebra f + toAddMonoidAlgebra g :=
   Dfinsupp.toFinsupp_add _ _
 #align direct_sum.to_add_monoid_algebra_add DirectSum.toAddMonoidAlgebra_add
 
-/- warning: direct_sum.to_add_monoid_algebra_mul -> DirectSum.toAddMonoidAlgebra_mul is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : Semiring.{u2} M] [_inst_4 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))))))] (f : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (g : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))), Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (m : M) => _inst_4 m) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (instHMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (Distrib.toHasMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))))) f g)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (instHMul.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.hasMul.{u2, u1} M ι _inst_3 (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (m : M) => _inst_4 m) f) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (m : M) => _inst_4 m) g))
-but is expected to have type
-  forall {ι : Type.{u2}} {M : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : AddMonoid.{u2} ι] [_inst_3 : Semiring.{u1} M] [_inst_4 : forall (m : M), Decidable (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (MonoidWithZero.toZero.{u1} M (Semiring.toMonoidWithZero.{u1} M _inst_3)))))] (f : DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))) (g : DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))), Eq.{max (succ u2) (succ u1)} (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (DirectSum.toAddMonoidAlgebra.{u2, u1} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (m : M) => _inst_4 m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))) (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))) (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))) (instHMul.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (_i : ι) => M) (AddZeroClass.toAdd.{u2} ι (AddMonoid.toAddZeroClass.{u2} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u2, u1} ι M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} M (Semiring.toNonAssocSemiring.{u1} M _inst_3)))))) f g)) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (instHMul.{max u2 u1} (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (AddMonoidAlgebra.hasMul.{u1, u2} M ι _inst_3 (AddZeroClass.toAdd.{u2} ι (AddMonoid.toAddZeroClass.{u2} ι _inst_2)))) (DirectSum.toAddMonoidAlgebra.{u2, u1} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (m : M) => _inst_4 m) f) (DirectSum.toAddMonoidAlgebra.{u2, u1} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (m : M) => _inst_4 m) g))
-Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra_mul DirectSum.toAddMonoidAlgebra_mulₓ'. -/
 @[simp]
 theorem toAddMonoidAlgebra_mul [AddMonoid ι] [Semiring M] [∀ m : M, Decidable (m ≠ 0)]
     (f g : ⨁ i : ι, M) : (f * g).toAddMonoidAlgebra = toAddMonoidAlgebra f * toAddMonoidAlgebra g :=
@@ -249,12 +189,6 @@ end Lemmas
 
 section Equivs
 
-/- warning: add_monoid_algebra_equiv_direct_sum -> addMonoidAlgebraEquivDirectSum is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))], Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))
-but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_2)))))], Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2))))
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra_equiv_direct_sum addMonoidAlgebraEquivDirectSumₓ'. -/
 /-- `add_monoid_algebra.to_direct_sum` and `direct_sum.to_add_monoid_algebra` together form an
 equiv. -/
 @[simps (config := { fullyApplied := false })]
@@ -265,12 +199,6 @@ def addMonoidAlgebraEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M, Dec
     invFun := DirectSum.toAddMonoidAlgebra }
 #align add_monoid_algebra_equiv_direct_sum addMonoidAlgebraEquivDirectSum
 
-/- warning: add_monoid_algebra_add_equiv_direct_sum -> addMonoidAlgebraAddEquivDirectSum is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))], AddEquiv.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddZeroClass.toHasAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.addCommMonoid.{u1, u2} M ι _inst_2)))) (AddZeroClass.toHasAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_2)))))], AddEquiv.{max u1 u2, max u2 u1} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2)))) (AddZeroClass.toAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.addCommMonoid.{u2, u1} M ι _inst_2)))) (AddZeroClass.toAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2)))))))
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra_add_equiv_direct_sum addMonoidAlgebraAddEquivDirectSumₓ'. -/
 /-- The additive version of `add_monoid_algebra.to_add_monoid_algebra`. Note that this is
 `noncomputable` because `add_monoid_algebra.has_add` is noncomputable. -/
 @[simps (config := { fullyApplied := false })]
@@ -283,12 +211,6 @@ def addMonoidAlgebraAddEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M,
     map_add' := AddMonoidAlgebra.toDirectSum_add }
 #align add_monoid_algebra_add_equiv_direct_sum addMonoidAlgebraAddEquivDirectSum
 
-/- warning: add_monoid_algebra_ring_equiv_direct_sum -> addMonoidAlgebraRingEquivDirectSum is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : Semiring.{u2} M] [_inst_4 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))))))], RingEquiv.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (AddMonoidAlgebra.hasMul.{u2, u1} M ι _inst_3 (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))) (Distrib.toHasAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.nonUnitalNonAssocSemiring.{u2, u1} M ι _inst_3 (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))))) (Distrib.toHasMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))))) (Distrib.toHasAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : Semiring.{u2} M] [_inst_4 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_3)))))], RingEquiv.{max u1 u2, max u2 u1} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_3)))) (AddMonoidAlgebra.hasMul.{u2, u1} M ι _inst_3 (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_3)))) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (_i : ι) => M) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u1, u2} ι M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))) (Distrib.toAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.nonUnitalNonAssocSemiring.{u2, u1} M ι _inst_3 (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))))) (Distrib.toAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_3)))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_3)))) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u1, u2} ι M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))))
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra_ring_equiv_direct_sum addMonoidAlgebraRingEquivDirectSumₓ'. -/
 /-- The ring version of `add_monoid_algebra.to_add_monoid_algebra`. Note that this is
 `noncomputable` because `add_monoid_algebra.has_add` is noncomputable. -/
 @[simps (config := { fullyApplied := false })]
@@ -303,12 +225,6 @@ def addMonoidAlgebraRingEquivDirectSum [DecidableEq ι] [AddMonoid ι] [Semiring
     map_mul' := AddMonoidAlgebra.toDirectSum_mul }
 #align add_monoid_algebra_ring_equiv_direct_sum addMonoidAlgebraRingEquivDirectSum
 
-/- warning: add_monoid_algebra_alg_equiv_direct_sum -> addMonoidAlgebraAlgEquivDirectSum 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] [_inst_6 : forall (m : A), Decidable (Ne.{succ u3} A m (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))))))))], AlgEquiv.{u2, max u1 u3, max u1 u3} R (AddMonoidAlgebra.{u3, u1} A ι _inst_4) (DirectSum.{u1, u3} ι (fun (i : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))) _inst_3 (AddMonoidAlgebra.semiring.{u3, u1} A ι _inst_4 _inst_2) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) _inst_2 (Semiring.directSumGSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) A _inst_2 _inst_4)) (AddMonoidAlgebra.algebra.{u3, u1, u2} A ι R _inst_3 _inst_4 _inst_5 _inst_2) (DirectSum.algebra.{u1, u2, u3} ι R (fun (i : ι) => A) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (fun (i : ι) => Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) _inst_2 (Semiring.directSumGSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) A _inst_2 _inst_4) (Algebra.directSumGAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5))
-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] [_inst_6 : forall (m : A), Decidable (Ne.{succ u3} A m (OfNat.ofNat.{u3} A 0 (Zero.toOfNat0.{u3} A (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_4)))))], AlgEquiv.{u2, max u1 u3, max u3 u1} R (AddMonoidAlgebra.{u3, u1} A ι _inst_4) (DirectSum.{u1, u3} ι (fun (i : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (_i : ι) => A) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (_i : ι) => A) i) (Semiring.toNonAssocSemiring.{u3} ((fun (_i : ι) => A) i) _inst_4)))) _inst_3 (AddMonoidAlgebra.semiring.{u3, u1} A ι _inst_4 _inst_2) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (_i : ι) => A) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (_i : ι) => A) i) (Semiring.toNonAssocSemiring.{u3} ((fun (_i : ι) => A) i) _inst_4))) _inst_2 (Semiring.directSumGSemiring.{u1, u3} ι A _inst_2 _inst_4)) (AddMonoidAlgebra.algebra.{u3, u1, u2} A ι R _inst_3 _inst_4 _inst_5 _inst_2) (DirectSum.instAlgebraDirectSumSemiring.{u1, u2, u3} ι R (fun (i : ι) => A) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (_i : ι) => A) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (_i : ι) => A) i) (Semiring.toNonAssocSemiring.{u3} ((fun (_i : ι) => A) i) _inst_4))) (fun (i : ι) => Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) _inst_2 (Semiring.directSumGSemiring.{u1, u3} ι A _inst_2 _inst_4) (Algebra.directSumGAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5))
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra_alg_equiv_direct_sum addMonoidAlgebraAlgEquivDirectSumₓ'. -/
 /-- The algebra version of `add_monoid_algebra.to_add_monoid_algebra`. Note that this is
 `noncomputable` because `add_monoid_algebra.has_add` is noncomputable. -/
 @[simps (config := { fullyApplied := false })]
Diff
@@ -84,10 +84,7 @@ section
 variable [DecidableEq ι] [Semiring M]
 
 /- warning: add_monoid_algebra.to_direct_sum_single -> AddMonoidAlgebra.toDirectSum_single is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] (i : ι) (m : M), Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_2 (Finsupp.single.{u1, u2} ι M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) i m)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (AddMonoidHom.{u2, max u1 u2} M (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))) (fun (_x : AddMonoidHom.{u2, max u1 u2} M (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))) => M -> (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))) (AddMonoidHom.hasCoeToFun.{u2, max u1 u2} M (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))) (DirectSum.of.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))) i) m)
-but is expected to have type
-  forall {ι : Type.{u2}} {M : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : Semiring.{u1} M] (i : ι) (m : M), Eq.{max (succ u2) (succ u1)} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoidAlgebra.toDirectSum.{u2, u1} ι M _inst_2 (Finsupp.single.{u2, u1} ι M (MonoidWithZero.toZero.{u1} M (Semiring.toMonoidWithZero.{u1} M _inst_2)) i m)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (AddMonoidHom.{u1, max u1 u2} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) _x) (AddHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (AddMonoidHom.{u1, max u1 u2} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))))) (AddZeroClass.toAdd.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u1, max u2 u1} (AddMonoidHom.{u1, max u1 u2} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))))) (AddMonoidHom.addMonoidHomClass.{u1, max u2 u1} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))))) (DirectSum.of.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))) i) m)
+<too large>
 Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.to_direct_sum_single AddMonoidAlgebra.toDirectSum_singleₓ'. -/
 @[simp]
 theorem AddMonoidAlgebra.toDirectSum_single (i : ι) (m : M) :
@@ -109,10 +106,7 @@ def DirectSum.toAddMonoidAlgebra (f : ⨁ i : ι, M) : AddMonoidAlgebra M ι :=
 #align direct_sum.to_add_monoid_algebra DirectSum.toAddMonoidAlgebra
 
 /- warning: direct_sum.to_add_monoid_algebra_of -> DirectSum.toAddMonoidAlgebra_of is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))] (i : ι) (m : M), Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (AddMonoidHom.{u2, max u1 u2} M (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))))) (fun (_x : AddMonoidHom.{u2, max u1 u2} M (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))))) => M -> (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))) (AddMonoidHom.hasCoeToFun.{u2, max u1 u2} M (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))))) (DirectSum.of.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))) i) m)) (Finsupp.single.{u1, u2} ι M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) i m)
-but is expected to have type
-  forall {ι : Type.{u2}} {M : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : Semiring.{u1} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (MonoidWithZero.toZero.{u1} M (Semiring.toMonoidWithZero.{u1} M _inst_2)))))] (i : ι) (m : M), Eq.{max (succ u2) (succ u1)} (AddMonoidAlgebra.{u1, u2} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u2, u1} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (AddMonoidHom.{u1, max u1 u2} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) _x) (AddHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (AddMonoidHom.{u1, max u1 u2} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))))) (AddZeroClass.toAdd.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u1, max u2 u1} (AddMonoidHom.{u1, max u1 u2} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))))) (AddMonoidHom.addMonoidHomClass.{u1, max u2 u1} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))))) (DirectSum.of.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_2))) i) m)) (Finsupp.single.{u2, u1} ι M (MonoidWithZero.toZero.{u1} M (Semiring.toMonoidWithZero.{u1} M _inst_2)) i m)
+<too large>
 Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra_of DirectSum.toAddMonoidAlgebra_ofₓ'. -/
 @[simp]
 theorem DirectSum.toAddMonoidAlgebra_of (i : ι) (m : M) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Eric Wieser
 
 ! This file was ported from Lean 3 source module algebra.monoid_algebra.to_direct_sum
-! leanprover-community/mathlib commit c0a51cf2de54089d69301befc4c73bbc2f5c7342
+! leanprover-community/mathlib commit 1b0a28e1c93409dbf6d69526863cd9984ef652ce
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.Data.Finsupp.ToDfinsupp
 /-!
 # Conversion between `add_monoid_algebra` and homogenous `direct_sum`
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This module provides conversions between `add_monoid_algebra` and `direct_sum`.
 The latter is essentially a dependent version of the former.
 
Diff
@@ -69,15 +69,23 @@ open DirectSum
 
 section Defs
 
+#print AddMonoidAlgebra.toDirectSum /-
 /-- Interpret a `add_monoid_algebra` as a homogenous `direct_sum`. -/
 def AddMonoidAlgebra.toDirectSum [Semiring M] (f : AddMonoidAlgebra M ι) : ⨁ i : ι, M :=
   Finsupp.toDfinsupp f
 #align add_monoid_algebra.to_direct_sum AddMonoidAlgebra.toDirectSum
+-/
 
 section
 
 variable [DecidableEq ι] [Semiring M]
 
+/- warning: add_monoid_algebra.to_direct_sum_single -> AddMonoidAlgebra.toDirectSum_single is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] (i : ι) (m : M), Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_2 (Finsupp.single.{u1, u2} ι M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) i m)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (AddMonoidHom.{u2, max u1 u2} M (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))) (fun (_x : AddMonoidHom.{u2, max u1 u2} M (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))) => M -> (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))) (AddMonoidHom.hasCoeToFun.{u2, max u1 u2} M (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))) (DirectSum.of.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))) i) m)
+but is expected to have type
+  forall {ι : Type.{u2}} {M : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : Semiring.{u1} M] (i : ι) (m : M), Eq.{max (succ u2) (succ u1)} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoidAlgebra.toDirectSum.{u2, u1} ι M _inst_2 (Finsupp.single.{u2, u1} ι M (MonoidWithZero.toZero.{u1} M (Semiring.toMonoidWithZero.{u1} M _inst_2)) i m)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (AddMonoidHom.{u1, max u1 u2} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) _x) (AddHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (AddMonoidHom.{u1, max u1 u2} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))))) (AddZeroClass.toAdd.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u1, max u2 u1} (AddMonoidHom.{u1, max u1 u2} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))))) (AddMonoidHom.addMonoidHomClass.{u1, max u2 u1} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))))) (DirectSum.of.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))) i) m)
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.to_direct_sum_single AddMonoidAlgebra.toDirectSum_singleₓ'. -/
 @[simp]
 theorem AddMonoidAlgebra.toDirectSum_single (i : ι) (m : M) :
     AddMonoidAlgebra.toDirectSum (Finsupp.single i m) = DirectSum.of _ i m :=
@@ -86,23 +94,47 @@ theorem AddMonoidAlgebra.toDirectSum_single (i : ι) (m : M) :
 
 variable [∀ m : M, Decidable (m ≠ 0)]
 
+/- warning: direct_sum.to_add_monoid_algebra -> DirectSum.toAddMonoidAlgebra is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))], (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) -> (AddMonoidAlgebra.{u2, u1} M ι _inst_2)
+but is expected to have type
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_2)))))], (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) -> (AddMonoidAlgebra.{u2, u1} M ι _inst_2)
+Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra DirectSum.toAddMonoidAlgebraₓ'. -/
 /-- Interpret a homogenous `direct_sum` as a `add_monoid_algebra`. -/
 def DirectSum.toAddMonoidAlgebra (f : ⨁ i : ι, M) : AddMonoidAlgebra M ι :=
   Dfinsupp.toFinsupp f
 #align direct_sum.to_add_monoid_algebra DirectSum.toAddMonoidAlgebra
 
+/- warning: direct_sum.to_add_monoid_algebra_of -> DirectSum.toAddMonoidAlgebra_of is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))] (i : ι) (m : M), Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (AddMonoidHom.{u2, max u1 u2} M (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))))) (fun (_x : AddMonoidHom.{u2, max u1 u2} M (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))))) => M -> (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))) (AddMonoidHom.hasCoeToFun.{u2, max u1 u2} M (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))))) (DirectSum.of.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))) i) m)) (Finsupp.single.{u1, u2} ι M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) i m)
+but is expected to have type
+  forall {ι : Type.{u2}} {M : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : Semiring.{u1} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (MonoidWithZero.toZero.{u1} M (Semiring.toMonoidWithZero.{u1} M _inst_2)))))] (i : ι) (m : M), Eq.{max (succ u2) (succ u1)} (AddMonoidAlgebra.{u1, u2} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u2, u1} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (AddMonoidHom.{u1, max u1 u2} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) _x) (AddHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (AddMonoidHom.{u1, max u1 u2} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))))) (AddZeroClass.toAdd.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u1, max u2 u1} (AddMonoidHom.{u1, max u1 u2} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))) M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))))) (AddMonoidHom.addMonoidHomClass.{u1, max u2 u1} M (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))) (AddMonoid.toAddZeroClass.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2))))))))) (DirectSum.of.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_2))) i) m)) (Finsupp.single.{u2, u1} ι M (MonoidWithZero.toZero.{u1} M (Semiring.toMonoidWithZero.{u1} M _inst_2)) i m)
+Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra_of DirectSum.toAddMonoidAlgebra_ofₓ'. -/
 @[simp]
 theorem DirectSum.toAddMonoidAlgebra_of (i : ι) (m : M) :
     (DirectSum.of _ i m : ⨁ i : ι, M).toAddMonoidAlgebra = Finsupp.single i m :=
   Dfinsupp.toFinsupp_single i m
 #align direct_sum.to_add_monoid_algebra_of DirectSum.toAddMonoidAlgebra_of
 
+/- warning: add_monoid_algebra.to_direct_sum_to_add_monoid_algebra -> AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))] (f : AddMonoidAlgebra.{u2, u1} M ι _inst_2), Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_2 f)) f
+but is expected to have type
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_2)))))] (f : AddMonoidAlgebra.{u2, u1} M ι _inst_2), Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_2 f)) f
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.to_direct_sum_to_add_monoid_algebra AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebraₓ'. -/
 @[simp]
 theorem AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra (f : AddMonoidAlgebra M ι) :
     f.toDirectSum.toAddMonoidAlgebra = f :=
   Finsupp.toDfinsupp_toFinsupp f
 #align add_monoid_algebra.to_direct_sum_to_add_monoid_algebra AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra
 
+/- warning: direct_sum.to_add_monoid_algebra_to_direct_sum -> DirectSum.toAddMonoidAlgebra_toDirectSum is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))] (f : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))), Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_2 (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) f)) f
+but is expected to have type
+  forall {ι : Type.{u2}} {M : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : Semiring.{u1} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (MonoidWithZero.toZero.{u1} M (Semiring.toMonoidWithZero.{u1} M _inst_2)))))] (f : DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_2)))), Eq.{max (succ u2) (succ u1)} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoidAlgebra.toDirectSum.{u2, u1} ι M _inst_2 (DirectSum.toAddMonoidAlgebra.{u2, u1} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) f)) f
+Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra_to_direct_sum DirectSum.toAddMonoidAlgebra_toDirectSumₓ'. -/
 @[simp]
 theorem DirectSum.toAddMonoidAlgebra_toDirectSum (f : ⨁ i : ι, M) :
     f.toAddMonoidAlgebra.toDirectSum = f :=
@@ -120,17 +152,35 @@ section Lemmas
 
 namespace AddMonoidAlgebra
 
+/- warning: add_monoid_algebra.to_direct_sum_zero -> AddMonoidAlgebra.toDirectSum_zero is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u2} M], Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 (OfNat.ofNat.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) 0 (OfNat.mk.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) 0 (Zero.zero.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddZeroClass.toHasZero.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.addCommMonoid.{u1, u2} M ι _inst_1)))))))) (OfNat.ofNat.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) 0 (OfNat.mk.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) 0 (Zero.zero.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddZeroClass.toHasZero.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1))))))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u2} M], Eq.{max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 (OfNat.ofNat.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) 0 (Zero.toOfNat0.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoid.toZero.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.addCommMonoid.{u2, u1} M ι _inst_1)))))) (OfNat.ofNat.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) 0 (Zero.toOfNat0.{max u1 u2} (DirectSum.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddMonoid.toZero.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (instAddCommMonoidDirectSum.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.to_direct_sum_zero AddMonoidAlgebra.toDirectSum_zeroₓ'. -/
 @[simp]
 theorem toDirectSum_zero [Semiring M] : (0 : AddMonoidAlgebra M ι).toDirectSum = 0 :=
   Finsupp.toDfinsupp_zero
 #align add_monoid_algebra.to_direct_sum_zero AddMonoidAlgebra.toDirectSum_zero
 
+/- warning: add_monoid_algebra.to_direct_sum_add -> AddMonoidAlgebra.toDirectSum_add is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u2} M] (f : AddMonoidAlgebra.{u2, u1} M ι _inst_1) (g : AddMonoidAlgebra.{u2, u1} M ι _inst_1), Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (instHAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddZeroClass.toHasAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.addCommMonoid.{u1, u2} M ι _inst_1))))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (instHAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddZeroClass.toHasAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_1)))))))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 f) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 g))
+but is expected to have type
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u2} M] (f : AddMonoidAlgebra.{u2, u1} M ι _inst_1) (g : AddMonoidAlgebra.{u2, u1} M ι _inst_1), Eq.{max (succ u1) (succ u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (instHAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddZeroClass.toAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_1) (AddMonoidAlgebra.addCommMonoid.{u2, u1} M ι _inst_1))))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (instHAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddZeroClass.toAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))) (instAddCommMonoidDirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_1)))))))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 f) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_1 g))
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.to_direct_sum_add AddMonoidAlgebra.toDirectSum_addₓ'. -/
 @[simp]
 theorem toDirectSum_add [Semiring M] (f g : AddMonoidAlgebra M ι) :
     (f + g).toDirectSum = f.toDirectSum + g.toDirectSum :=
   Finsupp.toDfinsupp_add _ _
 #align add_monoid_algebra.to_direct_sum_add AddMonoidAlgebra.toDirectSum_add
 
+/- warning: add_monoid_algebra.to_direct_sum_mul -> AddMonoidAlgebra.toDirectSum_mul is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : Semiring.{u2} M] (f : AddMonoidAlgebra.{u2, u1} M ι _inst_3) (g : AddMonoidAlgebra.{u2, u1} M ι _inst_3), Eq.{succ (max u1 u2)} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_3 (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (instHMul.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.hasMul.{u2, u1} M ι _inst_3 (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))) f g)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (instHMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (Distrib.toHasMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))))) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_3 f) (AddMonoidAlgebra.toDirectSum.{u1, u2} ι M _inst_3 g))
+but is expected to have type
+  forall {ι : Type.{u2}} {M : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : AddMonoid.{u2} ι] [_inst_3 : Semiring.{u1} M] (f : AddMonoidAlgebra.{u1, u2} M ι _inst_3) (g : AddMonoidAlgebra.{u1, u2} M ι _inst_3), Eq.{max (succ u2) (succ u1)} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3)))) (AddMonoidAlgebra.toDirectSum.{u2, u1} ι M _inst_3 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (instHMul.{max u2 u1} (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (AddMonoidAlgebra.hasMul.{u1, u2} M ι _inst_3 (AddZeroClass.toAdd.{u2} ι (AddMonoid.toAddZeroClass.{u2} ι _inst_2)))) f g)) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3)))) (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3)))) (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3)))) (instHMul.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3)))) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (_i : ι) => M) (AddZeroClass.toAdd.{u2} ι (AddMonoid.toAddZeroClass.{u2} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u2, u1} ι M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} M (Semiring.toNonAssocSemiring.{u1} M _inst_3)))))) (AddMonoidAlgebra.toDirectSum.{u2, u1} ι M _inst_3 f) (AddMonoidAlgebra.toDirectSum.{u2, u1} ι M _inst_3 g))
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.to_direct_sum_mul AddMonoidAlgebra.toDirectSum_mulₓ'. -/
 @[simp]
 theorem toDirectSum_mul [DecidableEq ι] [AddMonoid ι] [Semiring M] (f g : AddMonoidAlgebra M ι) :
     (f * g).toDirectSum = f.toDirectSum * g.toDirectSum :=
@@ -153,18 +203,36 @@ namespace DirectSum
 
 variable [DecidableEq ι]
 
+/- warning: direct_sum.to_add_monoid_algebra_zero -> DirectSum.toAddMonoidAlgebra_zero is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))], Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (OfNat.ofNat.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) 0 (OfNat.mk.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) 0 (Zero.zero.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddZeroClass.toHasZero.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2))))))))))) (OfNat.ofNat.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) 0 (OfNat.mk.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) 0 (Zero.zero.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddZeroClass.toHasZero.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.addCommMonoid.{u1, u2} M ι _inst_2)))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_2)))))], Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (OfNat.ofNat.{max u2 u1} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) 0 (Zero.toOfNat0.{max u1 u2} (DirectSum.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toZero.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2))))))))) (OfNat.ofNat.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) 0 (Zero.toOfNat0.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoid.toZero.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.addCommMonoid.{u2, u1} M ι _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra_zero DirectSum.toAddMonoidAlgebra_zeroₓ'. -/
 @[simp]
 theorem toAddMonoidAlgebra_zero [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
     toAddMonoidAlgebra 0 = (0 : AddMonoidAlgebra M ι) :=
   Dfinsupp.toFinsupp_zero
 #align direct_sum.to_add_monoid_algebra_zero DirectSum.toAddMonoidAlgebra_zero
 
+/- warning: direct_sum.to_add_monoid_algebra_add -> DirectSum.toAddMonoidAlgebra_add is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))] (f : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (g : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))), Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (instHAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddZeroClass.toHasAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))))))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (instHAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddZeroClass.toHasAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.addCommMonoid.{u1, u2} M ι _inst_2))))) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) f) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) g))
+but is expected to have type
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_2)))))] (f : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (g : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))), Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (instHAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddZeroClass.toAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_2)))))))) f g)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (instHAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddZeroClass.toAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.addCommMonoid.{u2, u1} M ι _inst_2))))) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) f) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 (fun (m : M) => _inst_3 m) g))
+Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra_add DirectSum.toAddMonoidAlgebra_addₓ'. -/
 @[simp]
 theorem toAddMonoidAlgebra_add [Semiring M] [∀ m : M, Decidable (m ≠ 0)] (f g : ⨁ i : ι, M) :
     (f + g).toAddMonoidAlgebra = toAddMonoidAlgebra f + toAddMonoidAlgebra g :=
   Dfinsupp.toFinsupp_add _ _
 #align direct_sum.to_add_monoid_algebra_add DirectSum.toAddMonoidAlgebra_add
 
+/- warning: direct_sum.to_add_monoid_algebra_mul -> DirectSum.toAddMonoidAlgebra_mul is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : Semiring.{u2} M] [_inst_4 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))))))] (f : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (g : DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))), Eq.{max (succ u1) (succ u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (m : M) => _inst_4 m) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (instHMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (Distrib.toHasMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3)))) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (i : ι) => M) i) _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))))) f g)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (instHMul.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.hasMul.{u2, u1} M ι _inst_3 (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)))) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (m : M) => _inst_4 m) f) (DirectSum.toAddMonoidAlgebra.{u1, u2} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (m : M) => _inst_4 m) g))
+but is expected to have type
+  forall {ι : Type.{u2}} {M : Type.{u1}} [_inst_1 : DecidableEq.{succ u2} ι] [_inst_2 : AddMonoid.{u2} ι] [_inst_3 : Semiring.{u1} M] [_inst_4 : forall (m : M), Decidable (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (MonoidWithZero.toZero.{u1} M (Semiring.toMonoidWithZero.{u1} M _inst_3)))))] (f : DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))) (g : DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))), Eq.{max (succ u2) (succ u1)} (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (DirectSum.toAddMonoidAlgebra.{u2, u1} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (m : M) => _inst_4 m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))) (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))) (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))) (instHMul.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (DirectSum.{u2, u1} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (i : ι) => M) i) _inst_3)))) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (_i : ι) => M) (AddZeroClass.toAdd.{u2} ι (AddMonoid.toAddZeroClass.{u2} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u1} ((fun (_i : ι) => M) i) _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u2, u1} ι M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} M (Semiring.toNonAssocSemiring.{u1} M _inst_3)))))) f g)) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (instHMul.{max u2 u1} (AddMonoidAlgebra.{u1, u2} M ι _inst_3) (AddMonoidAlgebra.hasMul.{u1, u2} M ι _inst_3 (AddZeroClass.toAdd.{u2} ι (AddMonoid.toAddZeroClass.{u2} ι _inst_2)))) (DirectSum.toAddMonoidAlgebra.{u2, u1} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (m : M) => _inst_4 m) f) (DirectSum.toAddMonoidAlgebra.{u2, u1} ι M (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (m : M) => _inst_4 m) g))
+Case conversion may be inaccurate. Consider using '#align direct_sum.to_add_monoid_algebra_mul DirectSum.toAddMonoidAlgebra_mulₓ'. -/
 @[simp]
 theorem toAddMonoidAlgebra_mul [AddMonoid ι] [Semiring M] [∀ m : M, Decidable (m ≠ 0)]
     (f g : ⨁ i : ι, M) : (f * g).toAddMonoidAlgebra = toAddMonoidAlgebra f * toAddMonoidAlgebra g :=
@@ -184,6 +252,12 @@ end Lemmas
 
 section Equivs
 
+/- warning: add_monoid_algebra_equiv_direct_sum -> addMonoidAlgebraEquivDirectSum is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))], Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))
+but is expected to have type
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_2)))))], Equiv.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2))))
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra_equiv_direct_sum addMonoidAlgebraEquivDirectSumₓ'. -/
 /-- `add_monoid_algebra.to_direct_sum` and `direct_sum.to_add_monoid_algebra` together form an
 equiv. -/
 @[simps (config := { fullyApplied := false })]
@@ -194,6 +268,12 @@ def addMonoidAlgebraEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M, Dec
     invFun := DirectSum.toAddMonoidAlgebra }
 #align add_monoid_algebra_equiv_direct_sum addMonoidAlgebraEquivDirectSum
 
+/- warning: add_monoid_algebra_add_equiv_direct_sum -> addMonoidAlgebraAddEquivDirectSum is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2))))))))], AddEquiv.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddZeroClass.toHasAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.addCommMonoid.{u1, u2} M ι _inst_2)))) (AddZeroClass.toHasAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))) (DirectSum.addCommMonoid.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_2)))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : Semiring.{u2} M] [_inst_3 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_2)))))], AddEquiv.{max u1 u2, max u2 u1} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2)))) (AddZeroClass.toAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoid.toAddZeroClass.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_2) (AddMonoidAlgebra.addCommMonoid.{u2, u1} M ι _inst_2)))) (AddZeroClass.toAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2)))) (AddMonoid.toAddZeroClass.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2)))) (instAddCommMonoidDirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_2)))))))
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra_add_equiv_direct_sum addMonoidAlgebraAddEquivDirectSumₓ'. -/
 /-- The additive version of `add_monoid_algebra.to_add_monoid_algebra`. Note that this is
 `noncomputable` because `add_monoid_algebra.has_add` is noncomputable. -/
 @[simps (config := { fullyApplied := false })]
@@ -206,6 +286,12 @@ def addMonoidAlgebraAddEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M,
     map_add' := AddMonoidAlgebra.toDirectSum_add }
 #align add_monoid_algebra_add_equiv_direct_sum addMonoidAlgebraAddEquivDirectSum
 
+/- warning: add_monoid_algebra_ring_equiv_direct_sum -> addMonoidAlgebraRingEquivDirectSum is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : Semiring.{u2} M] [_inst_4 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (MulZeroClass.toHasZero.{u2} M (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))))))], RingEquiv.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (AddMonoidAlgebra.hasMul.{u2, u1} M ι _inst_3 (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))) (Distrib.toHasAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.nonUnitalNonAssocSemiring.{u2, u1} M ι _inst_3 (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))))) (Distrib.toHasMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))))) (Distrib.toHasAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3)))) (DirectSum.nonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (AddZeroClass.toHasAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} M (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} ι] [_inst_2 : AddMonoid.{u1} ι] [_inst_3 : Semiring.{u2} M] [_inst_4 : forall (m : M), Decidable (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (Semiring.toMonoidWithZero.{u2} M _inst_3)))))], RingEquiv.{max u1 u2, max u2 u1} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_3)))) (AddMonoidAlgebra.hasMul.{u2, u1} M ι _inst_3 (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (DirectSum.{u1, u2} ι (fun (_i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_3)))) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (_i : ι) => M) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u1, u2} ι M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))) (Distrib.toAdd.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (AddMonoidAlgebra.{u2, u1} M ι _inst_3) (AddMonoidAlgebra.nonUnitalNonAssocSemiring.{u2, u1} M ι _inst_3 (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2))))) (Distrib.toAdd.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_3)))) (NonUnitalNonAssocSemiring.toDistrib.{max u1 u2} (DirectSum.{u1, u2} ι (fun (i : ι) => M) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_3)))) (DirectSum.instNonUnitalNonAssocSemiringDirectSum.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => M) (AddZeroClass.toAdd.{u1} ι (AddMonoid.toAddZeroClass.{u1} ι _inst_2)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} ((fun (_i : ι) => M) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) (Semiring.toNonAssocSemiring.{u2} ((fun (_i : ι) => M) i) _inst_3))) (NonUnitalNonAssocSemiring.directSumGNonUnitalNonAssocSemiring.{u1, u2} ι M _inst_2 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} M (Semiring.toNonAssocSemiring.{u2} M _inst_3))))))
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra_ring_equiv_direct_sum addMonoidAlgebraRingEquivDirectSumₓ'. -/
 /-- The ring version of `add_monoid_algebra.to_add_monoid_algebra`. Note that this is
 `noncomputable` because `add_monoid_algebra.has_add` is noncomputable. -/
 @[simps (config := { fullyApplied := false })]
@@ -220,6 +306,12 @@ def addMonoidAlgebraRingEquivDirectSum [DecidableEq ι] [AddMonoid ι] [Semiring
     map_mul' := AddMonoidAlgebra.toDirectSum_mul }
 #align add_monoid_algebra_ring_equiv_direct_sum addMonoidAlgebraRingEquivDirectSum
 
+/- warning: add_monoid_algebra_alg_equiv_direct_sum -> addMonoidAlgebraAlgEquivDirectSum 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] [_inst_6 : forall (m : A), Decidable (Ne.{succ u3} A m (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))))))))], AlgEquiv.{u2, max u1 u3, max u1 u3} R (AddMonoidAlgebra.{u3, u1} A ι _inst_4) (DirectSum.{u1, u3} ι (fun (i : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4)))) _inst_3 (AddMonoidAlgebra.semiring.{u3, u1} A ι _inst_4 _inst_2) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) _inst_2 (Semiring.directSumGSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) A _inst_2 _inst_4)) (AddMonoidAlgebra.algebra.{u3, u1, u2} A ι R _inst_3 _inst_4 _inst_5 _inst_2) (DirectSum.algebra.{u1, u2, u3} ι R (fun (i : ι) => A) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A _inst_4))) (fun (i : ι) => Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) _inst_2 (Semiring.directSumGSemiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) A _inst_2 _inst_4) (Algebra.directSumGAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5))
+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] [_inst_6 : forall (m : A), Decidable (Ne.{succ u3} A m (OfNat.ofNat.{u3} A 0 (Zero.toOfNat0.{u3} A (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_4)))))], AlgEquiv.{u2, max u1 u3, max u3 u1} R (AddMonoidAlgebra.{u3, u1} A ι _inst_4) (DirectSum.{u1, u3} ι (fun (i : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (_i : ι) => A) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (_i : ι) => A) i) (Semiring.toNonAssocSemiring.{u3} ((fun (_i : ι) => A) i) _inst_4)))) _inst_3 (AddMonoidAlgebra.semiring.{u3, u1} A ι _inst_4 _inst_2) (DirectSum.semiring.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_1 a b) (fun (i : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (_i : ι) => A) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (_i : ι) => A) i) (Semiring.toNonAssocSemiring.{u3} ((fun (_i : ι) => A) i) _inst_4))) _inst_2 (Semiring.directSumGSemiring.{u1, u3} ι A _inst_2 _inst_4)) (AddMonoidAlgebra.algebra.{u3, u1, u2} A ι R _inst_3 _inst_4 _inst_5 _inst_2) (DirectSum.instAlgebraDirectSumSemiring.{u1, u2, u3} ι R (fun (i : ι) => A) (fun (a : ι) (b : ι) => _inst_1 a b) _inst_3 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (_i : ι) => A) i) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (_i : ι) => A) i) (Semiring.toNonAssocSemiring.{u3} ((fun (_i : ι) => A) i) _inst_4))) (fun (i : ι) => Algebra.toModule.{u2, u3} R A _inst_3 _inst_4 _inst_5) _inst_2 (Semiring.directSumGSemiring.{u1, u3} ι A _inst_2 _inst_4) (Algebra.directSumGAlgebra.{u1, u2, u3} ι R A (fun (a : ι) (b : ι) => _inst_1 a b) _inst_2 _inst_3 _inst_4 _inst_5))
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra_alg_equiv_direct_sum addMonoidAlgebraAlgEquivDirectSumₓ'. -/
 /-- The algebra version of `add_monoid_algebra.to_add_monoid_algebra`. Note that this is
 `noncomputable` because `add_monoid_algebra.has_add` is noncomputable. -/
 @[simps (config := { fullyApplied := false })]

Changes in mathlib4

mathlib3
mathlib4
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -139,7 +139,7 @@ theorem toDirectSum_mul [DecidableEq ι] [AddMonoid ι] [Semiring M] (f g : AddM
   let _ : NonUnitalNonAssocSemiring (ι →₀ M) := AddMonoidAlgebra.nonUnitalNonAssocSemiring
   revert f g
   rw [AddMonoidHom.map_mul_iff]
-  -- porting note: does not find `addHom_ext'`, was `ext (xi xv yi yv) : 4`
+  -- Porting note: does not find `addHom_ext'`, was `ext (xi xv yi yv) : 4`
   refine Finsupp.addHom_ext' fun xi => AddMonoidHom.ext fun xv => ?_
   refine Finsupp.addHom_ext' fun yi => AddMonoidHom.ext fun yv => ?_
   dsimp only [AddMonoidHom.comp_apply, AddMonoidHom.compl₂_apply, AddMonoidHom.compr₂_apply,
style: shorten simps configurations (#8296)

Use .asFn and .lemmasOnly as simps configuration options.

For reference, these are defined here:

https://github.com/leanprover-community/mathlib4/blob/4055c8b471380825f07416b12cb0cf266da44d84/Mathlib/Tactic/Simps/Basic.lean#L843-L851

Diff
@@ -198,7 +198,7 @@ section Equivs
 
 /-- `AddMonoidAlgebra.toDirectSum` and `DirectSum.toAddMonoidAlgebra` together form an
 equiv. -/
-@[simps (config := { fullyApplied := false })]
+@[simps (config := .asFn)]
 def addMonoidAlgebraEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
     AddMonoidAlgebra M ι ≃ ⨁ _ : ι, M :=
   { finsuppEquivDFinsupp with
@@ -207,7 +207,7 @@ def addMonoidAlgebraEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M, Dec
 #align add_monoid_algebra_equiv_direct_sum addMonoidAlgebraEquivDirectSum
 
 /-- The additive version of `AddMonoidAlgebra.addMonoidAlgebraEquivDirectSum`.  -/
-@[simps (config := { fullyApplied := false })]
+@[simps (config := .asFn)]
 def addMonoidAlgebraAddEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
     AddMonoidAlgebra M ι ≃+ ⨁ _ : ι, M :=
   { addMonoidAlgebraEquivDirectSum with
@@ -217,7 +217,7 @@ def addMonoidAlgebraAddEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M,
 #align add_monoid_algebra_add_equiv_direct_sum addMonoidAlgebraAddEquivDirectSum
 
 /-- The ring version of `AddMonoidAlgebra.addMonoidAlgebraEquivDirectSum`.  -/
-@[simps (config := { fullyApplied := false })]
+@[simps (config := .asFn)]
 def addMonoidAlgebraRingEquivDirectSum [DecidableEq ι] [AddMonoid ι] [Semiring M]
     [∀ m : M, Decidable (m ≠ 0)] : AddMonoidAlgebra M ι ≃+* ⨁ _ : ι, M :=
   { (addMonoidAlgebraAddEquivDirectSum : AddMonoidAlgebra M ι ≃+ ⨁ _ : ι, M) with
@@ -227,7 +227,7 @@ def addMonoidAlgebraRingEquivDirectSum [DecidableEq ι] [AddMonoid ι] [Semiring
 #align add_monoid_algebra_ring_equiv_direct_sum addMonoidAlgebraRingEquivDirectSum
 
 /-- The algebra version of `AddMonoidAlgebra.addMonoidAlgebraEquivDirectSum`. -/
-@[simps (config := { fullyApplied := false })]
+@[simps (config := .asFn)]
 def addMonoidAlgebraAlgEquivDirectSum [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A]
     [Algebra R A] [∀ m : A, Decidable (m ≠ 0)] : AddMonoidAlgebra A ι ≃ₐ[R] ⨁ _ : ι, A :=
   { (addMonoidAlgebraRingEquivDirectSum : AddMonoidAlgebra A ι ≃+* ⨁ _ : ι, A) with
Revert "chore: revert #7703 (#7710)"

This reverts commit f3695eb2.

Diff
@@ -144,7 +144,13 @@ theorem toDirectSum_mul [DecidableEq ι] [AddMonoid ι] [Semiring M] (f g : AddM
   refine Finsupp.addHom_ext' fun yi => AddMonoidHom.ext fun yv => ?_
   dsimp only [AddMonoidHom.comp_apply, AddMonoidHom.compl₂_apply, AddMonoidHom.compr₂_apply,
     AddMonoidHom.mul_apply, Finsupp.singleAddHom_apply]
+  -- This was not needed before leanprover/lean4#2644
+  erw [AddMonoidHom.compl₂_apply]
+  -- This was not needed before leanprover/lean4#2644
+  erw [AddMonoidHom.coe_mk]
   simp only [AddMonoidHom.coe_mk, ZeroHom.coe_mk, toDirectSum_single]
+  -- This was not needed before leanprover/lean4#2644
+  dsimp
   erw [AddMonoidAlgebra.single_mul_single, AddMonoidHom.coe_mk, ZeroHom.coe_mk,
     AddMonoidAlgebra.toDirectSum_single]
   simp only [AddMonoidHom.coe_comp, AddMonoidHom.coe_mul, AddMonoidHom.coe_mk, ZeroHom.coe_mk,
chore: revert #7703 (#7710)

This reverts commit 26eb2b0a.

Diff
@@ -144,13 +144,7 @@ theorem toDirectSum_mul [DecidableEq ι] [AddMonoid ι] [Semiring M] (f g : AddM
   refine Finsupp.addHom_ext' fun yi => AddMonoidHom.ext fun yv => ?_
   dsimp only [AddMonoidHom.comp_apply, AddMonoidHom.compl₂_apply, AddMonoidHom.compr₂_apply,
     AddMonoidHom.mul_apply, Finsupp.singleAddHom_apply]
-  -- This was not needed before leanprover/lean4#2644
-  erw [AddMonoidHom.compl₂_apply]
-  -- This was not needed before leanprover/lean4#2644
-  erw [AddMonoidHom.coe_mk]
   simp only [AddMonoidHom.coe_mk, ZeroHom.coe_mk, toDirectSum_single]
-  -- This was not needed before leanprover/lean4#2644
-  dsimp
   erw [AddMonoidAlgebra.single_mul_single, AddMonoidHom.coe_mk, ZeroHom.coe_mk,
     AddMonoidAlgebra.toDirectSum_single]
   simp only [AddMonoidHom.coe_comp, AddMonoidHom.coe_mul, AddMonoidHom.coe_mk, ZeroHom.coe_mk,
chore: bump toolchain to v4.2.0-rc2 (#7703)

This includes all the changes from #7606.

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

Diff
@@ -144,7 +144,13 @@ theorem toDirectSum_mul [DecidableEq ι] [AddMonoid ι] [Semiring M] (f g : AddM
   refine Finsupp.addHom_ext' fun yi => AddMonoidHom.ext fun yv => ?_
   dsimp only [AddMonoidHom.comp_apply, AddMonoidHom.compl₂_apply, AddMonoidHom.compr₂_apply,
     AddMonoidHom.mul_apply, Finsupp.singleAddHom_apply]
+  -- This was not needed before leanprover/lean4#2644
+  erw [AddMonoidHom.compl₂_apply]
+  -- This was not needed before leanprover/lean4#2644
+  erw [AddMonoidHom.coe_mk]
   simp only [AddMonoidHom.coe_mk, ZeroHom.coe_mk, toDirectSum_single]
+  -- This was not needed before leanprover/lean4#2644
+  dsimp
   erw [AddMonoidAlgebra.single_mul_single, AddMonoidHom.coe_mk, ZeroHom.coe_mk,
     AddMonoidAlgebra.toDirectSum_single]
   simp only [AddMonoidHom.coe_comp, AddMonoidHom.coe_mul, AddMonoidHom.coe_mk, ZeroHom.coe_mk,
chore: exactly 4 spaces in theorems (#7328)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -173,8 +173,8 @@ theorem toAddMonoidAlgebra_add [Semiring M] [∀ m : M, Decidable (m ≠ 0)] (f
 
 @[simp]
 theorem toAddMonoidAlgebra_mul [AddMonoid ι] [Semiring M]
-  [∀ m : M, Decidable (m ≠ 0)] (f g : ⨁ _ : ι, M) :
-      (f * g).toAddMonoidAlgebra = toAddMonoidAlgebra f * toAddMonoidAlgebra g := by
+    [∀ m : M, Decidable (m ≠ 0)] (f g : ⨁ _ : ι, M) :
+    (f * g).toAddMonoidAlgebra = toAddMonoidAlgebra f * toAddMonoidAlgebra g := by
   apply_fun AddMonoidAlgebra.toDirectSum
   · simp
   · apply Function.LeftInverse.injective
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -57,7 +57,7 @@ still involve this definition.
 -/
 
 
-variable {ι : Type _} {R : Type _} {M : Type _} {A : Type _}
+variable {ι : Type*} {R : Type*} {M : Type*} {A : Type*}
 
 open DirectSum
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2021 Eric Wieser. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Eric Wieser
-
-! This file was ported from Lean 3 source module algebra.monoid_algebra.to_direct_sum
-! leanprover-community/mathlib commit c0a51cf2de54089d69301befc4c73bbc2f5c7342
-! 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.MonoidAlgebra.Basic
 import Mathlib.Data.Finsupp.ToDFinsupp
 
+#align_import algebra.monoid_algebra.to_direct_sum from "leanprover-community/mathlib"@"c0a51cf2de54089d69301befc4c73bbc2f5c7342"
+
 /-!
 # Conversion between `AddMonoidAlgebra` and homogenous `DirectSum`
 
chore: rename Dfinsupp to DFinsupp (#5822)

See #4354

Diff
@@ -10,7 +10,7 @@ Authors: Eric Wieser
 -/
 import Mathlib.Algebra.DirectSum.Algebra
 import Mathlib.Algebra.MonoidAlgebra.Basic
-import Mathlib.Data.Finsupp.ToDfinsupp
+import Mathlib.Data.Finsupp.ToDFinsupp
 
 /-!
 # Conversion between `AddMonoidAlgebra` and homogenous `DirectSum`
@@ -51,7 +51,7 @@ For the bundled equivalences, we provide lemmas that they reduce to
 
 ## Implementation notes
 
-This file largely just copies the API of `Mathlib/Data/Finsupp/ToDfinsupp.lean`, and reuses the
+This file largely just copies the API of `Mathlib/Data/Finsupp/ToDFinsupp.lean`, and reuses the
 proofs. Recall that `AddMonoidAlgebra M ι` is defeq to `ι →₀ M` and `⨁ i : ι, M` is defeq to
 `Π₀ i : ι, M`.
 
@@ -71,7 +71,7 @@ section Defs
 
 /-- Interpret an `AddMonoidAlgebra` as a homogenous `DirectSum`. -/
 def AddMonoidAlgebra.toDirectSum [Semiring M] (f : AddMonoidAlgebra M ι) : ⨁ _ : ι, M :=
-  Finsupp.toDfinsupp f
+  Finsupp.toDFinsupp f
 #align add_monoid_algebra.to_direct_sum AddMonoidAlgebra.toDirectSum
 
 section
@@ -81,32 +81,32 @@ variable [DecidableEq ι] [Semiring M]
 @[simp]
 theorem AddMonoidAlgebra.toDirectSum_single (i : ι) (m : M) :
     AddMonoidAlgebra.toDirectSum (Finsupp.single i m) = DirectSum.of _ i m :=
-  Finsupp.toDfinsupp_single i m
+  Finsupp.toDFinsupp_single i m
 #align add_monoid_algebra.to_direct_sum_single AddMonoidAlgebra.toDirectSum_single
 
 variable [∀ m : M, Decidable (m ≠ 0)]
 
 /-- Interpret a homogenous `DirectSum` as an `AddMonoidAlgebra`. -/
 def DirectSum.toAddMonoidAlgebra (f : ⨁ _ : ι, M) : AddMonoidAlgebra M ι :=
-  Dfinsupp.toFinsupp f
+  DFinsupp.toFinsupp f
 #align direct_sum.to_add_monoid_algebra DirectSum.toAddMonoidAlgebra
 
 @[simp]
 theorem DirectSum.toAddMonoidAlgebra_of (i : ι) (m : M) :
     (DirectSum.of _ i m : ⨁ _ : ι, M).toAddMonoidAlgebra = Finsupp.single i m :=
-  Dfinsupp.toFinsupp_single i m
+  DFinsupp.toFinsupp_single i m
 #align direct_sum.to_add_monoid_algebra_of DirectSum.toAddMonoidAlgebra_of
 
 @[simp]
 theorem AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra (f : AddMonoidAlgebra M ι) :
     f.toDirectSum.toAddMonoidAlgebra = f :=
-  Finsupp.toDfinsupp_toFinsupp f
+  Finsupp.toDFinsupp_toFinsupp f
 #align add_monoid_algebra.to_direct_sum_to_add_monoid_algebra AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra
 
 @[simp]
 theorem DirectSum.toAddMonoidAlgebra_toDirectSum (f : ⨁ _ : ι, M) :
     f.toAddMonoidAlgebra.toDirectSum = f :=
-  (Dfinsupp.toFinsupp_toDfinsupp (show Π₀ _ : ι, M from f) : _)
+  (DFinsupp.toFinsupp_toDFinsupp (show Π₀ _ : ι, M from f) : _)
 #align direct_sum.to_add_monoid_algebra_to_direct_sum DirectSum.toAddMonoidAlgebra_toDirectSum
 
 end
@@ -122,13 +122,13 @@ namespace AddMonoidAlgebra
 
 @[simp]
 theorem toDirectSum_zero [Semiring M] : (0 : AddMonoidAlgebra M ι).toDirectSum = 0 :=
-  Finsupp.toDfinsupp_zero
+  Finsupp.toDFinsupp_zero
 #align add_monoid_algebra.to_direct_sum_zero AddMonoidAlgebra.toDirectSum_zero
 
 @[simp]
 theorem toDirectSum_add [Semiring M] (f g : AddMonoidAlgebra M ι) :
     (f + g).toDirectSum = f.toDirectSum + g.toDirectSum :=
-  Finsupp.toDfinsupp_add _ _
+  Finsupp.toDFinsupp_add _ _
 #align add_monoid_algebra.to_direct_sum_add AddMonoidAlgebra.toDirectSum_add
 
 @[simp]
@@ -165,13 +165,13 @@ variable [DecidableEq ι]
 @[simp]
 theorem toAddMonoidAlgebra_zero [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
     toAddMonoidAlgebra 0 = (0 : AddMonoidAlgebra M ι) :=
-  Dfinsupp.toFinsupp_zero
+  DFinsupp.toFinsupp_zero
 #align direct_sum.to_add_monoid_algebra_zero DirectSum.toAddMonoidAlgebra_zero
 
 @[simp]
 theorem toAddMonoidAlgebra_add [Semiring M] [∀ m : M, Decidable (m ≠ 0)] (f g : ⨁ _ : ι, M) :
     (f + g).toAddMonoidAlgebra = toAddMonoidAlgebra f + toAddMonoidAlgebra g :=
-  Dfinsupp.toFinsupp_add _ _
+  DFinsupp.toFinsupp_add _ _
 #align direct_sum.to_add_monoid_algebra_add DirectSum.toAddMonoidAlgebra_add
 
 @[simp]
@@ -198,7 +198,7 @@ equiv. -/
 @[simps (config := { fullyApplied := false })]
 def addMonoidAlgebraEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
     AddMonoidAlgebra M ι ≃ ⨁ _ : ι, M :=
-  { finsuppEquivDfinsupp with
+  { finsuppEquivDFinsupp with
     toFun := AddMonoidAlgebra.toDirectSum
     invFun := DirectSum.toAddMonoidAlgebra }
 #align add_monoid_algebra_equiv_direct_sum addMonoidAlgebraEquivDirectSum
chore: fix grammar 1/3 (#5001)

All of these are doc fixes

Diff
@@ -69,7 +69,7 @@ open DirectSum
 
 section Defs
 
-/-- Interpret a `AddMonoidAlgebra` as a homogenous `DirectSum`. -/
+/-- Interpret an `AddMonoidAlgebra` as a homogenous `DirectSum`. -/
 def AddMonoidAlgebra.toDirectSum [Semiring M] (f : AddMonoidAlgebra M ι) : ⨁ _ : ι, M :=
   Finsupp.toDfinsupp f
 #align add_monoid_algebra.to_direct_sum AddMonoidAlgebra.toDirectSum
@@ -86,7 +86,7 @@ theorem AddMonoidAlgebra.toDirectSum_single (i : ι) (m : M) :
 
 variable [∀ m : M, Decidable (m ≠ 0)]
 
-/-- Interpret a homogenous `DirectSum` as a `AddMonoidAlgebra`. -/
+/-- Interpret a homogenous `DirectSum` as an `AddMonoidAlgebra`. -/
 def DirectSum.toAddMonoidAlgebra (f : ⨁ _ : ι, M) : AddMonoidAlgebra M ι :=
   Dfinsupp.toFinsupp f
 #align direct_sum.to_add_monoid_algebra DirectSum.toAddMonoidAlgebra
chore: tidy various files (#4757)
Diff
@@ -44,15 +44,15 @@ as well as preserving arithmetic operations.
 For the bundled equivalences, we provide lemmas that they reduce to
 `AddMonoidAlgebra.toDirectSum`:
 
-* `add_monoid_algebra_add_equiv_direct_sum_apply`
+* `addMonoidAlgebraAddEquivDirectSum_apply`
 * `add_monoid_algebra_lequiv_direct_sum_apply`
-* `add_monoid_algebra_add_equiv_direct_sum_symm_apply`
+* `addMonoidAlgebraAddEquivDirectSum_symm_apply`
 * `add_monoid_algebra_lequiv_direct_sum_symm_apply`
 
 ## Implementation notes
 
-This file largely just copies the API of `data/Finsupp/to_dfinsupp`, and reuses the proofs.
-Recall that `AddMonoidAlgebra M ι` is defeq to `ι →₀ M` and `⨁ i : ι, M` is defeq to
+This file largely just copies the API of `Mathlib/Data/Finsupp/ToDfinsupp.lean`, and reuses the
+proofs. Recall that `AddMonoidAlgebra M ι` is defeq to `ι →₀ M` and `⨁ i : ι, M` is defeq to
 `Π₀ i : ι, M`.
 
 Note that there is no `AddMonoidAlgebra` equivalent to `Finsupp.single`, so many statements
style: allow _ for an argument in notation3 & replace _foo with _ in notation3 (#4652)
Diff
@@ -70,7 +70,7 @@ open DirectSum
 section Defs
 
 /-- Interpret a `AddMonoidAlgebra` as a homogenous `DirectSum`. -/
-def AddMonoidAlgebra.toDirectSum [Semiring M] (f : AddMonoidAlgebra M ι) : ⨁ _i : ι, M :=
+def AddMonoidAlgebra.toDirectSum [Semiring M] (f : AddMonoidAlgebra M ι) : ⨁ _ : ι, M :=
   Finsupp.toDfinsupp f
 #align add_monoid_algebra.to_direct_sum AddMonoidAlgebra.toDirectSum
 
@@ -87,13 +87,13 @@ theorem AddMonoidAlgebra.toDirectSum_single (i : ι) (m : M) :
 variable [∀ m : M, Decidable (m ≠ 0)]
 
 /-- Interpret a homogenous `DirectSum` as a `AddMonoidAlgebra`. -/
-def DirectSum.toAddMonoidAlgebra (f : ⨁ _i : ι, M) : AddMonoidAlgebra M ι :=
+def DirectSum.toAddMonoidAlgebra (f : ⨁ _ : ι, M) : AddMonoidAlgebra M ι :=
   Dfinsupp.toFinsupp f
 #align direct_sum.to_add_monoid_algebra DirectSum.toAddMonoidAlgebra
 
 @[simp]
 theorem DirectSum.toAddMonoidAlgebra_of (i : ι) (m : M) :
-    (DirectSum.of _ i m : ⨁ _i : ι, M).toAddMonoidAlgebra = Finsupp.single i m :=
+    (DirectSum.of _ i m : ⨁ _ : ι, M).toAddMonoidAlgebra = Finsupp.single i m :=
   Dfinsupp.toFinsupp_single i m
 #align direct_sum.to_add_monoid_algebra_of DirectSum.toAddMonoidAlgebra_of
 
@@ -104,9 +104,9 @@ theorem AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra (f : AddMonoidAlgebra M
 #align add_monoid_algebra.to_direct_sum_to_add_monoid_algebra AddMonoidAlgebra.toDirectSum_toAddMonoidAlgebra
 
 @[simp]
-theorem DirectSum.toAddMonoidAlgebra_toDirectSum (f : ⨁ _i : ι, M) :
+theorem DirectSum.toAddMonoidAlgebra_toDirectSum (f : ⨁ _ : ι, M) :
     f.toAddMonoidAlgebra.toDirectSum = f :=
-  (Dfinsupp.toFinsupp_toDfinsupp (show Π₀ _i : ι, M from f) : _)
+  (Dfinsupp.toFinsupp_toDfinsupp (show Π₀ _ : ι, M from f) : _)
 #align direct_sum.to_add_monoid_algebra_to_direct_sum DirectSum.toAddMonoidAlgebra_toDirectSum
 
 end
@@ -134,7 +134,7 @@ theorem toDirectSum_add [Semiring M] (f g : AddMonoidAlgebra M ι) :
 @[simp]
 theorem toDirectSum_mul [DecidableEq ι] [AddMonoid ι] [Semiring M] (f g : AddMonoidAlgebra M ι) :
     (f * g).toDirectSum = f.toDirectSum * g.toDirectSum := by
-  let to_hom : AddMonoidAlgebra M ι →+ ⨁ _i : ι, M :=
+  let to_hom : AddMonoidAlgebra M ι →+ ⨁ _ : ι, M :=
   { toFun := toDirectSum
     map_zero' := toDirectSum_zero
     map_add' := toDirectSum_add }
@@ -169,14 +169,14 @@ theorem toAddMonoidAlgebra_zero [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
 #align direct_sum.to_add_monoid_algebra_zero DirectSum.toAddMonoidAlgebra_zero
 
 @[simp]
-theorem toAddMonoidAlgebra_add [Semiring M] [∀ m : M, Decidable (m ≠ 0)] (f g : ⨁ _i : ι, M) :
+theorem toAddMonoidAlgebra_add [Semiring M] [∀ m : M, Decidable (m ≠ 0)] (f g : ⨁ _ : ι, M) :
     (f + g).toAddMonoidAlgebra = toAddMonoidAlgebra f + toAddMonoidAlgebra g :=
   Dfinsupp.toFinsupp_add _ _
 #align direct_sum.to_add_monoid_algebra_add DirectSum.toAddMonoidAlgebra_add
 
 @[simp]
 theorem toAddMonoidAlgebra_mul [AddMonoid ι] [Semiring M]
-  [∀ m : M, Decidable (m ≠ 0)] (f g : ⨁ _i : ι, M) :
+  [∀ m : M, Decidable (m ≠ 0)] (f g : ⨁ _ : ι, M) :
       (f * g).toAddMonoidAlgebra = toAddMonoidAlgebra f * toAddMonoidAlgebra g := by
   apply_fun AddMonoidAlgebra.toDirectSum
   · simp
@@ -197,7 +197,7 @@ section Equivs
 equiv. -/
 @[simps (config := { fullyApplied := false })]
 def addMonoidAlgebraEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
-    AddMonoidAlgebra M ι ≃ ⨁ _i : ι, M :=
+    AddMonoidAlgebra M ι ≃ ⨁ _ : ι, M :=
   { finsuppEquivDfinsupp with
     toFun := AddMonoidAlgebra.toDirectSum
     invFun := DirectSum.toAddMonoidAlgebra }
@@ -206,9 +206,8 @@ def addMonoidAlgebraEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M, Dec
 /-- The additive version of `AddMonoidAlgebra.addMonoidAlgebraEquivDirectSum`.  -/
 @[simps (config := { fullyApplied := false })]
 def addMonoidAlgebraAddEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M, Decidable (m ≠ 0)] :
-    AddMonoidAlgebra M ι ≃+ ⨁ _i : ι, M :=
-  {
-    addMonoidAlgebraEquivDirectSum with
+    AddMonoidAlgebra M ι ≃+ ⨁ _ : ι, M :=
+  { addMonoidAlgebraEquivDirectSum with
     toFun := AddMonoidAlgebra.toDirectSum
     invFun := DirectSum.toAddMonoidAlgebra
     map_add' := AddMonoidAlgebra.toDirectSum_add }
@@ -217,11 +216,8 @@ def addMonoidAlgebraAddEquivDirectSum [DecidableEq ι] [Semiring M] [∀ m : M,
 /-- The ring version of `AddMonoidAlgebra.addMonoidAlgebraEquivDirectSum`.  -/
 @[simps (config := { fullyApplied := false })]
 def addMonoidAlgebraRingEquivDirectSum [DecidableEq ι] [AddMonoid ι] [Semiring M]
-    [∀ m : M, Decidable (m ≠ 0)] : AddMonoidAlgebra M ι ≃+* ⨁ _i : ι, M :=
-  {
-    (addMonoidAlgebraAddEquivDirectSum :
-      AddMonoidAlgebra M ι ≃+
-        ⨁ _i : ι, M) with
+    [∀ m : M, Decidable (m ≠ 0)] : AddMonoidAlgebra M ι ≃+* ⨁ _ : ι, M :=
+  { (addMonoidAlgebraAddEquivDirectSum : AddMonoidAlgebra M ι ≃+ ⨁ _ : ι, M) with
     toFun := AddMonoidAlgebra.toDirectSum
     invFun := DirectSum.toAddMonoidAlgebra
     map_mul' := AddMonoidAlgebra.toDirectSum_mul }
@@ -230,11 +226,8 @@ def addMonoidAlgebraRingEquivDirectSum [DecidableEq ι] [AddMonoid ι] [Semiring
 /-- The algebra version of `AddMonoidAlgebra.addMonoidAlgebraEquivDirectSum`. -/
 @[simps (config := { fullyApplied := false })]
 def addMonoidAlgebraAlgEquivDirectSum [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A]
-    [Algebra R A] [∀ m : A, Decidable (m ≠ 0)] : AddMonoidAlgebra A ι ≃ₐ[R] ⨁ _i : ι, A :=
-  {
-    (addMonoidAlgebraRingEquivDirectSum :
-      AddMonoidAlgebra A ι ≃+*
-        ⨁ _i : ι, A) with
+    [Algebra R A] [∀ m : A, Decidable (m ≠ 0)] : AddMonoidAlgebra A ι ≃ₐ[R] ⨁ _ : ι, A :=
+  { (addMonoidAlgebraRingEquivDirectSum : AddMonoidAlgebra A ι ≃+* ⨁ _ : ι, A) with
     toFun := AddMonoidAlgebra.toDirectSum
     invFun := DirectSum.toAddMonoidAlgebra
     commutes' := fun _r => AddMonoidAlgebra.toDirectSum_single _ _ }
feat: port Algebra.MonoidAlgebra.ToDirectSum (#4087)

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Chris Hughes <chrishughes24@gmail.com>

Dependencies 8 + 431

432 files ported (98.2%)
180104 lines ported (98.3%)
Show graph

The unported dependencies are