Free algebras #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Given a semiring R
and a type X
, we construct the free non-unital, non-associative algebra on
X
with coefficients in R
, together with its universal property. The construction is valuable
because it can be used to build free algebras with more structure, e.g., free Lie algebras.
Note that elsewhere we have a construction of the free unital, associative algebra. This is called
free_algebra
.
Main definitions #
free_non_unital_non_assoc_algebra
free_non_unital_non_assoc_algebra.lift
free_non_unital_non_assoc_algebra.of
Implementation details #
We construct the free algebra as the magma algebra, with coefficients in R
, of the free magma on
X
. However we regard this as an implementation detail and thus deliberately omit the lemmas
of_apply
and lift_apply
, and we mark free_non_unital_non_assoc_algebra
and lift
as
irreducible once we have established the universal property.
Tags #
free algebra, non-unital, non-associative, free magma, magma algebra, universal property, forgetful functor, adjoint functor
The embedding of X
into the free algebra with coefficients in R
.
Equations
The functor X ↦ free_non_unital_non_assoc_algebra R X
from the category of types to the
category of non-unital, non-associative algebras over R
is adjoint to the forgetful functor in the
other direction.