Documentation

A data type representing basis elements of the tensor algebra over a set/type.
Elements of the tensor algebra are linear combinations of iterated tensor products of elements of the set/type.
If V = Vect k a is the free vector space over a, then the tensor algebra T(V) = Vect k (TensorAlgebra a) is isomorphic
to the infinite direct sum:

Given vector spaces A = Vect k a, B = Vect k b, where B is also an algebra,
lift a linear map f: A -> B to an algebra morphism f': T(A) -> B,
where T(A) is the tensor algebra Vect k (TensorAlgebra a).
f' will agree with f on A itself (considered as a subspace of T(A)).
In other words, f = f' . injectTA

Given a set/type A/a, and a vector space B = Vect k b, where B is also an algebra,
lift a function f: A -> B to an algebra morphism f': T(A) -> B.
f' will agree with f on A itself. In other words, f = f' . injectTA'

If we compose the free vector space functor Set -> k-Vect with the tensor algebra functor k-Vect -> k-Alg,
we obtain a functor Set -> k-Alg, the free algebra functor.
The action on objects is a -> Vect k (TensorAlgebra a).
The action on arrows is f -> fmapTA' f.

A data type representing basis elements of the symmetric algebra over a set/type.
The symmetric algebra is the quotient of the tensor algebra by
the ideal generated by all
differences of products u⊗v - v⊗u.

A data type representing basis elements of the exterior algebra over a set/type.
The exterior algebra is the quotient of the tensor algebra by
the ideal generated by all
self-products u⊗u and sums of products u⊗v + v⊗u