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.