### Finite algebraic specifications of semicomputable data types [chapter]

G. Marongiu, S. Tulipani
1987 Lecture Notes in Computer Science
0-I ntroduction For many years computer scientists have looked at data objects in terms of axioms which govern the beilaviour of data structures. Such an attempt is called )~bsL'Lac~ Data Type Spec~c~o,l. Abstraction is involved in the fact that only properties which are independent of data representation are considered. In the algebraic approach, initiated in the paper of LISKOV-ZiLLES , data structures are thought of as algebras in the sense of general algebra (see also [ Zi 79] and
more » ... ifications are given in terms of equations or conditional equations. But, only particular models of the specifying axioms play a special role. Data structures are usually finite, sometimes potentially infinite. Therefore, the significant models of a data type specification E in a signature Z are given by the class Algm(Z,E) whose members are the models of E which are finitely generated by elements named as const_ ants in Z. The initial and final objects in Aigm(Z,E), which are given up to isomorphism, determine the initial and final algebra semantics, respectively. More precisely, assuming that two closed terms t,s of signature Z are given, then, the equation t=s is true when the terms t,s are evaluated in the initial algebra if and only if the formal equation t=s can be proved from E. Moreover, the equation t=s is consistent with E if and only if it is true in the final algebra. Both initial and final algebra semantical approaches have been widely discussed (see [ADJ 75,78,82], ~/a 79], the book ~-M 85]. BERGSTRA and TUCKER [1983 ] c~scussed the problem of characterizing semicom~ utable (cosemicomputable, computable) data types by means of finite conditional specification with hidden functions and no additional sorts plus initial algebra semantics (*) Research performed under the auspices of the Italian CNR and MPI. This is a revised version of previous (unpublished) paper which circulated under the title: Finite Specification of Data Types with extra Operations.