initial algebra

views updated

initial algebra 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 Σ.