algebra.lie.non_unital_non_assoc_algebra
⟷
Mathlib.Algebra.Lie.NonUnitalNonAssocAlgebra
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2021 Oliver Nash. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Oliver Nash
-/
-import Algebra.Hom.NonUnitalAlg
+import Algebra.Algebra.NonUnitalHom
import Algebra.Lie.Basic
#align_import algebra.lie.non_unital_non_assoc_algebra from "leanprover-community/mathlib"@"f47581155c818e6361af4e4fda60d27d020c226b"
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2021 Oliver Nash. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Oliver Nash
-/
-import Mathbin.Algebra.Hom.NonUnitalAlg
-import Mathbin.Algebra.Lie.Basic
+import Algebra.Hom.NonUnitalAlg
+import Algebra.Lie.Basic
#align_import algebra.lie.non_unital_non_assoc_algebra from "leanprover-community/mathlib"@"f47581155c818e6361af4e4fda60d27d020c226b"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2021 Oliver Nash. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Oliver Nash
-
-! This file was ported from Lean 3 source module algebra.lie.non_unital_non_assoc_algebra
-! leanprover-community/mathlib commit f47581155c818e6361af4e4fda60d27d020c226b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.Hom.NonUnitalAlg
import Mathbin.Algebra.Lie.Basic
+#align_import algebra.lie.non_unital_non_assoc_algebra from "leanprover-community/mathlib"@"f47581155c818e6361af4e4fda60d27d020c226b"
+
/-!
# Lie algebras as non-unital, non-associative algebras
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -82,17 +82,21 @@ instance : LieRing (CommutatorRing L) :=
instance : LieAlgebra R (CommutatorRing L) :=
show LieAlgebra R L by infer_instance
+#print LieAlgebra.isScalarTower /-
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
reinterpret the `smul_lie` law as an `is_scalar_tower`. -/
instance isScalarTower : IsScalarTower R (CommutatorRing L) (CommutatorRing L) :=
⟨smul_lie⟩
#align lie_algebra.is_scalar_tower LieAlgebra.isScalarTower
+-/
+#print LieAlgebra.smulCommClass /-
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
reinterpret the `lie_smul` law as an `smul_comm_class`. -/
instance smulCommClass : SMulCommClass R (CommutatorRing L) (CommutatorRing L) :=
⟨fun t x y => (lie_smul t x y).symm⟩
#align lie_algebra.smul_comm_class LieAlgebra.smulCommClass
+-/
end LieAlgebra
@@ -100,6 +104,7 @@ namespace LieHom
variable {R L} {L₂ : Type w} [LieRing L₂] [LieAlgebra R L₂]
+#print LieHom.toNonUnitalAlgHom /-
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
regard a `lie_hom` as a `non_unital_alg_hom`. -/
@[simps]
@@ -109,11 +114,14 @@ def toNonUnitalAlgHom (f : L →ₗ⁅R⁆ L₂) : CommutatorRing L →ₙₐ[R]
map_zero' := f.map_zero
map_mul' := f.map_lie }
#align lie_hom.to_non_unital_alg_hom LieHom.toNonUnitalAlgHom
+-/
+#print LieHom.toNonUnitalAlgHom_injective /-
theorem toNonUnitalAlgHom_injective :
Function.Injective (toNonUnitalAlgHom : _ → CommutatorRing L →ₙₐ[R] CommutatorRing L₂) :=
fun f g h => ext <| NonUnitalAlgHom.congr_fun h
#align lie_hom.to_non_unital_alg_hom_injective LieHom.toNonUnitalAlgHom_injective
+-/
end LieHom
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -82,24 +82,12 @@ instance : LieRing (CommutatorRing L) :=
instance : LieAlgebra R (CommutatorRing L) :=
show LieAlgebra R L by infer_instance
-/- warning: lie_algebra.is_scalar_tower -> LieAlgebra.isScalarTower is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], IsScalarTower.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (Mul.toSMul.{u2} (CommutatorRing.{u2} L) (Distrib.toHasMul.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toDistrib.{u2} (CommutatorRing.{u2} L) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3))))))
-but is expected to have type
- forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], IsScalarTower.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toSMulWithZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))))))
-Case conversion may be inaccurate. Consider using '#align lie_algebra.is_scalar_tower LieAlgebra.isScalarTowerₓ'. -/
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
reinterpret the `smul_lie` law as an `is_scalar_tower`. -/
instance isScalarTower : IsScalarTower R (CommutatorRing L) (CommutatorRing L) :=
⟨smul_lie⟩
#align lie_algebra.is_scalar_tower LieAlgebra.isScalarTower
-/- warning: lie_algebra.smul_comm_class -> LieAlgebra.smulCommClass is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], SMulCommClass.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (Mul.toSMul.{u2} (CommutatorRing.{u2} L) (Distrib.toHasMul.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toDistrib.{u2} (CommutatorRing.{u2} L) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2))))
-but is expected to have type
- forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], SMulCommClass.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toSMulWithZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align lie_algebra.smul_comm_class LieAlgebra.smulCommClassₓ'. -/
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
reinterpret the `lie_smul` law as an `smul_comm_class`. -/
instance smulCommClass : SMulCommClass R (CommutatorRing L) (CommutatorRing L) :=
@@ -112,12 +100,6 @@ namespace LieHom
variable {R L} {L₂ : Type w} [LieRing L₂] [LieAlgebra R L₂]
-/- warning: lie_hom.to_non_unital_alg_hom -> LieHom.toNonUnitalAlgHom is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (CommutatorRing.nonUnitalNonAssocSemiring.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (LieRing.toAddCommGroup.{u3} (CommutatorRing.{u3} L₂) (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4))) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5))))
-but is expected to have type
- forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4)) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u3} L₂ _inst_4) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5))))
-Case conversion may be inaccurate. Consider using '#align lie_hom.to_non_unital_alg_hom LieHom.toNonUnitalAlgHomₓ'. -/
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
regard a `lie_hom` as a `non_unital_alg_hom`. -/
@[simps]
@@ -128,12 +110,6 @@ def toNonUnitalAlgHom (f : L →ₗ⁅R⁆ L₂) : CommutatorRing L →ₙₐ[R]
map_mul' := f.map_lie }
#align lie_hom.to_non_unital_alg_hom LieHom.toNonUnitalAlgHom
-/- warning: lie_hom.to_non_unital_alg_hom_injective -> LieHom.toNonUnitalAlgHom_injective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], Function.Injective.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (CommutatorRing.nonUnitalNonAssocSemiring.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (LieRing.toAddCommGroup.{u3} (CommutatorRing.{u3} L₂) (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4))) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5)))) (LieHom.toNonUnitalAlgHom.{u1, u2, u3} R L _inst_1 _inst_2 _inst_3 L₂ _inst_4 _inst_5)
-but is expected to have type
- forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], Function.Injective.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4)) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u3} L₂ _inst_4) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5)))) (LieHom.toNonUnitalAlgHom.{u1, u2, u3} R L _inst_1 _inst_2 _inst_3 L₂ _inst_4 _inst_5)
-Case conversion may be inaccurate. Consider using '#align lie_hom.to_non_unital_alg_hom_injective LieHom.toNonUnitalAlgHom_injectiveₓ'. -/
theorem toNonUnitalAlgHom_injective :
Function.Injective (toNonUnitalAlgHom : _ → CommutatorRing L →ₙₐ[R] CommutatorRing L₂) :=
fun f g h => ext <| NonUnitalAlgHom.congr_fun h
mathlib commit https://github.com/leanprover-community/mathlib/commit/08e1d8d4d989df3a6df86f385e9053ec8a372cc1
@@ -86,7 +86,7 @@ instance : LieAlgebra R (CommutatorRing L) :=
lean 3 declaration is
forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], IsScalarTower.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (Mul.toSMul.{u2} (CommutatorRing.{u2} L) (Distrib.toHasMul.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toDistrib.{u2} (CommutatorRing.{u2} L) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3))))))
but is expected to have type
- forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], IsScalarTower.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toSMulWithZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))))))
+ forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], IsScalarTower.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toSMulWithZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))))))
Case conversion may be inaccurate. Consider using '#align lie_algebra.is_scalar_tower LieAlgebra.isScalarTowerₓ'. -/
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
reinterpret the `smul_lie` law as an `is_scalar_tower`. -/
@@ -98,7 +98,7 @@ instance isScalarTower : IsScalarTower R (CommutatorRing L) (CommutatorRing L) :
lean 3 declaration is
forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], SMulCommClass.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (Mul.toSMul.{u2} (CommutatorRing.{u2} L) (Distrib.toHasMul.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toDistrib.{u2} (CommutatorRing.{u2} L) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2))))
but is expected to have type
- forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], SMulCommClass.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toSMulWithZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)))))
+ forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], SMulCommClass.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toSMulWithZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)))))
Case conversion may be inaccurate. Consider using '#align lie_algebra.smul_comm_class LieAlgebra.smulCommClassₓ'. -/
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
reinterpret the `lie_smul` law as an `smul_comm_class`. -/
@@ -116,7 +116,7 @@ variable {R L} {L₂ : Type w} [LieRing L₂] [LieAlgebra R L₂]
lean 3 declaration is
forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (CommutatorRing.nonUnitalNonAssocSemiring.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (LieRing.toAddCommGroup.{u3} (CommutatorRing.{u3} L₂) (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4))) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5))))
but is expected to have type
- forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4)) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u3} L₂ _inst_4) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5))))
+ forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4)) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u3} L₂ _inst_4) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5))))
Case conversion may be inaccurate. Consider using '#align lie_hom.to_non_unital_alg_hom LieHom.toNonUnitalAlgHomₓ'. -/
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
regard a `lie_hom` as a `non_unital_alg_hom`. -/
@@ -132,7 +132,7 @@ def toNonUnitalAlgHom (f : L →ₗ⁅R⁆ L₂) : CommutatorRing L →ₙₐ[R]
lean 3 declaration is
forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], Function.Injective.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (CommutatorRing.nonUnitalNonAssocSemiring.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (LieRing.toAddCommGroup.{u3} (CommutatorRing.{u3} L₂) (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4))) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5)))) (LieHom.toNonUnitalAlgHom.{u1, u2, u3} R L _inst_1 _inst_2 _inst_3 L₂ _inst_4 _inst_5)
but is expected to have type
- forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], Function.Injective.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4)) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u3} L₂ _inst_4) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5)))) (LieHom.toNonUnitalAlgHom.{u1, u2, u3} R L _inst_1 _inst_2 _inst_3 L₂ _inst_4 _inst_5)
+ forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], Function.Injective.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4)) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u3} L₂ _inst_4) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5)))) (LieHom.toNonUnitalAlgHom.{u1, u2, u3} R L _inst_1 _inst_2 _inst_3 L₂ _inst_4 _inst_5)
Case conversion may be inaccurate. Consider using '#align lie_hom.to_non_unital_alg_hom_injective LieHom.toNonUnitalAlgHom_injectiveₓ'. -/
theorem toNonUnitalAlgHom_injective :
Function.Injective (toNonUnitalAlgHom : _ → CommutatorRing L →ₙₐ[R] CommutatorRing L₂) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/172bf2812857f5e56938cc148b7a539f52f84ca9
@@ -94,17 +94,17 @@ instance isScalarTower : IsScalarTower R (CommutatorRing L) (CommutatorRing L) :
⟨smul_lie⟩
#align lie_algebra.is_scalar_tower LieAlgebra.isScalarTower
-/- warning: lie_algebra.smul_comm_class -> LieAlgebra.sMulCommClass is a dubious translation:
+/- warning: lie_algebra.smul_comm_class -> LieAlgebra.smulCommClass is a dubious translation:
lean 3 declaration is
forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], SMulCommClass.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (Mul.toSMul.{u2} (CommutatorRing.{u2} L) (Distrib.toHasMul.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toDistrib.{u2} (CommutatorRing.{u2} L) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2))))
but is expected to have type
forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], SMulCommClass.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toSMulWithZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align lie_algebra.smul_comm_class LieAlgebra.sMulCommClassₓ'. -/
+Case conversion may be inaccurate. Consider using '#align lie_algebra.smul_comm_class LieAlgebra.smulCommClassₓ'. -/
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
reinterpret the `lie_smul` law as an `smul_comm_class`. -/
-instance sMulCommClass : SMulCommClass R (CommutatorRing L) (CommutatorRing L) :=
+instance smulCommClass : SMulCommClass R (CommutatorRing L) (CommutatorRing L) :=
⟨fun t x y => (lie_smul t x y).symm⟩
-#align lie_algebra.smul_comm_class LieAlgebra.sMulCommClass
+#align lie_algebra.smul_comm_class LieAlgebra.smulCommClass
end LieAlgebra
mathlib commit https://github.com/leanprover-community/mathlib/commit/21e3562c5e12d846c7def5eff8cdbc520d7d4936
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Oliver Nash
! This file was ported from Lean 3 source module algebra.lie.non_unital_non_assoc_algebra
-! leanprover-community/mathlib commit 841ac1a3d9162bf51c6327812ecb6e5e71883ac4
+! leanprover-community/mathlib commit f47581155c818e6361af4e4fda60d27d020c226b
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -14,6 +14,9 @@ import Mathbin.Algebra.Lie.Basic
/-!
# Lie algebras as non-unital, non-associative algebras
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
The definition of Lie algebras uses the `has_bracket` typeclass for multiplication whereas we have a
separate `has_mul` typeclass used for general algebras.
mathlib commit https://github.com/leanprover-community/mathlib/commit/62e8311c791f02c47451bf14aa2501048e7c2f33
@@ -42,6 +42,7 @@ universe u v w
variable (R : Type u) (L : Type v) [CommRing R] [LieRing L] [LieAlgebra R L]
+#print CommutatorRing /-
/-- Type synonym for turning a `lie_ring` into a `non_unital_non_assoc_semiring`.
A `lie_ring` can be regarded as a `non_unital_non_assoc_semiring` by turning its
@@ -49,6 +50,7 @@ A `lie_ring` can be regarded as a `non_unital_non_assoc_semiring` by turning its
def CommutatorRing (L : Type v) : Type v :=
L
#align commutator_ring CommutatorRing
+-/
/-- A `lie_ring` can be regarded as a `non_unital_non_assoc_semiring` by turning its
`has_bracket` (denoted `⁅, ⁆`) into a `has_mul` (denoted `*`). -/
@@ -77,12 +79,24 @@ instance : LieRing (CommutatorRing L) :=
instance : LieAlgebra R (CommutatorRing L) :=
show LieAlgebra R L by infer_instance
+/- warning: lie_algebra.is_scalar_tower -> LieAlgebra.isScalarTower is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], IsScalarTower.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (Mul.toSMul.{u2} (CommutatorRing.{u2} L) (Distrib.toHasMul.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toDistrib.{u2} (CommutatorRing.{u2} L) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3))))))
+but is expected to have type
+ forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], IsScalarTower.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toSMulWithZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))))))
+Case conversion may be inaccurate. Consider using '#align lie_algebra.is_scalar_tower LieAlgebra.isScalarTowerₓ'. -/
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
reinterpret the `smul_lie` law as an `is_scalar_tower`. -/
instance isScalarTower : IsScalarTower R (CommutatorRing L) (CommutatorRing L) :=
⟨smul_lie⟩
#align lie_algebra.is_scalar_tower LieAlgebra.isScalarTower
+/- warning: lie_algebra.smul_comm_class -> LieAlgebra.sMulCommClass is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], SMulCommClass.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toHasSmul.{u1, u2} R (CommutatorRing.{u2} L) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (CommutatorRing.{u2} L) (AddMonoid.toAddZeroClass.{u2} (CommutatorRing.{u2} L) (AddCommMonoid.toAddMonoid.{u2} (CommutatorRing.{u2} L) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (Mul.toSMul.{u2} (CommutatorRing.{u2} L) (Distrib.toHasMul.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toDistrib.{u2} (CommutatorRing.{u2} L) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2))))
+but is expected to have type
+ forall (R : Type.{u1}) (L : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2], SMulCommClass.{u1, u2, u2} R (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (SMulZeroClass.toSMul.{u1, u2} R (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u2} R (CommutatorRing.{u2} L) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (Module.toMulActionWithZero.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u2} (CommutatorRing.{u2} L) (CommutatorRing.{u2} L) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2))) (MulZeroClass.toSMulWithZero.{u2} (CommutatorRing.{u2} L) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align lie_algebra.smul_comm_class LieAlgebra.sMulCommClassₓ'. -/
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
reinterpret the `lie_smul` law as an `smul_comm_class`. -/
instance sMulCommClass : SMulCommClass R (CommutatorRing L) (CommutatorRing L) :=
@@ -95,6 +109,12 @@ namespace LieHom
variable {R L} {L₂ : Type w} [LieRing L₂] [LieAlgebra R L₂]
+/- warning: lie_hom.to_non_unital_alg_hom -> LieHom.toNonUnitalAlgHom is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (CommutatorRing.nonUnitalNonAssocSemiring.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (LieRing.toAddCommGroup.{u3} (CommutatorRing.{u3} L₂) (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4))) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5))))
+but is expected to have type
+ forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) -> (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4)) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u3} L₂ _inst_4) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5))))
+Case conversion may be inaccurate. Consider using '#align lie_hom.to_non_unital_alg_hom LieHom.toNonUnitalAlgHomₓ'. -/
/-- Regarding the `lie_ring` of a `lie_algebra` as a `non_unital_non_assoc_semiring`, we can
regard a `lie_hom` as a `non_unital_alg_hom`. -/
@[simps]
@@ -105,6 +125,12 @@ def toNonUnitalAlgHom (f : L →ₗ⁅R⁆ L₂) : CommutatorRing L →ₙₐ[R]
map_mul' := f.map_lie }
#align lie_hom.to_non_unital_alg_hom LieHom.toNonUnitalAlgHom
+/- warning: lie_hom.to_non_unital_alg_hom_injective -> LieHom.toNonUnitalAlgHom_injective is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], Function.Injective.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommutatorRing.nonUnitalNonAssocSemiring.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (LieRing.toAddCommGroup.{u2} (CommutatorRing.{u2} L) (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2))) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u2} L _inst_2) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (CommutatorRing.nonUnitalNonAssocSemiring.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (LieRing.toAddCommGroup.{u3} (CommutatorRing.{u3} L₂) (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4))) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.CommutatorRing.lieRing.{u3} L₂ _inst_4) (LieAlgebra.CommutatorRing.lieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5)))) (LieHom.toNonUnitalAlgHom.{u1, u2, u3} R L _inst_1 _inst_2 _inst_3 L₂ _inst_4 _inst_5)
+but is expected to have type
+ forall {R : Type.{u1}} {L : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LieRing.{u2} L] [_inst_3 : LieAlgebra.{u1, u2} R L _inst_1 _inst_2] {L₂ : Type.{u3}} [_inst_4 : LieRing.{u3} L₂] [_inst_5 : LieAlgebra.{u1, u3} R L₂ _inst_1 _inst_4], Function.Injective.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LieHom.{u1, u2, u3} R L L₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (NonUnitalAlgHom.{u1, u2, u3} R (CommutatorRing.{u2} L) (CommutatorRing.{u3} L₂) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2) (Module.toDistribMulAction.{u1, u2} R (CommutatorRing.{u2} L) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (CommutatorRing.{u2} L) (instNonUnitalNonAssocSemiringCommutatorRing.{u2} L _inst_2)) (LieAlgebra.toModule.{u1, u2} R (CommutatorRing.{u2} L) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u2} L _inst_2) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u2} R L _inst_1 _inst_2 _inst_3))) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4) (Module.toDistribMulAction.{u1, u3} R (CommutatorRing.{u3} L₂) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (CommutatorRing.{u3} L₂) (instNonUnitalNonAssocSemiringCommutatorRing.{u3} L₂ _inst_4)) (LieAlgebra.toModule.{u1, u3} R (CommutatorRing.{u3} L₂) _inst_1 (LieAlgebra.instLieRingCommutatorRing.{u3} L₂ _inst_4) (LieAlgebra.instLieAlgebraCommutatorRingInstLieRingCommutatorRing.{u1, u3} R L₂ _inst_1 _inst_4 _inst_5)))) (LieHom.toNonUnitalAlgHom.{u1, u2, u3} R L _inst_1 _inst_2 _inst_3 L₂ _inst_4 _inst_5)
+Case conversion may be inaccurate. Consider using '#align lie_hom.to_non_unital_alg_hom_injective LieHom.toNonUnitalAlgHom_injectiveₓ'. -/
theorem toNonUnitalAlgHom_injective :
Function.Injective (toNonUnitalAlgHom : _ → CommutatorRing L →ₙₐ[R] CommutatorRing L₂) :=
fun f g h => ext <| NonUnitalAlgHom.congr_fun h
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Hom
and file name (#8095)
I believe the file defining a type of morphisms belongs alongside the file defining the structure this morphism works on. So I would like to reorganize the files in the Mathlib.Algebra.Hom
folder so that e.g. Mathlib.Algebra.Hom.Ring
becomes Mathlib.Algebra.Ring.Hom
and Mathlib.Algebra.Hom.NonUnitalAlg
becomes Mathlib.Algebra.Algebra.NonUnitalHom
.
While fixing the imports I went ahead and sorted them for good luck.
The full list of changes is: renamed: Mathlib/Algebra/Hom/NonUnitalAlg.lean -> Mathlib/Algebra/Algebra/NonUnitalHom.lean renamed: Mathlib/Algebra/Hom/Aut.lean -> Mathlib/Algebra/Group/Aut.lean renamed: Mathlib/Algebra/Hom/Commute.lean -> Mathlib/Algebra/Group/Commute/Hom.lean renamed: Mathlib/Algebra/Hom/Embedding.lean -> Mathlib/Algebra/Group/Embedding.lean renamed: Mathlib/Algebra/Hom/Equiv/Basic.lean -> Mathlib/Algebra/Group/Equiv/Basic.lean renamed: Mathlib/Algebra/Hom/Equiv/TypeTags.lean -> Mathlib/Algebra/Group/Equiv/TypeTags.lean renamed: Mathlib/Algebra/Hom/Equiv/Units/Basic.lean -> Mathlib/Algebra/Group/Units/Equiv.lean renamed: Mathlib/Algebra/Hom/Equiv/Units/GroupWithZero.lean -> Mathlib/Algebra/GroupWithZero/Units/Equiv.lean renamed: Mathlib/Algebra/Hom/Freiman.lean -> Mathlib/Algebra/Group/Freiman.lean renamed: Mathlib/Algebra/Hom/Group/Basic.lean -> Mathlib/Algebra/Group/Hom/Basic.lean renamed: Mathlib/Algebra/Hom/Group/Defs.lean -> Mathlib/Algebra/Group/Hom/Defs.lean renamed: Mathlib/Algebra/Hom/GroupAction.lean -> Mathlib/GroupTheory/GroupAction/Hom.lean renamed: Mathlib/Algebra/Hom/GroupInstances.lean -> Mathlib/Algebra/Group/Hom/Instances.lean renamed: Mathlib/Algebra/Hom/Iterate.lean -> Mathlib/Algebra/GroupPower/IterateHom.lean renamed: Mathlib/Algebra/Hom/Centroid.lean -> Mathlib/Algebra/Ring/CentroidHom.lean renamed: Mathlib/Algebra/Hom/Ring/Basic.lean -> Mathlib/Algebra/Ring/Hom/Basic.lean renamed: Mathlib/Algebra/Hom/Ring/Defs.lean -> Mathlib/Algebra/Ring/Hom/Defs.lean renamed: Mathlib/Algebra/Hom/Units.lean -> Mathlib/Algebra/Group/Units/Hom.lean
Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Reorganizing.20.60Mathlib.2EAlgebra.2EHom.60
@@ -3,7 +3,7 @@ Copyright (c) 2021 Oliver Nash. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Oliver Nash
-/
-import Mathlib.Algebra.Hom.NonUnitalAlg
+import Mathlib.Algebra.Algebra.NonUnitalHom
import Mathlib.Algebra.Lie.Basic
#align_import algebra.lie.non_unital_non_assoc_algebra from "leanprover-community/mathlib"@"841ac1a3d9162bf51c6327812ecb6e5e71883ac4"
@@ -2,15 +2,12 @@
Copyright (c) 2021 Oliver Nash. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Oliver Nash
-
-! This file was ported from Lean 3 source module algebra.lie.non_unital_non_assoc_algebra
-! leanprover-community/mathlib commit 841ac1a3d9162bf51c6327812ecb6e5e71883ac4
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.Hom.NonUnitalAlg
import Mathlib.Algebra.Lie.Basic
+#align_import algebra.lie.non_unital_non_assoc_algebra from "leanprover-community/mathlib"@"841ac1a3d9162bf51c6327812ecb6e5e71883ac4"
+
/-!
# Lie algebras as non-unital, non-associative algebras
@@ -77,9 +77,9 @@ instance isScalarTower : IsScalarTower R (CommutatorRing L) (CommutatorRing L) :
/-- Regarding the `LieRing` of a `LieAlgebra` as a `NonUnitalNonAssocSemiring`, we can
reinterpret the `lie_smul` law as an `SMulCommClass`. -/
-instance sMulCommClass : SMulCommClass R (CommutatorRing L) (CommutatorRing L) :=
+instance smulCommClass : SMulCommClass R (CommutatorRing L) (CommutatorRing L) :=
⟨fun t x y => (lie_smul t x y).symm⟩
-#align lie_algebra.smul_comm_class LieAlgebra.sMulCommClass
+#align lie_algebra.smul_comm_class LieAlgebra.smulCommClass
end LieAlgebra
The unported dependencies are