 (Since the concept of a term algebra can seem a little circular in places, a more detailed account may clarify the concept. Given the language of \(C\), meaning the operation symbols and constant symbols common to the algebras of \(C\), along with a set \(X\) of variables, we first form the underlying set of the algebra, and then interpret the symbols of the language as operations on and values in that set. The set itself consists of the terms built in the usual way from those variables and constant symbols using the operation symbols; in that sense these elements are syntactic. But now we change our point of view by treating those elements as semantic, and we look to the constant symbols and operation symbols of the language as syntactic entities needing to be interpreted in this semantic domain (albeit of terms) in order to turn this set of terms into an algebra of terms. We interpret each constant symbol as itself. And we interpret each \(n\)-ary operation symbol \(f\) as the \(n\)-ary operation that takes any \(n\) terms \(t_1 , \ldots ,t_n\) as its \(n\) arguments and returns the single term \(f(t_1 , \ldots ,t_n)\). Note that this interpretation of \(f\) only returns a term, it does not actually build it. All term building was completed when we produced the underlying set of the algebra.)