## Quick Reference

An algebra *A*, from some class of algebras *C*, such that for every algebra *B* in *C* there is a unique homomorphism from *A* to *B*. Such an algebra is said to be initial in the class *C* or, more precisely, initial in the category that has all the algebras in *C* as its objects and all the homomorphisms between them as its morphisms. Depending on the choice of *C*, there may or may not exist initial algebras; however if any do exist they will all be isomorphic to each other. If *C* is the class *Alg*(Σ, *E*) of all Σ-algebras satisfying a set *E* of equations or conditional equations, then *C* has an initial algebra. If the set *E* is recursive enumerable then the initial algebra is **semicomputable**.

Initial algebras have importance for the semantics of programming languages, abstract data types, and algebraic specifications. Of particular significance is the fact that, in the class of all Σ-algebras for a given signature Σ, an initial algebra is given by the terms or trees over Σ; this is often called the term algebra for Σ.

*Subjects:*
Computing.