Documentation

LeanPool.CompositionAlgebrasOverRings.Nonassociative.Associator

The associator #

Basic API for the associator ⁅x, y, z⁆ = (x * y) * z - x * (y * z) on a non-unital, non-associative ring: additivity in each argument, behaviour under negation and zero.

⚠ associator is mathlib's, not ours. Mathlib already defines the ring-theoretic associator; we import it and only add the multilinearity API. Do not redefine it. (If a future mathlib bump moves or renames it, fix the import — do not introduce a local copy. See overview §0.)

Main results #

TODO #

References #

@[simp]
theorem associator_add_left {α : Type u} [NonUnitalNonAssocRing α] (x y z w : α) :
associator (x + y) z w = associator x z w + associator y z w
@[simp]
theorem associator_add_mid {α : Type u} [NonUnitalNonAssocRing α] (x y z w : α) :
associator x (y + z) w = associator x y w + associator x z w
@[simp]
theorem associator_add_right {α : Type u} [NonUnitalNonAssocRing α] (x y z w : α) :
associator x y (z + w) = associator x y z + associator x y w
@[simp]
theorem associator_neg_left {α : Type u} [NonUnitalNonAssocRing α] (x y z : α) :
associator (-x) y z = -associator x y z
@[simp]
theorem associator_neg_mid {α : Type u} [NonUnitalNonAssocRing α] (x y z : α) :
associator x (-y) z = -associator x y z
@[simp]
theorem associator_neg_right {α : Type u} [NonUnitalNonAssocRing α] (x y z : α) :
associator x y (-z) = -associator x y z
@[simp]
theorem associator_zero_left {α : Type u} [NonUnitalNonAssocRing α] (y z : α) :
associator 0 y z = 0
@[simp]
theorem associator_zero_mid {α : Type u} [NonUnitalNonAssocRing α] (x z : α) :
associator x 0 z = 0
@[simp]
theorem associator_zero_right {α : Type u} [NonUnitalNonAssocRing α] (x y : α) :
associator x y 0 = 0
theorem associator_eq_zero_iff {α : Type u} [NonUnitalNonAssocRing α] (x y z : α) :
associator x y z = 0 ↔ x * y * z = x * (y * z)

The associator vanishes exactly when the two bracketings agree.