Associator in a ring #
If R is a non-associative ring, then (x * y) * z - x * (y * z) is called the associator of
ring elements x y z : R.
The associator vanishes exactly when R is associative.
We prove variants of this statement also for the AddMonoidHom bundled version of the associator,
as well as the bundled version of mulLeft₃ and mulRight₃, the multiplications (x * y) * z and
x * (y * z).
The associator (x * y) * z - x * (y * z)
Instances For
The multiplication (x * y) * z of three elements of a (non-associative)
(semi)-ring is an AddMonoidHom in each argument. See also LinearMap.mulLeftRight for a
related functions realized as a linear map.
Equations
- AddMonoidHom.mulLeft₃ = { toFun := fun (x : R) => AddMonoidHom.mul.comp (AddMonoidHom.mulLeft x), map_zero' := ⋯, map_add' := ⋯ }
Instances For
The multiplication x * (y * z) of three elements of a (non-associative)
(semi)-ring is an AddMonoidHom in each argument.
Equations
- AddMonoidHom.mulRight₃ = { toFun := fun (x : R) => AddMonoidHom.mul.compr₂ (AddMonoidHom.mulLeft x), map_zero' := ⋯, map_add' := ⋯ }
Instances For
An a priori non-associative semiring is associative if the AddMonoidHom versions of
the multiplications (x * y) * z and x * (y * z) agree.
The associator for a non-associative ring is (x * y) * z - x * (y * z). It is an
AddMonoidHom in each argument.
Instances For
An a priori non-associative ring is associative iff the AddMonoidHom version of the
associator vanishes.