algebra.monoid_algebra.supportMathlib.Algebra.MonoidAlgebra.Support

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -101,7 +101,11 @@ theorem support_mul [Mul G] [DecidableEq G] (a b : MonoidAlgebra k G) :
 #print MonoidAlgebra.support_mul_single /-
 theorem support_mul_single [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r : k)
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
-    (f * single x r).support = f.support.map (mulRightEmbedding x) := by classical
+    (f * single x r).support = f.support.map (mulRightEmbedding x) := by
+  classical
+  ext
+  simp only [support_mul_single_eq_image f hr (IsRightRegular.all x), mem_image, mem_map,
+    mulRightEmbedding_apply]
 #align monoid_algebra.support_mul_single MonoidAlgebra.support_mul_single
 -/
 
@@ -110,6 +114,9 @@ theorem support_single_mul [LeftCancelSemigroup G] (f : MonoidAlgebra k G) (r :
     (hr : ∀ y, r * y = 0 ↔ y = 0) (x : G) :
     (single x r * f : MonoidAlgebra k G).support = f.support.map (mulLeftEmbedding x) := by
   classical
+  ext
+  simp only [support_single_mul_eq_image f hr (IsLeftRegular.all x), mem_image, mem_map,
+    mulLeftEmbedding_apply]
 #align monoid_algebra.support_single_mul MonoidAlgebra.support_single_mul
 -/
 
Diff
@@ -101,11 +101,7 @@ theorem support_mul [Mul G] [DecidableEq G] (a b : MonoidAlgebra k G) :
 #print MonoidAlgebra.support_mul_single /-
 theorem support_mul_single [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r : k)
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
-    (f * single x r).support = f.support.map (mulRightEmbedding x) := by
-  classical
-  ext
-  simp only [support_mul_single_eq_image f hr (IsRightRegular.all x), mem_image, mem_map,
-    mulRightEmbedding_apply]
+    (f * single x r).support = f.support.map (mulRightEmbedding x) := by classical
 #align monoid_algebra.support_mul_single MonoidAlgebra.support_mul_single
 -/
 
@@ -114,9 +110,6 @@ theorem support_single_mul [LeftCancelSemigroup G] (f : MonoidAlgebra k G) (r :
     (hr : ∀ y, r * y = 0 ↔ y = 0) (x : G) :
     (single x r * f : MonoidAlgebra k G).support = f.support.map (mulLeftEmbedding x) := by
   classical
-  ext
-  simp only [support_single_mul_eq_image f hr (IsLeftRegular.all x), mem_image, mem_map,
-    mulLeftEmbedding_apply]
 #align monoid_algebra.support_single_mul MonoidAlgebra.support_single_mul
 -/
 
Diff
@@ -104,8 +104,8 @@ theorem support_mul_single [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r :
     (f * single x r).support = f.support.map (mulRightEmbedding x) := by
   classical
   ext
-  simp only [support_mul_single_eq_image f hr (isRightRegular_of_rightCancelSemigroup x), mem_image,
-    mem_map, mulRightEmbedding_apply]
+  simp only [support_mul_single_eq_image f hr (IsRightRegular.all x), mem_image, mem_map,
+    mulRightEmbedding_apply]
 #align monoid_algebra.support_mul_single MonoidAlgebra.support_mul_single
 -/
 
@@ -115,8 +115,8 @@ theorem support_single_mul [LeftCancelSemigroup G] (f : MonoidAlgebra k G) (r :
     (single x r * f : MonoidAlgebra k G).support = f.support.map (mulLeftEmbedding x) := by
   classical
   ext
-  simp only [support_single_mul_eq_image f hr (isLeftRegular_of_leftCancelSemigroup x), mem_image,
-    mem_map, mulLeftEmbedding_apply]
+  simp only [support_single_mul_eq_image f hr (IsLeftRegular.all x), mem_image, mem_map,
+    mulLeftEmbedding_apply]
 #align monoid_algebra.support_single_mul MonoidAlgebra.support_single_mul
 -/
 
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Damiano Testa. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Damiano Testa
 -/
-import Mathbin.Algebra.MonoidAlgebra.Basic
+import Algebra.MonoidAlgebra.Basic
 
 #align_import algebra.monoid_algebra.support from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2022 Damiano Testa. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Damiano Testa
-
-! This file was ported from Lean 3 source module algebra.monoid_algebra.support
-! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.MonoidAlgebra.Basic
 
+#align_import algebra.monoid_algebra.support from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
+
 /-!
 #  Lemmas about the support of a finitely supported function
 
Diff
@@ -26,6 +26,7 @@ open Finset Finsupp
 
 variable {k : Type u₁} {G : Type u₂} [Semiring k]
 
+#print MonoidAlgebra.support_single_mul_subset /-
 theorem support_single_mul_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) (r : k) (a : G) :
     (single a r * f : MonoidAlgebra k G).support ⊆ Finset.image ((· * ·) a) f.support :=
   by
@@ -42,7 +43,9 @@ theorem support_single_mul_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G
         simp (config := { contextual := true }) only [this, mem_support_iff, MulZeroClass.mul_zero,
           Ne.def, ite_eq_right_iff, eq_self_iff_true, imp_true_iff])
 #align monoid_algebra.support_single_mul_subset MonoidAlgebra.support_single_mul_subset
+-/
 
+#print MonoidAlgebra.support_mul_single_subset /-
 theorem support_mul_single_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) (r : k) (a : G) :
     (f * single a r).support ⊆ Finset.image (· * a) f.support :=
   by
@@ -59,7 +62,9 @@ theorem support_mul_single_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G
         simp (config := { contextual := true }) only [this, sum_single_index, ite_eq_right_iff,
           eq_self_iff_true, imp_true_iff, MulZeroClass.zero_mul])
 #align monoid_algebra.support_mul_single_subset MonoidAlgebra.support_mul_single_subset
+-/
 
+#print MonoidAlgebra.support_single_mul_eq_image /-
 theorem support_single_mul_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) {r : k}
     (hr : ∀ y, r * y = 0 ↔ y = 0) {x : G} (lx : IsLeftRegular x) :
     (single x r * f : MonoidAlgebra k G).support = Finset.image ((· * ·) x) f.support :=
@@ -71,7 +76,9 @@ theorem support_single_mul_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k
     Finsupp.sum_ite_eq', Ne.def, not_false_iff, if_true, MulZeroClass.zero_mul, if_t_t, sum_zero,
     lx.eq_iff]
 #align monoid_algebra.support_single_mul_eq_image MonoidAlgebra.support_single_mul_eq_image
+-/
 
+#print MonoidAlgebra.support_mul_single_eq_image /-
 theorem support_mul_single_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) {r : k}
     (hr : ∀ y, y * r = 0 ↔ y = 0) {x : G} (rx : IsRightRegular x) :
     (f * single x r).support = Finset.image (· * x) f.support :=
@@ -83,6 +90,7 @@ theorem support_mul_single_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k
     Finsupp.sum_ite_eq', Ne.def, not_false_iff, if_true, MulZeroClass.mul_zero, if_t_t, sum_zero,
     rx.eq_iff]
 #align monoid_algebra.support_mul_single_eq_image MonoidAlgebra.support_mul_single_eq_image
+-/
 
 #print MonoidAlgebra.support_mul /-
 theorem support_mul [Mul G] [DecidableEq G] (a b : MonoidAlgebra k G) :
@@ -93,6 +101,7 @@ theorem support_mul [Mul G] [DecidableEq G] (a b : MonoidAlgebra k G) :
 #align monoid_algebra.support_mul MonoidAlgebra.support_mul
 -/
 
+#print MonoidAlgebra.support_mul_single /-
 theorem support_mul_single [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r : k)
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
     (f * single x r).support = f.support.map (mulRightEmbedding x) := by
@@ -101,7 +110,9 @@ theorem support_mul_single [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r :
   simp only [support_mul_single_eq_image f hr (isRightRegular_of_rightCancelSemigroup x), mem_image,
     mem_map, mulRightEmbedding_apply]
 #align monoid_algebra.support_mul_single MonoidAlgebra.support_mul_single
+-/
 
+#print MonoidAlgebra.support_single_mul /-
 theorem support_single_mul [LeftCancelSemigroup G] (f : MonoidAlgebra k G) (r : k)
     (hr : ∀ y, r * y = 0 ↔ y = 0) (x : G) :
     (single x r * f : MonoidAlgebra k G).support = f.support.map (mulLeftEmbedding x) := by
@@ -110,16 +121,19 @@ theorem support_single_mul [LeftCancelSemigroup G] (f : MonoidAlgebra k G) (r :
   simp only [support_single_mul_eq_image f hr (isLeftRegular_of_leftCancelSemigroup x), mem_image,
     mem_map, mulLeftEmbedding_apply]
 #align monoid_algebra.support_single_mul MonoidAlgebra.support_single_mul
+-/
 
 section Span
 
 variable [MulOneClass G]
 
+#print MonoidAlgebra.mem_span_support /-
 /-- An element of `monoid_algebra k G` is in the subalgebra generated by its support. -/
 theorem mem_span_support (f : MonoidAlgebra k G) :
     f ∈ Submodule.span k (of k G '' (f.support : Set G)) := by
   rw [of, MonoidHom.coe_mk, ← Finsupp.supported_eq_span_single, Finsupp.mem_supported]
 #align monoid_algebra.mem_span_support MonoidAlgebra.mem_span_support
+-/
 
 end Span
 
@@ -138,32 +152,40 @@ theorem support_mul [DecidableEq G] [Add G] (a b : AddMonoidAlgebra k G) :
 #align add_monoid_algebra.support_mul AddMonoidAlgebra.support_mul
 -/
 
+#print AddMonoidAlgebra.support_mul_single /-
 theorem support_mul_single [AddRightCancelSemigroup G] (f : AddMonoidAlgebra k G) (r : k)
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
     (f * single x r : AddMonoidAlgebra k G).support = f.support.map (addRightEmbedding x) :=
   @MonoidAlgebra.support_mul_single k (Multiplicative G) _ _ _ _ hr _
 #align add_monoid_algebra.support_mul_single AddMonoidAlgebra.support_mul_single
+-/
 
+#print AddMonoidAlgebra.support_single_mul /-
 theorem support_single_mul [AddLeftCancelSemigroup G] (f : AddMonoidAlgebra k G) (r : k)
     (hr : ∀ y, r * y = 0 ↔ y = 0) (x : G) :
     (single x r * f : AddMonoidAlgebra k G).support = f.support.map (addLeftEmbedding x) :=
   @MonoidAlgebra.support_single_mul k (Multiplicative G) _ _ _ _ hr _
 #align add_monoid_algebra.support_single_mul AddMonoidAlgebra.support_single_mul
+-/
 
 section Span
 
+#print AddMonoidAlgebra.mem_span_support /-
 /-- An element of `add_monoid_algebra k G` is in the submodule generated by its support. -/
 theorem mem_span_support [AddZeroClass G] (f : AddMonoidAlgebra k G) :
     f ∈ Submodule.span k (of k G '' (f.support : Set G)) := by
   rw [of, MonoidHom.coe_mk, ← Finsupp.supported_eq_span_single, Finsupp.mem_supported]
 #align add_monoid_algebra.mem_span_support AddMonoidAlgebra.mem_span_support
+-/
 
+#print AddMonoidAlgebra.mem_span_support' /-
 /-- An element of `add_monoid_algebra k G` is in the subalgebra generated by its support, using
 unbundled inclusion. -/
 theorem mem_span_support' (f : AddMonoidAlgebra k G) :
     f ∈ Submodule.span k (of' k G '' (f.support : Set G)) := by
   rw [of', ← Finsupp.supported_eq_span_single, Finsupp.mem_supported]
 #align add_monoid_algebra.mem_span_support' AddMonoidAlgebra.mem_span_support'
+-/
 
 end Span
 
Diff
@@ -97,18 +97,18 @@ theorem support_mul_single [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r :
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
     (f * single x r).support = f.support.map (mulRightEmbedding x) := by
   classical
-    ext
-    simp only [support_mul_single_eq_image f hr (isRightRegular_of_rightCancelSemigroup x),
-      mem_image, mem_map, mulRightEmbedding_apply]
+  ext
+  simp only [support_mul_single_eq_image f hr (isRightRegular_of_rightCancelSemigroup x), mem_image,
+    mem_map, mulRightEmbedding_apply]
 #align monoid_algebra.support_mul_single MonoidAlgebra.support_mul_single
 
 theorem support_single_mul [LeftCancelSemigroup G] (f : MonoidAlgebra k G) (r : k)
     (hr : ∀ y, r * y = 0 ↔ y = 0) (x : G) :
     (single x r * f : MonoidAlgebra k G).support = f.support.map (mulLeftEmbedding x) := by
   classical
-    ext
-    simp only [support_single_mul_eq_image f hr (isLeftRegular_of_leftCancelSemigroup x), mem_image,
-      mem_map, mulLeftEmbedding_apply]
+  ext
+  simp only [support_single_mul_eq_image f hr (isLeftRegular_of_leftCancelSemigroup x), mem_image,
+    mem_map, mulLeftEmbedding_apply]
 #align monoid_algebra.support_single_mul MonoidAlgebra.support_single_mul
 
 section Span
Diff
@@ -26,12 +26,6 @@ open Finset Finsupp
 
 variable {k : Type u₁} {G : Type u₂} [Semiring k]
 
-/- warning: monoid_algebra.support_single_mul_subset -> MonoidAlgebra.support_single_mul_subset is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k) (a : G), HasSubset.Subset.{u2} (Finset.{u2} G) (Finset.hasSubset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) a r) f)) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) a) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))
-but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k) (a : G), HasSubset.Subset.{u2} (Finset.{u2} G) (Finset.instHasSubsetFinset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) (MonoidAlgebra.single.{u1, u2} k G _inst_1 a r) f)) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) ((fun (x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.55 : G) (x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.57 : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.55 x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.57) a) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))
-Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_single_mul_subset MonoidAlgebra.support_single_mul_subsetₓ'. -/
 theorem support_single_mul_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) (r : k) (a : G) :
     (single a r * f : MonoidAlgebra k G).support ⊆ Finset.image ((· * ·) a) f.support :=
   by
@@ -49,12 +43,6 @@ theorem support_single_mul_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G
           Ne.def, ite_eq_right_iff, eq_self_iff_true, imp_true_iff])
 #align monoid_algebra.support_single_mul_subset MonoidAlgebra.support_single_mul_subset
 
-/- warning: monoid_algebra.support_mul_single_subset -> MonoidAlgebra.support_mul_single_subset is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k) (a : G), HasSubset.Subset.{u2} (Finset.{u2} G) (Finset.hasSubset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) f (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) a r))) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (fun (_x : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) _x a) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))
-but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k) (a : G), HasSubset.Subset.{u2} (Finset.{u2} G) (Finset.instHasSubsetFinset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) f (MonoidAlgebra.single.{u1, u2} k G _inst_1 a r))) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (fun (_x : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) _x a) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))
-Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_mul_single_subset MonoidAlgebra.support_mul_single_subsetₓ'. -/
 theorem support_mul_single_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) (r : k) (a : G) :
     (f * single a r).support ⊆ Finset.image (· * a) f.support :=
   by
@@ -72,12 +60,6 @@ theorem support_mul_single_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G
           eq_self_iff_true, imp_true_iff, MulZeroClass.zero_mul])
 #align monoid_algebra.support_mul_single_subset MonoidAlgebra.support_mul_single_subset
 
-/- warning: monoid_algebra.support_single_mul_eq_image -> MonoidAlgebra.support_single_mul_eq_image is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) {r : k}, (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) r y) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall {x : G}, (IsLeftRegular.{u2} G _inst_3 x) -> (Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r) f)) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
-but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) {r : k}, (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) r y) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall {x : G}, (IsLeftRegular.{u2} G _inst_3 x) -> (Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) (MonoidAlgebra.single.{u1, u2} k G _inst_1 x r) f)) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) ((fun (x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.365 : G) (x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.367 : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.365 x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.367) x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
-Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_single_mul_eq_image MonoidAlgebra.support_single_mul_eq_imageₓ'. -/
 theorem support_single_mul_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) {r : k}
     (hr : ∀ y, r * y = 0 ↔ y = 0) {x : G} (lx : IsLeftRegular x) :
     (single x r * f : MonoidAlgebra k G).support = Finset.image ((· * ·) x) f.support :=
@@ -90,12 +72,6 @@ theorem support_single_mul_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k
     lx.eq_iff]
 #align monoid_algebra.support_single_mul_eq_image MonoidAlgebra.support_single_mul_eq_image
 
-/- warning: monoid_algebra.support_mul_single_eq_image -> MonoidAlgebra.support_mul_single_eq_image is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) {r : k}, (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) y r) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall {x : G}, (IsRightRegular.{u2} G _inst_3 x) -> (Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) f (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r))) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (fun (_x : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) _x x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
-but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) {r : k}, (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) y r) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall {x : G}, (IsRightRegular.{u2} G _inst_3 x) -> (Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) f (MonoidAlgebra.single.{u1, u2} k G _inst_1 x r))) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (fun (_x : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) _x x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
-Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_mul_single_eq_image MonoidAlgebra.support_mul_single_eq_imageₓ'. -/
 theorem support_mul_single_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) {r : k}
     (hr : ∀ y, y * r = 0 ↔ y = 0) {x : G} (rx : IsRightRegular x) :
     (f * single x r).support = Finset.image (· * x) f.support :=
@@ -117,12 +93,6 @@ theorem support_mul [Mul G] [DecidableEq G] (a b : MonoidAlgebra k G) :
 #align monoid_algebra.support_mul MonoidAlgebra.support_mul
 -/
 
-/- warning: monoid_algebra.support_mul_single -> MonoidAlgebra.support_mul_single is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : RightCancelSemigroup.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) y r) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 (Semigroup.toHasMul.{u2} G (RightCancelSemigroup.toSemigroup.{u2} G _inst_2)))) f (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r))) (Finset.map.{u2, u2} G G (mulRightEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f)))
-but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : RightCancelSemigroup.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) y r) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 (Semigroup.toMul.{u2} G (RightCancelSemigroup.toSemigroup.{u2} G _inst_2)))) f (MonoidAlgebra.single.{u1, u2} k G _inst_1 x r))) (Finset.map.{u2, u2} G G (mulRightEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f)))
-Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_mul_single MonoidAlgebra.support_mul_singleₓ'. -/
 theorem support_mul_single [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r : k)
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
     (f * single x r).support = f.support.map (mulRightEmbedding x) := by
@@ -132,12 +102,6 @@ theorem support_mul_single [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r :
       mem_image, mem_map, mulRightEmbedding_apply]
 #align monoid_algebra.support_mul_single MonoidAlgebra.support_mul_single
 
-/- warning: monoid_algebra.support_single_mul -> MonoidAlgebra.support_single_mul is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : LeftCancelSemigroup.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) r y) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 (Semigroup.toHasMul.{u2} G (LeftCancelSemigroup.toSemigroup.{u2} G _inst_2)))) (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r) f)) (Finset.map.{u2, u2} G G (mulLeftEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f)))
-but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : LeftCancelSemigroup.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) r y) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 (Semigroup.toMul.{u2} G (LeftCancelSemigroup.toSemigroup.{u2} G _inst_2)))) (MonoidAlgebra.single.{u1, u2} k G _inst_1 x r) f)) (Finset.map.{u2, u2} G G (mulLeftEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f)))
-Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_single_mul MonoidAlgebra.support_single_mulₓ'. -/
 theorem support_single_mul [LeftCancelSemigroup G] (f : MonoidAlgebra k G) (r : k)
     (hr : ∀ y, r * y = 0 ↔ y = 0) (x : G) :
     (single x r * f : MonoidAlgebra k G).support = f.support.map (mulLeftEmbedding x) := by
@@ -151,12 +115,6 @@ section Span
 
 variable [MulOneClass G]
 
-/- warning: monoid_algebra.mem_span_support -> MonoidAlgebra.mem_span_support is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (fun (_x : MonoidHom.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) => G -> (MonoidAlgebra.{u1, u2} k G _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
-but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} G _inst_2) (MulOneClass.toMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
-Case conversion may be inaccurate. Consider using '#align monoid_algebra.mem_span_support MonoidAlgebra.mem_span_supportₓ'. -/
 /-- An element of `monoid_algebra k G` is in the subalgebra generated by its support. -/
 theorem mem_span_support (f : MonoidAlgebra k G) :
     f ∈ Submodule.span k (of k G '' (f.support : Set G)) := by
@@ -180,24 +138,12 @@ theorem support_mul [DecidableEq G] [Add G] (a b : AddMonoidAlgebra k G) :
 #align add_monoid_algebra.support_mul AddMonoidAlgebra.support_mul
 -/
 
-/- warning: add_monoid_algebra.support_mul_single -> AddMonoidAlgebra.support_mul_single is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddRightCancelSemigroup.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) y r) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.hasMul.{u1, u2} k G _inst_1 (AddSemigroup.toHasAdd.{u2} G (AddRightCancelSemigroup.toAddSemigroup.{u2} G _inst_2)))) f (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r))) (Finset.map.{u2, u2} G G (addRightEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f)))
-but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddRightCancelSemigroup.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) y r) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.hasMul.{u1, u2} k G _inst_1 (AddSemigroup.toAdd.{u2} G (AddRightCancelSemigroup.toAddSemigroup.{u2} G _inst_2)))) f (AddMonoidAlgebra.single.{u1, u2} k G _inst_1 x r))) (Finset.map.{u2, u2} G G (addRightEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f)))
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.support_mul_single AddMonoidAlgebra.support_mul_singleₓ'. -/
 theorem support_mul_single [AddRightCancelSemigroup G] (f : AddMonoidAlgebra k G) (r : k)
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
     (f * single x r : AddMonoidAlgebra k G).support = f.support.map (addRightEmbedding x) :=
   @MonoidAlgebra.support_mul_single k (Multiplicative G) _ _ _ _ hr _
 #align add_monoid_algebra.support_mul_single AddMonoidAlgebra.support_mul_single
 
-/- warning: add_monoid_algebra.support_single_mul -> AddMonoidAlgebra.support_single_mul is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddLeftCancelSemigroup.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) r y) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.hasMul.{u1, u2} k G _inst_1 (AddSemigroup.toHasAdd.{u2} G (AddLeftCancelSemigroup.toAddSemigroup.{u2} G _inst_2)))) (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r) f)) (Finset.map.{u2, u2} G G (addLeftEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f)))
-but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddLeftCancelSemigroup.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) r y) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.hasMul.{u1, u2} k G _inst_1 (AddSemigroup.toAdd.{u2} G (AddLeftCancelSemigroup.toAddSemigroup.{u2} G _inst_2)))) (AddMonoidAlgebra.single.{u1, u2} k G _inst_1 x r) f)) (Finset.map.{u2, u2} G G (addLeftEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f)))
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.support_single_mul AddMonoidAlgebra.support_single_mulₓ'. -/
 theorem support_single_mul [AddLeftCancelSemigroup G] (f : AddMonoidAlgebra k G) (r : k)
     (hr : ∀ y, r * y = 0 ↔ y = 0) (x : G) :
     (single x r * f : AddMonoidAlgebra k G).support = f.support.map (addLeftEmbedding x) :=
@@ -206,24 +152,12 @@ theorem support_single_mul [AddLeftCancelSemigroup G] (f : AddMonoidAlgebra k G)
 
 section Span
 
-/- warning: add_monoid_algebra.mem_span_support -> AddMonoidAlgebra.mem_span_support is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ u2) (succ (max u2 u1))} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (fun (_x : MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) => (Multiplicative.{u2} G) -> (AddMonoidAlgebra.{u1, u2} k G _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
-but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (fun (_x : Multiplicative.{u2} G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Multiplicative.{u2} G) => AddMonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} (Multiplicative.{u2} G) (Multiplicative.mulOneClass.{u2} G _inst_2)) (MulOneClass.toMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.mem_span_support AddMonoidAlgebra.mem_span_supportₓ'. -/
 /-- An element of `add_monoid_algebra k G` is in the submodule generated by its support. -/
 theorem mem_span_support [AddZeroClass G] (f : AddMonoidAlgebra k G) :
     f ∈ Submodule.span k (of k G '' (f.support : Set G)) := by
   rw [of, MonoidHom.coe_mk, ← Finsupp.supported_eq_span_single, Finsupp.mem_supported]
 #align add_monoid_algebra.mem_span_support AddMonoidAlgebra.mem_span_support
 
-/- warning: add_monoid_algebra.mem_span_support' -> AddMonoidAlgebra.mem_span_support' is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u2 u1} G (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.of'.{u1, u2} k G _inst_1) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
-but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.of'.{u1, u2} k G _inst_1) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
-Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.mem_span_support' AddMonoidAlgebra.mem_span_support'ₓ'. -/
 /-- An element of `add_monoid_algebra k G` is in the subalgebra generated by its support, using
 unbundled inclusion. -/
 theorem mem_span_support' (f : AddMonoidAlgebra k G) :
Diff
@@ -155,7 +155,7 @@ variable [MulOneClass G]
 lean 3 declaration is
   forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (fun (_x : MonoidHom.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) => G -> (MonoidAlgebra.{u1, u2} k G _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
 but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} G _inst_2) (MulOneClass.toMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} G _inst_2) (MulOneClass.toMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
 Case conversion may be inaccurate. Consider using '#align monoid_algebra.mem_span_support MonoidAlgebra.mem_span_supportₓ'. -/
 /-- An element of `monoid_algebra k G` is in the subalgebra generated by its support. -/
 theorem mem_span_support (f : MonoidAlgebra k G) :
@@ -210,7 +210,7 @@ section Span
 lean 3 declaration is
   forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ u2) (succ (max u2 u1))} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (fun (_x : MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) => (Multiplicative.{u2} G) -> (AddMonoidAlgebra.{u1, u2} k G _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
 but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (fun (_x : Multiplicative.{u2} G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Multiplicative.{u2} G) => AddMonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} (Multiplicative.{u2} G) (Multiplicative.mulOneClass.{u2} G _inst_2)) (MulOneClass.toMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (fun (_x : Multiplicative.{u2} G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Multiplicative.{u2} G) => AddMonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} (Multiplicative.{u2} G) (Multiplicative.mulOneClass.{u2} G _inst_2)) (MulOneClass.toMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
 Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.mem_span_support AddMonoidAlgebra.mem_span_supportₓ'. -/
 /-- An element of `add_monoid_algebra k G` is in the submodule generated by its support. -/
 theorem mem_span_support [AddZeroClass G] (f : AddMonoidAlgebra k G) :
Diff
@@ -110,10 +110,10 @@ theorem support_mul_single_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k
 
 #print MonoidAlgebra.support_mul /-
 theorem support_mul [Mul G] [DecidableEq G] (a b : MonoidAlgebra k G) :
-    (a * b).support ⊆ a.support.bunionᵢ fun a₁ => b.support.bunionᵢ fun a₂ => {a₁ * a₂} :=
+    (a * b).support ⊆ a.support.biUnion fun a₁ => b.support.biUnion fun a₂ => {a₁ * a₂} :=
   Subset.trans support_sum <|
-    bunionᵢ_mono fun a₁ _ =>
-      Subset.trans support_sum <| bunionᵢ_mono fun a₂ _ => support_single_subset
+    biUnion_mono fun a₁ _ =>
+      Subset.trans support_sum <| biUnion_mono fun a₂ _ => support_single_subset
 #align monoid_algebra.support_mul MonoidAlgebra.support_mul
 -/
 
@@ -175,7 +175,7 @@ variable {k : Type u₁} {G : Type u₂} [Semiring k]
 
 #print AddMonoidAlgebra.support_mul /-
 theorem support_mul [DecidableEq G] [Add G] (a b : AddMonoidAlgebra k G) :
-    (a * b).support ⊆ a.support.bunionᵢ fun a₁ => b.support.bunionᵢ fun a₂ => {a₁ + a₂} :=
+    (a * b).support ⊆ a.support.biUnion fun a₁ => b.support.biUnion fun a₂ => {a₁ + a₂} :=
   @MonoidAlgebra.support_mul k (Multiplicative G) _ _ _ _ _
 #align add_monoid_algebra.support_mul AddMonoidAlgebra.support_mul
 -/
Diff
@@ -155,7 +155,7 @@ variable [MulOneClass G]
 lean 3 declaration is
   forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (fun (_x : MonoidHom.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) => G -> (MonoidAlgebra.{u1, u2} k G _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
 but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} G _inst_2) (MulOneClass.toMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} G _inst_2) (MulOneClass.toMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
 Case conversion may be inaccurate. Consider using '#align monoid_algebra.mem_span_support MonoidAlgebra.mem_span_supportₓ'. -/
 /-- An element of `monoid_algebra k G` is in the subalgebra generated by its support. -/
 theorem mem_span_support (f : MonoidAlgebra k G) :
@@ -210,7 +210,7 @@ section Span
 lean 3 declaration is
   forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ u2) (succ (max u2 u1))} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (fun (_x : MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) => (Multiplicative.{u2} G) -> (AddMonoidAlgebra.{u1, u2} k G _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
 but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (fun (_x : Multiplicative.{u2} G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Multiplicative.{u2} G) => AddMonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} (Multiplicative.{u2} G) (Multiplicative.mulOneClass.{u2} G _inst_2)) (MulOneClass.toMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (fun (_x : Multiplicative.{u2} G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Multiplicative.{u2} G) => AddMonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} (Multiplicative.{u2} G) (Multiplicative.mulOneClass.{u2} G _inst_2)) (MulOneClass.toMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
 Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.mem_span_support AddMonoidAlgebra.mem_span_supportₓ'. -/
 /-- An element of `add_monoid_algebra k G` is in the submodule generated by its support. -/
 theorem mem_span_support [AddZeroClass G] (f : AddMonoidAlgebra k G) :
@@ -222,7 +222,7 @@ theorem mem_span_support [AddZeroClass G] (f : AddMonoidAlgebra k G) :
 lean 3 declaration is
   forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u2 u1} G (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.of'.{u1, u2} k G _inst_1) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
 but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.of'.{u1, u2} k G _inst_1) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.of'.{u1, u2} k G _inst_1) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
 Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.mem_span_support' AddMonoidAlgebra.mem_span_support'ₓ'. -/
 /-- An element of `add_monoid_algebra k G` is in the subalgebra generated by its support, using
 unbundled inclusion. -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Damiano Testa
 
 ! This file was ported from Lean 3 source module algebra.monoid_algebra.support
-! leanprover-community/mathlib commit 16749fc4661828cba18cd0f4e3c5eb66a8e80598
+! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -12,6 +12,9 @@ import Mathbin.Algebra.MonoidAlgebra.Basic
 
 /-!
 #  Lemmas about the support of a finitely supported function
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
 -/
 
 
Diff
@@ -73,7 +73,7 @@ theorem support_mul_single_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G
 lean 3 declaration is
   forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) {r : k}, (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) r y) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall {x : G}, (IsLeftRegular.{u2} G _inst_3 x) -> (Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r) f)) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
 but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) {r : k}, (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) r y) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall {x : G}, (IsLeftRegular.{u2} G _inst_3 x) -> (Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) (MonoidAlgebra.single.{u1, u2} k G _inst_1 x r) f)) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) ((fun (x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.363 : G) (x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.365 : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.363 x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.365) x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) {r : k}, (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) r y) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall {x : G}, (IsLeftRegular.{u2} G _inst_3 x) -> (Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) (MonoidAlgebra.single.{u1, u2} k G _inst_1 x r) f)) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) ((fun (x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.365 : G) (x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.367 : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.365 x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.367) x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
 Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_single_mul_eq_image MonoidAlgebra.support_single_mul_eq_imageₓ'. -/
 theorem support_single_mul_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) {r : k}
     (hr : ∀ y, r * y = 0 ↔ y = 0) {x : G} (lx : IsLeftRegular x) :
@@ -152,7 +152,7 @@ variable [MulOneClass G]
 lean 3 declaration is
   forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (fun (_x : MonoidHom.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) => G -> (MonoidAlgebra.{u1, u2} k G _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
 but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} G _inst_2) (MulOneClass.toMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} G _inst_2) (MulOneClass.toMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
 Case conversion may be inaccurate. Consider using '#align monoid_algebra.mem_span_support MonoidAlgebra.mem_span_supportₓ'. -/
 /-- An element of `monoid_algebra k G` is in the subalgebra generated by its support. -/
 theorem mem_span_support (f : MonoidAlgebra k G) :
@@ -207,7 +207,7 @@ section Span
 lean 3 declaration is
   forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ u2) (succ (max u2 u1))} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (fun (_x : MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) => (Multiplicative.{u2} G) -> (AddMonoidAlgebra.{u1, u2} k G _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
 but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (fun (_x : Multiplicative.{u2} G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : Multiplicative.{u2} G) => AddMonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} (Multiplicative.{u2} G) (Multiplicative.mulOneClass.{u2} G _inst_2)) (MulOneClass.toMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (fun (_x : Multiplicative.{u2} G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Multiplicative.{u2} G) => AddMonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} (Multiplicative.{u2} G) (Multiplicative.mulOneClass.{u2} G _inst_2)) (MulOneClass.toMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
 Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.mem_span_support AddMonoidAlgebra.mem_span_supportₓ'. -/
 /-- An element of `add_monoid_algebra k G` is in the submodule generated by its support. -/
 theorem mem_span_support [AddZeroClass G] (f : AddMonoidAlgebra k G) :
Diff
@@ -37,13 +37,13 @@ theorem support_single_mul_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G
   have : ∀ y, a * y = x → f y = 0 := by
     simpa only [not_and', mem_image, mem_support_iff, exists_prop, not_exists,
       Classical.not_not] using hx
-  simp only [mem_support_iff, mul_apply, sum_single_index, zero_mul, if_t_t, sum_zero,
+  simp only [mem_support_iff, mul_apply, sum_single_index, MulZeroClass.zero_mul, if_t_t, sum_zero,
     Classical.not_not]
   exact
     Finset.sum_eq_zero
       (by
-        simp (config := { contextual := true }) only [this, mem_support_iff, mul_zero, Ne.def,
-          ite_eq_right_iff, eq_self_iff_true, imp_true_iff])
+        simp (config := { contextual := true }) only [this, mem_support_iff, MulZeroClass.mul_zero,
+          Ne.def, ite_eq_right_iff, eq_self_iff_true, imp_true_iff])
 #align monoid_algebra.support_single_mul_subset MonoidAlgebra.support_single_mul_subset
 
 /- warning: monoid_algebra.support_mul_single_subset -> MonoidAlgebra.support_mul_single_subset is a dubious translation:
@@ -60,13 +60,13 @@ theorem support_mul_single_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G
   have : ∀ y, y * a = x → f y = 0 := by
     simpa only [not_and', mem_image, mem_support_iff, exists_prop, not_exists,
       Classical.not_not] using hx
-  simp only [mem_support_iff, mul_apply, sum_single_index, zero_mul, if_t_t, sum_zero,
+  simp only [mem_support_iff, mul_apply, sum_single_index, MulZeroClass.zero_mul, if_t_t, sum_zero,
     Classical.not_not]
   exact
     Finset.sum_eq_zero
       (by
         simp (config := { contextual := true }) only [this, sum_single_index, ite_eq_right_iff,
-          eq_self_iff_true, imp_true_iff, zero_mul])
+          eq_self_iff_true, imp_true_iff, MulZeroClass.zero_mul])
 #align monoid_algebra.support_mul_single_subset MonoidAlgebra.support_mul_single_subset
 
 /- warning: monoid_algebra.support_single_mul_eq_image -> MonoidAlgebra.support_single_mul_eq_image is a dubious translation:
@@ -83,7 +83,8 @@ theorem support_single_mul_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k
   obtain ⟨y, yf, rfl⟩ : ∃ a : G, a ∈ f.support ∧ x * a = y := by
     simpa only [Finset.mem_image, exists_prop] using hy
   simp only [mul_apply, mem_support_iff.mp yf, hr, mem_support_iff, sum_single_index,
-    Finsupp.sum_ite_eq', Ne.def, not_false_iff, if_true, zero_mul, if_t_t, sum_zero, lx.eq_iff]
+    Finsupp.sum_ite_eq', Ne.def, not_false_iff, if_true, MulZeroClass.zero_mul, if_t_t, sum_zero,
+    lx.eq_iff]
 #align monoid_algebra.support_single_mul_eq_image MonoidAlgebra.support_single_mul_eq_image
 
 /- warning: monoid_algebra.support_mul_single_eq_image -> MonoidAlgebra.support_mul_single_eq_image is a dubious translation:
@@ -100,7 +101,8 @@ theorem support_mul_single_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k
   obtain ⟨y, yf, rfl⟩ : ∃ a : G, a ∈ f.support ∧ a * x = y := by
     simpa only [Finset.mem_image, exists_prop] using hy
   simp only [mul_apply, mem_support_iff.mp yf, hr, mem_support_iff, sum_single_index,
-    Finsupp.sum_ite_eq', Ne.def, not_false_iff, if_true, mul_zero, if_t_t, sum_zero, rx.eq_iff]
+    Finsupp.sum_ite_eq', Ne.def, not_false_iff, if_true, MulZeroClass.mul_zero, if_t_t, sum_zero,
+    rx.eq_iff]
 #align monoid_algebra.support_mul_single_eq_image MonoidAlgebra.support_mul_single_eq_image
 
 #print MonoidAlgebra.support_mul /-
Diff
@@ -150,7 +150,7 @@ variable [MulOneClass G]
 lean 3 declaration is
   forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (fun (_x : MonoidHom.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) => G -> (MonoidAlgebra.{u1, u2} k G _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
 but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} G _inst_2) (MulOneClass.toMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} G _inst_2) (MulOneClass.toMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
 Case conversion may be inaccurate. Consider using '#align monoid_algebra.mem_span_support MonoidAlgebra.mem_span_supportₓ'. -/
 /-- An element of `monoid_algebra k G` is in the subalgebra generated by its support. -/
 theorem mem_span_support (f : MonoidAlgebra k G) :
@@ -205,7 +205,7 @@ section Span
 lean 3 declaration is
   forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ u2) (succ (max u2 u1))} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (fun (_x : MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) => (Multiplicative.{u2} G) -> (AddMonoidAlgebra.{u1, u2} k G _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
 but is expected to have type
-  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (fun (_x : Multiplicative.{u2} G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : Multiplicative.{u2} G) => AddMonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} (Multiplicative.{u2} G) (Multiplicative.mulOneClass.{u2} G _inst_2)) (MulOneClass.toMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (fun (_x : Multiplicative.{u2} G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : Multiplicative.{u2} G) => AddMonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} (Multiplicative.{u2} G) (Multiplicative.mulOneClass.{u2} G _inst_2)) (MulOneClass.toMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
 Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.mem_span_support AddMonoidAlgebra.mem_span_supportₓ'. -/
 /-- An element of `add_monoid_algebra k G` is in the submodule generated by its support. -/
 theorem mem_span_support [AddZeroClass G] (f : AddMonoidAlgebra k G) :
Diff
@@ -23,6 +23,12 @@ open Finset Finsupp
 
 variable {k : Type u₁} {G : Type u₂} [Semiring k]
 
+/- warning: monoid_algebra.support_single_mul_subset -> MonoidAlgebra.support_single_mul_subset is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k) (a : G), HasSubset.Subset.{u2} (Finset.{u2} G) (Finset.hasSubset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) a r) f)) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) a) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))
+but is expected to have type
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k) (a : G), HasSubset.Subset.{u2} (Finset.{u2} G) (Finset.instHasSubsetFinset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) (MonoidAlgebra.single.{u1, u2} k G _inst_1 a r) f)) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) ((fun (x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.55 : G) (x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.57 : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.55 x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.57) a) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))
+Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_single_mul_subset MonoidAlgebra.support_single_mul_subsetₓ'. -/
 theorem support_single_mul_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) (r : k) (a : G) :
     (single a r * f : MonoidAlgebra k G).support ⊆ Finset.image ((· * ·) a) f.support :=
   by
@@ -40,6 +46,12 @@ theorem support_single_mul_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G
           ite_eq_right_iff, eq_self_iff_true, imp_true_iff])
 #align monoid_algebra.support_single_mul_subset MonoidAlgebra.support_single_mul_subset
 
+/- warning: monoid_algebra.support_mul_single_subset -> MonoidAlgebra.support_mul_single_subset is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k) (a : G), HasSubset.Subset.{u2} (Finset.{u2} G) (Finset.hasSubset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) f (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) a r))) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (fun (_x : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) _x a) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))
+but is expected to have type
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k) (a : G), HasSubset.Subset.{u2} (Finset.{u2} G) (Finset.instHasSubsetFinset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) f (MonoidAlgebra.single.{u1, u2} k G _inst_1 a r))) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (fun (_x : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) _x a) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))
+Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_mul_single_subset MonoidAlgebra.support_mul_single_subsetₓ'. -/
 theorem support_mul_single_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) (r : k) (a : G) :
     (f * single a r).support ⊆ Finset.image (· * a) f.support :=
   by
@@ -57,6 +69,12 @@ theorem support_mul_single_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G
           eq_self_iff_true, imp_true_iff, zero_mul])
 #align monoid_algebra.support_mul_single_subset MonoidAlgebra.support_mul_single_subset
 
+/- warning: monoid_algebra.support_single_mul_eq_image -> MonoidAlgebra.support_single_mul_eq_image is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) {r : k}, (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) r y) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall {x : G}, (IsLeftRegular.{u2} G _inst_3 x) -> (Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r) f)) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
+but is expected to have type
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) {r : k}, (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) r y) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall {x : G}, (IsLeftRegular.{u2} G _inst_3 x) -> (Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) (MonoidAlgebra.single.{u1, u2} k G _inst_1 x r) f)) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) ((fun (x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.363 : G) (x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.365 : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.363 x._@.Mathlib.Algebra.MonoidAlgebra.Support._hyg.365) x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_single_mul_eq_image MonoidAlgebra.support_single_mul_eq_imageₓ'. -/
 theorem support_single_mul_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) {r : k}
     (hr : ∀ y, r * y = 0 ↔ y = 0) {x : G} (lx : IsLeftRegular x) :
     (single x r * f : MonoidAlgebra k G).support = Finset.image ((· * ·) x) f.support :=
@@ -68,6 +86,12 @@ theorem support_single_mul_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k
     Finsupp.sum_ite_eq', Ne.def, not_false_iff, if_true, zero_mul, if_t_t, sum_zero, lx.eq_iff]
 #align monoid_algebra.support_single_mul_eq_image MonoidAlgebra.support_single_mul_eq_image
 
+/- warning: monoid_algebra.support_mul_single_eq_image -> MonoidAlgebra.support_mul_single_eq_image is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) {r : k}, (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) y r) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall {x : G}, (IsRightRegular.{u2} G _inst_3 x) -> (Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) f (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r))) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (fun (_x : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) _x x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
+but is expected to have type
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : DecidableEq.{succ u2} G] [_inst_3 : Mul.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) {r : k}, (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) y r) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall {x : G}, (IsRightRegular.{u2} G _inst_3 x) -> (Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 _inst_3)) f (MonoidAlgebra.single.{u1, u2} k G _inst_1 x r))) (Finset.image.{u2, u2} G G (fun (a : G) (b : G) => _inst_2 a b) (fun (_x : G) => HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G _inst_3) _x x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_mul_single_eq_image MonoidAlgebra.support_mul_single_eq_imageₓ'. -/
 theorem support_mul_single_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) {r : k}
     (hr : ∀ y, y * r = 0 ↔ y = 0) {x : G} (rx : IsRightRegular x) :
     (f * single x r).support = Finset.image (· * x) f.support :=
@@ -79,13 +103,21 @@ theorem support_mul_single_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k
     Finsupp.sum_ite_eq', Ne.def, not_false_iff, if_true, mul_zero, if_t_t, sum_zero, rx.eq_iff]
 #align monoid_algebra.support_mul_single_eq_image MonoidAlgebra.support_mul_single_eq_image
 
+#print MonoidAlgebra.support_mul /-
 theorem support_mul [Mul G] [DecidableEq G] (a b : MonoidAlgebra k G) :
     (a * b).support ⊆ a.support.bunionᵢ fun a₁ => b.support.bunionᵢ fun a₂ => {a₁ * a₂} :=
   Subset.trans support_sum <|
     bunionᵢ_mono fun a₁ _ =>
       Subset.trans support_sum <| bunionᵢ_mono fun a₂ _ => support_single_subset
 #align monoid_algebra.support_mul MonoidAlgebra.support_mul
+-/
 
+/- warning: monoid_algebra.support_mul_single -> MonoidAlgebra.support_mul_single is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : RightCancelSemigroup.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) y r) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 (Semigroup.toHasMul.{u2} G (RightCancelSemigroup.toSemigroup.{u2} G _inst_2)))) f (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r))) (Finset.map.{u2, u2} G G (mulRightEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f)))
+but is expected to have type
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : RightCancelSemigroup.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) y r) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 (Semigroup.toMul.{u2} G (RightCancelSemigroup.toSemigroup.{u2} G _inst_2)))) f (MonoidAlgebra.single.{u1, u2} k G _inst_1 x r))) (Finset.map.{u2, u2} G G (mulRightEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f)))
+Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_mul_single MonoidAlgebra.support_mul_singleₓ'. -/
 theorem support_mul_single [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r : k)
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
     (f * single x r).support = f.support.map (mulRightEmbedding x) := by
@@ -95,6 +127,12 @@ theorem support_mul_single [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r :
       mem_image, mem_map, mulRightEmbedding_apply]
 #align monoid_algebra.support_mul_single MonoidAlgebra.support_mul_single
 
+/- warning: monoid_algebra.support_single_mul -> MonoidAlgebra.support_single_mul is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : LeftCancelSemigroup.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) r y) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 (Semigroup.toHasMul.{u2} G (LeftCancelSemigroup.toSemigroup.{u2} G _inst_2)))) (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r) f)) (Finset.map.{u2, u2} G G (mulLeftEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f)))
+but is expected to have type
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : LeftCancelSemigroup.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) r y) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.mul.{u1, u2} k G _inst_1 (Semigroup.toMul.{u2} G (LeftCancelSemigroup.toSemigroup.{u2} G _inst_2)))) (MonoidAlgebra.single.{u1, u2} k G _inst_1 x r) f)) (Finset.map.{u2, u2} G G (mulLeftEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f)))
+Case conversion may be inaccurate. Consider using '#align monoid_algebra.support_single_mul MonoidAlgebra.support_single_mulₓ'. -/
 theorem support_single_mul [LeftCancelSemigroup G] (f : MonoidAlgebra k G) (r : k)
     (hr : ∀ y, r * y = 0 ↔ y = 0) (x : G) :
     (single x r * f : MonoidAlgebra k G).support = f.support.map (mulLeftEmbedding x) := by
@@ -108,6 +146,12 @@ section Span
 
 variable [MulOneClass G]
 
+/- warning: monoid_algebra.mem_span_support -> MonoidAlgebra.mem_span_support is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (fun (_x : MonoidHom.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) => G -> (MonoidAlgebra.{u1, u2} k G _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
+but is expected to have type
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : MulOneClass.{u2} G] (f : MonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (MonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (MonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (MonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} G _inst_2) (MulOneClass.toMul.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (MonoidAlgebra.{u1, u2} k G _inst_1) _inst_2 (MulZeroOneClass.toMulOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (MonoidAlgebra.{u1, u2} k G _inst_1) (MonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (MonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+Case conversion may be inaccurate. Consider using '#align monoid_algebra.mem_span_support MonoidAlgebra.mem_span_supportₓ'. -/
 /-- An element of `monoid_algebra k G` is in the subalgebra generated by its support. -/
 theorem mem_span_support (f : MonoidAlgebra k G) :
     f ∈ Submodule.span k (of k G '' (f.support : Set G)) := by
@@ -124,17 +168,31 @@ open Finset Finsupp MulOpposite
 
 variable {k : Type u₁} {G : Type u₂} [Semiring k]
 
+#print AddMonoidAlgebra.support_mul /-
 theorem support_mul [DecidableEq G] [Add G] (a b : AddMonoidAlgebra k G) :
     (a * b).support ⊆ a.support.bunionᵢ fun a₁ => b.support.bunionᵢ fun a₂ => {a₁ + a₂} :=
   @MonoidAlgebra.support_mul k (Multiplicative G) _ _ _ _ _
 #align add_monoid_algebra.support_mul AddMonoidAlgebra.support_mul
+-/
 
+/- warning: add_monoid_algebra.support_mul_single -> AddMonoidAlgebra.support_mul_single is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddRightCancelSemigroup.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) y r) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.hasMul.{u1, u2} k G _inst_1 (AddSemigroup.toHasAdd.{u2} G (AddRightCancelSemigroup.toAddSemigroup.{u2} G _inst_2)))) f (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r))) (Finset.map.{u2, u2} G G (addRightEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f)))
+but is expected to have type
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddRightCancelSemigroup.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) y r) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.hasMul.{u1, u2} k G _inst_1 (AddSemigroup.toAdd.{u2} G (AddRightCancelSemigroup.toAddSemigroup.{u2} G _inst_2)))) f (AddMonoidAlgebra.single.{u1, u2} k G _inst_1 x r))) (Finset.map.{u2, u2} G G (addRightEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f)))
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.support_mul_single AddMonoidAlgebra.support_mul_singleₓ'. -/
 theorem support_mul_single [AddRightCancelSemigroup G] (f : AddMonoidAlgebra k G) (r : k)
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
     (f * single x r : AddMonoidAlgebra k G).support = f.support.map (addRightEmbedding x) :=
   @MonoidAlgebra.support_mul_single k (Multiplicative G) _ _ _ _ hr _
 #align add_monoid_algebra.support_mul_single AddMonoidAlgebra.support_mul_single
 
+/- warning: add_monoid_algebra.support_single_mul -> AddMonoidAlgebra.support_single_mul is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddLeftCancelSemigroup.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (Distrib.toHasMul.{u1} k (NonUnitalNonAssocSemiring.toDistrib.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))) r y) (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (OfNat.mk.{u1} k 0 (Zero.zero.{u1} k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1))))))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.hasMul.{u1, u2} k G _inst_1 (AddSemigroup.toHasAdd.{u2} G (AddLeftCancelSemigroup.toAddSemigroup.{u2} G _inst_2)))) (Finsupp.single.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) x r) f)) (Finset.map.{u2, u2} G G (addLeftEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f)))
+but is expected to have type
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddLeftCancelSemigroup.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1) (r : k), (forall (y : k), Iff (Eq.{succ u1} k (HMul.hMul.{u1, u1, u1} k k k (instHMul.{u1} k (NonUnitalNonAssocSemiring.toMul.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) r y) (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1))))) (Eq.{succ u1} k y (OfNat.ofNat.{u1} k 0 (Zero.toOfNat0.{u1} k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)))))) -> (forall (x : G), Eq.{succ u2} (Finset.{u2} G) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (instHMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.hasMul.{u1, u2} k G _inst_1 (AddSemigroup.toAdd.{u2} G (AddLeftCancelSemigroup.toAddSemigroup.{u2} G _inst_2)))) (AddMonoidAlgebra.single.{u1, u2} k G _inst_1 x r) f)) (Finset.map.{u2, u2} G G (addLeftEmbedding.{u2} G _inst_2 x) (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f)))
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.support_single_mul AddMonoidAlgebra.support_single_mulₓ'. -/
 theorem support_single_mul [AddLeftCancelSemigroup G] (f : AddMonoidAlgebra k G) (r : k)
     (hr : ∀ y, r * y = 0 ↔ y = 0) (x : G) :
     (single x r * f : AddMonoidAlgebra k G).support = f.support.map (addLeftEmbedding x) :=
@@ -143,12 +201,24 @@ theorem support_single_mul [AddLeftCancelSemigroup G] (f : AddMonoidAlgebra k G)
 
 section Span
 
+/- warning: add_monoid_algebra.mem_span_support -> AddMonoidAlgebra.mem_span_support is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ u2) (succ (max u2 u1))} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (fun (_x : MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) => (Multiplicative.{u2} G) -> (AddMonoidAlgebra.{u1, u2} k G _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
+but is expected to have type
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] [_inst_2 : AddZeroClass.{u2} G] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (fun (_x : Multiplicative.{u2} G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : Multiplicative.{u2} G) => AddMonoidAlgebra.{u1, u2} k G _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulOneClass.toMul.{u2} (Multiplicative.{u2} G) (Multiplicative.mulOneClass.{u2} G _inst_2)) (MulOneClass.toMul.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))) (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2))) (MonoidHom.monoidHomClass.{u2, max u1 u2} (Multiplicative.{u2} G) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Multiplicative.mulOneClass.{u2} G _inst_2) (MulZeroOneClass.toMulOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.nonAssocSemiring.{u1, u2} k G _inst_1 _inst_2)))))) (AddMonoidAlgebra.of.{u1, u2} k G _inst_1 _inst_2)) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.mem_span_support AddMonoidAlgebra.mem_span_supportₓ'. -/
 /-- An element of `add_monoid_algebra k G` is in the submodule generated by its support. -/
 theorem mem_span_support [AddZeroClass G] (f : AddMonoidAlgebra k G) :
     f ∈ Submodule.span k (of k G '' (f.support : Set G)) := by
   rw [of, MonoidHom.coe_mk, ← Finsupp.supported_eq_span_single, Finsupp.mem_supported]
 #align add_monoid_algebra.mem_span_support AddMonoidAlgebra.mem_span_support
 
+/- warning: add_monoid_algebra.mem_span_support' -> AddMonoidAlgebra.mem_span_support' is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.Mem.{max u2 u1, max u2 u1} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.hasMem.{max u2 u1, max u2 u1} (Submodule.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.setLike.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u2 u1} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u2, u1} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u2 u1} G (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.of'.{u1, u2} k G _inst_1) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} G) (Set.{u2} G) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} G) (Set.{u2} G) (Finset.Set.hasCoeT.{u2} G))) (Finsupp.support.{u2, u1} G k (MulZeroClass.toHasZero.{u1} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} k (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_1)))) f))))
+but is expected to have type
+  forall {k : Type.{u1}} {G : Type.{u2}} [_inst_1 : Semiring.{u1} k] (f : AddMonoidAlgebra.{u1, u2} k G _inst_1), Membership.mem.{max u1 u2, max u1 u2} (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Submodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1))) (AddMonoidAlgebra.{u1, u2} k G _inst_1) (Submodule.instSetLikeSubmodule.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)))) f (Submodule.span.{u1, max u1 u2} k (AddMonoidAlgebra.{u1, u2} k G _inst_1) _inst_1 (AddMonoidAlgebra.addCommMonoid.{u1, u2} k G _inst_1) (AddMonoidAlgebra.module.{u1, u2, u1} k G k _inst_1 _inst_1 (Semiring.toModule.{u1} k _inst_1)) (Set.image.{u2, max u1 u2} G (AddMonoidAlgebra.{u1, u2} k G _inst_1) (AddMonoidAlgebra.of'.{u1, u2} k G _inst_1) (Finset.toSet.{u2} G (Finsupp.support.{u2, u1} G k (MonoidWithZero.toZero.{u1} k (Semiring.toMonoidWithZero.{u1} k _inst_1)) f))))
+Case conversion may be inaccurate. Consider using '#align add_monoid_algebra.mem_span_support' AddMonoidAlgebra.mem_span_support'ₓ'. -/
 /-- An element of `add_monoid_algebra k G` is in the subalgebra generated by its support, using
 unbundled inclusion. -/
 theorem mem_span_support' (f : AddMonoidAlgebra k G) :

Changes in mathlib4

mathlib3
mathlib4
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11801)
Diff
@@ -48,7 +48,7 @@ theorem support_single_mul_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k
   obtain ⟨y, yf, rfl⟩ : ∃ a : G, a ∈ f.support ∧ x * a = y := by
     simpa only [Finset.mem_image, exists_prop] using hy
   simp only [mul_apply, mem_support_iff.mp yf, hr, mem_support_iff, sum_single_index,
-    Finsupp.sum_ite_eq', Ne.def, not_false_iff, if_true, zero_mul, ite_self, sum_zero, lx.eq_iff]
+    Finsupp.sum_ite_eq', Ne, not_false_iff, if_true, zero_mul, ite_self, sum_zero, lx.eq_iff]
 #align monoid_algebra.support_single_mul_eq_image MonoidAlgebra.support_single_mul_eq_image
 
 theorem support_mul_single_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) {r : k}
@@ -58,7 +58,7 @@ theorem support_mul_single_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k
   obtain ⟨y, yf, rfl⟩ : ∃ a : G, a ∈ f.support ∧ a * x = y := by
     simpa only [Finset.mem_image, exists_prop] using hy
   simp only [mul_apply, mem_support_iff.mp yf, hr, mem_support_iff, sum_single_index,
-    Finsupp.sum_ite_eq', Ne.def, not_false_iff, if_true, mul_zero, ite_self, sum_zero, rx.eq_iff]
+    Finsupp.sum_ite_eq', Ne, not_false_iff, if_true, mul_zero, ite_self, sum_zero, rx.eq_iff]
 #align monoid_algebra.support_mul_single_eq_image MonoidAlgebra.support_mul_single_eq_image
 
 theorem support_mul_single [Mul G] [IsRightCancelMul G] (f : MonoidAlgebra k G) (r : k)
refactor(MonoidAlgebra/Support): reformulate support_mul (#8953)

Use pointwise multiplication/addition of Finsets in MonoidAlgebra.support_mul and AddMonoidAlgebra.support_mul.

Diff
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Damiano Testa
 -/
 import Mathlib.Algebra.MonoidAlgebra.Basic
+import Mathlib.Data.Finset.Pointwise
 
 #align_import algebra.monoid_algebra.support from "leanprover-community/mathlib"@"16749fc4661828cba18cd0f4e3c5eb66a8e80598"
 
@@ -11,6 +12,7 @@ import Mathlib.Algebra.MonoidAlgebra.Basic
 #  Lemmas about the support of a finitely supported function
 -/
 
+open scoped Pointwise
 
 universe u₁ u₂ u₃
 
@@ -20,36 +22,23 @@ open Finset Finsupp
 
 variable {k : Type u₁} {G : Type u₂} [Semiring k]
 
+theorem support_mul [Mul G] [DecidableEq G] (a b : MonoidAlgebra k G) :
+    (a * b).support ⊆ a.support * b.support :=
+  support_sum.trans <| biUnion_subset.2 fun _x hx ↦
+    support_sum.trans <| biUnion_subset.2 fun _y hy ↦
+      support_single_subset.trans <| singleton_subset_iff.2 <| mem_image₂_of_mem hx hy
+#align monoid_algebra.support_mul MonoidAlgebra.support_mul
+
 theorem support_single_mul_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) (r : k) (a : G) :
-    (single a r * f : MonoidAlgebra k G).support ⊆ Finset.image (a * ·) f.support := by
-  intro x hx
-  contrapose hx
-  have : ∀ y, a * y = x → f y = 0 := by
-    simpa only [not_and', mem_image, mem_support_iff, exists_prop, not_exists,
-      Classical.not_not] using hx
-  simp only [mem_support_iff, mul_apply, sum_single_index, zero_mul, ite_self, sum_zero,
-    Classical.not_not]
-  exact
-    Finset.sum_eq_zero
-      (by
-        simp (config := { contextual := true }) only [this, mem_support_iff, mul_zero, Ne.def,
-          ite_eq_right_iff, eq_self_iff_true, imp_true_iff])
+    (single a r * f : MonoidAlgebra k G).support ⊆ Finset.image (a * ·) f.support :=
+  (support_mul _ _).trans <| (Finset.image₂_subset_right support_single_subset).trans <| by
+    rw [Finset.image₂_singleton_left]
 #align monoid_algebra.support_single_mul_subset MonoidAlgebra.support_single_mul_subset
 
 theorem support_mul_single_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) (r : k) (a : G) :
-    (f * single a r).support ⊆ Finset.image (· * a) f.support := by
-  intro x hx
-  contrapose hx
-  have : ∀ y, y * a = x → f y = 0 := by
-    simpa only [not_and', mem_image, mem_support_iff, exists_prop, not_exists,
-      Classical.not_not] using hx
-  simp only [mem_support_iff, mul_apply, sum_single_index, zero_mul, ite_self, sum_zero,
-    Classical.not_not]
-  exact
-    Finset.sum_eq_zero
-      (by
-        simp (config := { contextual := true }) only [this, sum_single_index, ite_eq_right_iff,
-          eq_self_iff_true, imp_true_iff, zero_mul])
+    (f * single a r).support ⊆ Finset.image (· * a) f.support :=
+  (support_mul _ _).trans <| (Finset.image₂_subset_left support_single_subset).trans <| by
+    rw [Finset.image₂_singleton_right]
 #align monoid_algebra.support_mul_single_subset MonoidAlgebra.support_mul_single_subset
 
 theorem support_single_mul_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) {r : k}
@@ -72,13 +61,6 @@ theorem support_mul_single_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k
     Finsupp.sum_ite_eq', Ne.def, not_false_iff, if_true, mul_zero, ite_self, sum_zero, rx.eq_iff]
 #align monoid_algebra.support_mul_single_eq_image MonoidAlgebra.support_mul_single_eq_image
 
-theorem support_mul [Mul G] [DecidableEq G] (a b : MonoidAlgebra k G) :
-    (a * b).support ⊆ a.support.biUnion fun a₁ => b.support.biUnion fun a₂ => {a₁ * a₂} :=
-  Subset.trans support_sum <|
-    biUnion_mono fun _ _ =>
-      Subset.trans support_sum <| biUnion_mono fun _a₂ _ => support_single_subset
-#align monoid_algebra.support_mul MonoidAlgebra.support_mul
-
 theorem support_mul_single [Mul G] [IsRightCancelMul G] (f : MonoidAlgebra k G) (r : k)
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
     (f * single x r).support = f.support.map (mulRightEmbedding x) := by
@@ -97,6 +79,13 @@ theorem support_single_mul [Mul G] [IsLeftCancelMul G] (f : MonoidAlgebra k G) (
       mem_map, mulLeftEmbedding_apply]
 #align monoid_algebra.support_single_mul MonoidAlgebra.support_single_mul
 
+lemma support_one_subset [One G] : (1 : MonoidAlgebra k G).support ⊆ 1 :=
+  Finsupp.support_single_subset
+
+@[simp]
+lemma support_one [One G] [NeZero (1 : k)] : (1 : MonoidAlgebra k G).support = 1 :=
+  Finsupp.support_single_ne_zero _ one_ne_zero
+
 section Span
 
 variable [MulOneClass G]
@@ -118,7 +107,7 @@ open Finset Finsupp MulOpposite
 variable {k : Type u₁} {G : Type u₂} [Semiring k]
 
 theorem support_mul [DecidableEq G] [Add G] (a b : k[G]) :
-    (a * b).support ⊆ a.support.biUnion fun a₁ => b.support.biUnion fun a₂ => {a₁ + a₂} :=
+    (a * b).support ⊆ a.support + b.support :=
   @MonoidAlgebra.support_mul k (Multiplicative G) _ _ _ _ _
 #align add_monoid_algebra.support_mul AddMonoidAlgebra.support_mul
 
@@ -134,6 +123,12 @@ theorem support_single_mul [Add G] [IsLeftCancelAdd G] (f : k[G]) (r : k)
   MonoidAlgebra.support_single_mul (G := Multiplicative G) _ _ hr _
 #align add_monoid_algebra.support_single_mul AddMonoidAlgebra.support_single_mul
 
+lemma support_one_subset [Zero G] : (1 : k[G]).support ⊆ 0 := Finsupp.support_single_subset
+
+@[simp]
+lemma support_one [Zero G] [NeZero (1 : k)] : (1 : k[G]).support = 0 :=
+  Finsupp.support_single_ne_zero _ one_ne_zero
+
 section Span
 
 /-- An element of `k[G]` is in the submodule generated by its support. -/
chore: Replace (· op ·) a by (a op ·) (#8843)

I used the regex \(\(· (.) ·\) (.)\), replacing with ($2 $1 ·).

Diff
@@ -21,7 +21,7 @@ open Finset Finsupp
 variable {k : Type u₁} {G : Type u₂} [Semiring k]
 
 theorem support_single_mul_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) (r : k) (a : G) :
-    (single a r * f : MonoidAlgebra k G).support ⊆ Finset.image ((· * ·) a) f.support := by
+    (single a r * f : MonoidAlgebra k G).support ⊆ Finset.image (a * ·) f.support := by
   intro x hx
   contrapose hx
   have : ∀ y, a * y = x → f y = 0 := by
@@ -54,7 +54,7 @@ theorem support_mul_single_subset [DecidableEq G] [Mul G] (f : MonoidAlgebra k G
 
 theorem support_single_mul_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k G) {r : k}
     (hr : ∀ y, r * y = 0 ↔ y = 0) {x : G} (lx : IsLeftRegular x) :
-    (single x r * f : MonoidAlgebra k G).support = Finset.image ((· * ·) x) f.support := by
+    (single x r * f : MonoidAlgebra k G).support = Finset.image (x * ·) f.support := by
   refine' subset_antisymm (support_single_mul_subset f _ _) fun y hy => _
   obtain ⟨y, yf, rfl⟩ : ∃ a : G, a ∈ f.support ∧ x * a = y := by
     simpa only [Finset.mem_image, exists_prop] using hy
chore(Algebra/Regular/Basic): generalize to IsCancelMul (#8428)

This lets lemmas about cancellative monoids work for cancellative semigroups

Some docstrings have been rewritten, as adjusting the wording was too awkward.

The new .all names are intended to match Commute.all.

Diff
@@ -79,21 +79,21 @@ theorem support_mul [Mul G] [DecidableEq G] (a b : MonoidAlgebra k G) :
       Subset.trans support_sum <| biUnion_mono fun _a₂ _ => support_single_subset
 #align monoid_algebra.support_mul MonoidAlgebra.support_mul
 
-theorem support_mul_single [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r : k)
+theorem support_mul_single [Mul G] [IsRightCancelMul G] (f : MonoidAlgebra k G) (r : k)
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
     (f * single x r).support = f.support.map (mulRightEmbedding x) := by
   classical
     ext
-    simp only [support_mul_single_eq_image f hr (isRightRegular_of_rightCancelSemigroup x),
+    simp only [support_mul_single_eq_image f hr (IsRightRegular.all x),
       mem_image, mem_map, mulRightEmbedding_apply]
 #align monoid_algebra.support_mul_single MonoidAlgebra.support_mul_single
 
-theorem support_single_mul [LeftCancelSemigroup G] (f : MonoidAlgebra k G) (r : k)
+theorem support_single_mul [Mul G] [IsLeftCancelMul G] (f : MonoidAlgebra k G) (r : k)
     (hr : ∀ y, r * y = 0 ↔ y = 0) (x : G) :
     (single x r * f : MonoidAlgebra k G).support = f.support.map (mulLeftEmbedding x) := by
   classical
     ext
-    simp only [support_single_mul_eq_image f hr (isLeftRegular_of_leftCancelSemigroup x), mem_image,
+    simp only [support_single_mul_eq_image f hr (IsLeftRegular.all x), mem_image,
       mem_map, mulLeftEmbedding_apply]
 #align monoid_algebra.support_single_mul MonoidAlgebra.support_single_mul
 
@@ -122,16 +122,16 @@ theorem support_mul [DecidableEq G] [Add G] (a b : k[G]) :
   @MonoidAlgebra.support_mul k (Multiplicative G) _ _ _ _ _
 #align add_monoid_algebra.support_mul AddMonoidAlgebra.support_mul
 
-theorem support_mul_single [AddRightCancelSemigroup G] (f : k[G]) (r : k)
+theorem support_mul_single [Add G] [IsRightCancelAdd G] (f : k[G]) (r : k)
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
     (f * single x r : k[G]).support = f.support.map (addRightEmbedding x) :=
-  @MonoidAlgebra.support_mul_single k (Multiplicative G) _ _ _ _ hr _
+  MonoidAlgebra.support_mul_single (G := Multiplicative G) _ _ hr _
 #align add_monoid_algebra.support_mul_single AddMonoidAlgebra.support_mul_single
 
-theorem support_single_mul [AddLeftCancelSemigroup G] (f : k[G]) (r : k)
+theorem support_single_mul [Add G] [IsLeftCancelAdd G] (f : k[G]) (r : k)
     (hr : ∀ y, r * y = 0 ↔ y = 0) (x : G) :
     (single x r * f : k[G]).support = f.support.map (addLeftEmbedding x) :=
-  @MonoidAlgebra.support_single_mul k (Multiplicative G) _ _ _ _ hr _
+  MonoidAlgebra.support_single_mul (G := Multiplicative G) _ _ hr _
 #align add_monoid_algebra.support_single_mul AddMonoidAlgebra.support_single_mul
 
 section Span
feat(AddMonoidAlgebra*): add notation R[A] for addMonoidAlgebra R A (#7203)

Introduce the notation R[A] for AddMonoidAlgebra R A. This is to align Mathlibs notation with the standard notation for group ring.

The notation is scoped in AddMonoidAlgebra and there is no analogous notation for MonoidAlgebra.

I only used the notation for single-character R and As and only in the range [a-zA-Z].

The extra lines are all in Mathlib/Algebra/MonoidAlgebra/Basic.lean. They are accounted for by extra text in the doc-module and the actual notation.

Affected files:

Counterexamples/ZeroDivisorsInAddMonoidAlgebras
Algebra/AlgebraicCard
Algebra/MonoidAlgebra/Basic
Algebra/MonoidAlgebra/Degree
Algebra/MonoidAlgebra/Division
Algebra/MonoidAlgebra/Grading
Algebra/MonoidAlgebra/NoZeroDivisors
Algebra/MonoidAlgebra/Support
Data/Polynomial/AlgebraMap
Data/Polynomial/Basic
Data/Polynomial/Eval
Data/Polynomial/Laurent
RingTheory/FiniteType
Diff
@@ -117,34 +117,34 @@ open Finset Finsupp MulOpposite
 
 variable {k : Type u₁} {G : Type u₂} [Semiring k]
 
-theorem support_mul [DecidableEq G] [Add G] (a b : AddMonoidAlgebra k G) :
+theorem support_mul [DecidableEq G] [Add G] (a b : k[G]) :
     (a * b).support ⊆ a.support.biUnion fun a₁ => b.support.biUnion fun a₂ => {a₁ + a₂} :=
   @MonoidAlgebra.support_mul k (Multiplicative G) _ _ _ _ _
 #align add_monoid_algebra.support_mul AddMonoidAlgebra.support_mul
 
-theorem support_mul_single [AddRightCancelSemigroup G] (f : AddMonoidAlgebra k G) (r : k)
+theorem support_mul_single [AddRightCancelSemigroup G] (f : k[G]) (r : k)
     (hr : ∀ y, y * r = 0 ↔ y = 0) (x : G) :
-    (f * single x r : AddMonoidAlgebra k G).support = f.support.map (addRightEmbedding x) :=
+    (f * single x r : k[G]).support = f.support.map (addRightEmbedding x) :=
   @MonoidAlgebra.support_mul_single k (Multiplicative G) _ _ _ _ hr _
 #align add_monoid_algebra.support_mul_single AddMonoidAlgebra.support_mul_single
 
-theorem support_single_mul [AddLeftCancelSemigroup G] (f : AddMonoidAlgebra k G) (r : k)
+theorem support_single_mul [AddLeftCancelSemigroup G] (f : k[G]) (r : k)
     (hr : ∀ y, r * y = 0 ↔ y = 0) (x : G) :
-    (single x r * f : AddMonoidAlgebra k G).support = f.support.map (addLeftEmbedding x) :=
+    (single x r * f : k[G]).support = f.support.map (addLeftEmbedding x) :=
   @MonoidAlgebra.support_single_mul k (Multiplicative G) _ _ _ _ hr _
 #align add_monoid_algebra.support_single_mul AddMonoidAlgebra.support_single_mul
 
 section Span
 
-/-- An element of `AddMonoidAlgebra k G` is in the submodule generated by its support. -/
-theorem mem_span_support [AddZeroClass G] (f : AddMonoidAlgebra k G) :
+/-- An element of `k[G]` is in the submodule generated by its support. -/
+theorem mem_span_support [AddZeroClass G] (f : k[G]) :
     f ∈ Submodule.span k (of k G '' (f.support : Set G)) := by
   erw [of, MonoidHom.coe_mk, ← Finsupp.supported_eq_span_single, Finsupp.mem_supported]
 #align add_monoid_algebra.mem_span_support AddMonoidAlgebra.mem_span_support
 
-/-- An element of `AddMonoidAlgebra k G` is in the subalgebra generated by its support, using
+/-- An element of `k[G]` is in the subalgebra generated by its support, using
 unbundled inclusion. -/
-theorem mem_span_support' (f : AddMonoidAlgebra k G) :
+theorem mem_span_support' (f : k[G]) :
     f ∈ Submodule.span k (of' k G '' (f.support : Set G)) := by
   delta of'
   rw [← Finsupp.supported_eq_span_single, Finsupp.mem_supported]
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,14 +2,11 @@
 Copyright (c) 2022 Damiano Testa. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Damiano Testa
-
-! This file was ported from Lean 3 source module algebra.monoid_algebra.support
-! leanprover-community/mathlib commit 16749fc4661828cba18cd0f4e3c5eb66a8e80598
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.MonoidAlgebra.Basic
 
+#align_import algebra.monoid_algebra.support from "leanprover-community/mathlib"@"16749fc4661828cba18cd0f4e3c5eb66a8e80598"
+
 /-!
 #  Lemmas about the support of a finitely supported function
 -/
chore: Rename to sSup/iSup (#3938)

As discussed on Zulip

Renames

  • supₛsSup
  • infₛsInf
  • supᵢiSup
  • infᵢiInf
  • bsupₛbsSup
  • binfₛbsInf
  • bsupᵢbiSup
  • binfᵢbiInf
  • csupₛcsSup
  • cinfₛcsInf
  • csupᵢciSup
  • cinfᵢciInf
  • unionₛsUnion
  • interₛsInter
  • unionᵢiUnion
  • interᵢiInter
  • bunionₛbsUnion
  • binterₛbsInter
  • bunionᵢbiUnion
  • binterᵢbiInter

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -76,10 +76,10 @@ theorem support_mul_single_eq_image [DecidableEq G] [Mul G] (f : MonoidAlgebra k
 #align monoid_algebra.support_mul_single_eq_image MonoidAlgebra.support_mul_single_eq_image
 
 theorem support_mul [Mul G] [DecidableEq G] (a b : MonoidAlgebra k G) :
-    (a * b).support ⊆ a.support.bunionᵢ fun a₁ => b.support.bunionᵢ fun a₂ => {a₁ * a₂} :=
+    (a * b).support ⊆ a.support.biUnion fun a₁ => b.support.biUnion fun a₂ => {a₁ * a₂} :=
   Subset.trans support_sum <|
-    bunionᵢ_mono fun _ _ =>
-      Subset.trans support_sum <| bunionᵢ_mono fun _a₂ _ => support_single_subset
+    biUnion_mono fun _ _ =>
+      Subset.trans support_sum <| biUnion_mono fun _a₂ _ => support_single_subset
 #align monoid_algebra.support_mul MonoidAlgebra.support_mul
 
 theorem support_mul_single [RightCancelSemigroup G] (f : MonoidAlgebra k G) (r : k)
@@ -121,7 +121,7 @@ open Finset Finsupp MulOpposite
 variable {k : Type u₁} {G : Type u₂} [Semiring k]
 
 theorem support_mul [DecidableEq G] [Add G] (a b : AddMonoidAlgebra k G) :
-    (a * b).support ⊆ a.support.bunionᵢ fun a₁ => b.support.bunionᵢ fun a₂ => {a₁ + a₂} :=
+    (a * b).support ⊆ a.support.biUnion fun a₁ => b.support.biUnion fun a₂ => {a₁ + a₂} :=
   @MonoidAlgebra.support_mul k (Multiplicative G) _ _ _ _ _
 #align add_monoid_algebra.support_mul AddMonoidAlgebra.support_mul
 
feat: port Algebra.MonoidAlgebra.Support (#2720)

Dependencies 8 + 376

377 files ported (97.9%)
158043 lines ported (98.1%)
Show graph

The unported dependencies are