1.1.1. Universal Algebra and Algebraic Specifications:

We consider a morphism *ϕ* : (Σ, *E*) → (Σ , *E* ) between two equational specifications, i.e., a signature morphism *ϕ* : Σ → Σ such that the set *E* of Σ -equations entails the set *ϕ*(*E*) of translated Σ-equations. For any (Σ, *E*)-algebra A there is a (Σ , *E* )-algebra F*ϕ*(A) freely generated by A along *ϕ*. The construction of F*ϕ*(A) can be described in four steps: (1) Construct a "syntactic encoding" of A; (2) Translate this syntactic encoding along the signature morphism *ϕ*; (3) Use semantic entailment or a deduction calculus to extend the translated encoding of A to a syntactic encoding of a (Σ , *E* )-algebra; and (4) Transform the extended encoding into a (Σ , *E* )-algebra F*ϕ*(A).

There is a widely-used technique to encode a Σ-algebra A syntactically (see, for example, [1]): The elements of the carrier *A* of A are added as auxiliary constants to the signature Σ and the complete behaviour of the operations in A is encoded by a set *<sup>R</sup>*<sup>A</sup> of ground (<sup>Σ</sup> + *<sup>A</sup>*)-equations. To make the construction of free algebras work, we have to extend (Σ , *E* ) and *ϕ*, in such a way that we obtain a signature morphisms *<sup>ϕ</sup>*<sup>A</sup> : (<sup>Σ</sup> + *<sup>A</sup>*, *<sup>E</sup>* + *<sup>R</sup>*A) → (<sup>Σ</sup> + *<sup>ϕ</sup>*(*A*), *<sup>E</sup>* + *<sup>ϕ</sup>*(*R*A)) and F*ϕ*(A) is constructed as a quotient of the ground (Σ + *ϕ*(*A*))-term algebra T<sup>Σ</sup> <sup>+</sup>*ϕ*(*A*)(∅).

In abstract model theory, this technique is reflected by the idea to define variables by means of signature extensions. (In this paper, we use the term "model" in two conflicting meanings: A "software model", e.g., is a syntactic representation of (certain properties) of a software system (semantic structure) while a "model" in logic is a semantic structure conforming to a formal syntactic description). This is the traditional approach in the theory of institutions (compare [2]). Note that this only works if the signatures in question comprise the concept of operation!

We perceive the above outlined technique in Universal Algebra as not fully adequate. The construction of free algebras becomes unnecessarily involved and we are, unfortunately, forced to work with infinite signatures since there is a kind of circularity in the sense that signatures have to be defined in such a way that the carrier of any potential Σ-algebra for any signature Σ can be encoded by a signature extension of Σ. Somehow, the concept of signature is not a "syntactic" one anymore. In our humble opinion, signatures are (or should be) located on a conceptual level above carriers of algebras. Following the principle of separation of concerns, we would therefore formulate the following first requirement for our framework.

#### Requirement 1: Define signatures independent of and prior to carriers of algebras.

Adhering to Requirement 1, we will be allowed, for example, to base a specification formalism on finite or enumerable signatures only! Another observation is that signatures are always given by sets, thus we have to adhere to Requirement 1 if we want to work with algebras where the carriers are graphs instead of sets, for example [3].

Generalizing the concept of a group generated by a set of generators and a set of defining relations the small school on Partial Algebraic Specifications in former East-Germany [4–7] developed the concept of a partial (Σ, *CEE*)-algebra F(Σ, *CEE*, *X*, *R*) freely generated by a set *X* of variables (generators) and a set *R* of Σ-equations on *X* where *CEE* is a set of conditional existence Σ-equations. Based on this concept, a fully-fledged theory

of Partial Algebraic Specifications, including free functor semantics as well as limits and colimits of signatures, specifications and partial algebras, resp., has been developed [6].

We consider here the case of total algebras. Any (Σ, *CE*)-algebra A is isomorphic to F(Σ, *CE*, *<sup>A</sup>*, *<sup>R</sup>*A), which, in turn, is isomorphic to F(Σ, <sup>∅</sup>, *<sup>A</sup>*, *<sup>R</sup>*A) since *<sup>R</sup>*<sup>A</sup> also encodes the fact that A satisfies all the conditional equations in *CE*. However, there may be other, hopefully finite, sets *X* and *R* such that A ∼= F(Σ, *CE*, *X*, *R*). For any such syntactic representation (*X*, *R*) of a (Σ, *CE*)-algebra A and any specification morphism *ϕ* : (Σ, *CE*) → (Σ , *CE* ), we can construct the free algebra F*ϕ*(A) as the Σ -algebra F(Σ , *CE* , *ϕ*(*X*), *ϕ*(*R*)), which is a quotient of the Σ -term algebra T<sup>Σ</sup> (*ϕ*(*X*)).

Freely generated algebras also play a crucial role in proving the completeness of the deduction calculus for conditional equations [6,7]: A deduction rule generates new equations from a set of given equations. Any conditional equation can be transformed into a deduction rule and vice versa. Given (*X*, *R*), the deduction calculus generates the smallest Σ-congruence *C*(Σ, *CE*, *X*, *R*) in TΣ(*X*) which contains (*X*, *R*) and is closed w.r.t. the rules arising from *CE*. We consider the quotient Σ-term algebra F(Σ, *CE*, *X*, *R*) = TΣ(*X*)/*C*(Σ, *CE*, *X*, *R*). For any Σ-algebra A we have A ∼= TΣ(*A*)/*ker*(*id*<sup>∗</sup> *<sup>A</sup>*) for the Σ-homomorphism *id*<sup>∗</sup> *<sup>A</sup>* : TΣ(*A*) → A, and it can be shown that A satisfies a set *CE* of conditional equations if, and only if, the kernel *ker*(*id*∗ *<sup>A</sup>*) is closed under the deduction rules arising from *CE*. This insures that F(Σ, *CE*, *X*, *R*) is a (Σ, *CE*)-algebra. To show the completeness of the deduction calculus, we only have to prove that F(Σ, *CE*, *X*, *R*) is indeed freely generated by (*X*, *R*). Note that we work here with a kind of semantic deduction theorem: A set *CE* of conditional equations entails a conditional equation (*X* : *R* → *t* = *t* ) if, and only if, (*t*, *t* ) ∈ *C*(Σ, *CE*, *X*, *R*).

In the East-German school of Algebraic Specifications, we do have syntactic representations (*A*, *<sup>R</sup>*A), (*X*, *<sup>R</sup>*) of <sup>Σ</sup>-algebras which are well distinguished from signatures and algebras, respectively. At the same time, deduction means the step-wise generation of the congruence relations *C*(Σ, *CE*, *X*, *R*) starting with (*X*, *R*). In [7], we describe these congruence relations, for example, as fixed points of so-called derivation operators describing the effect of parallel one-step applications of deduction rules. We are convinced that the definition of any specification formalism would benefit if it includes a separated "technological layer" where the syntactic representations of semantic structures live and where we can describe the effects of deduction explicitly and in detail.

Requirement 2: Define a separated technological layer where the syntactic representations of semantic structures live and where deduction takes place.

Looking back, we have been left, after all the years, with two related questions:

Question 1: Is there a general principle behind the one-to-one correspondence between conditional equations and deduction rules?

Question 2: Is there indeed a kind of general semantic deduction theorem behind the equivalence between entailment of conditional equations and entailment of equations?

We hope that our framework will enable us to give satisfactory answers.
