Finite Algebraic Specifications of Semicomputable Data Types

For many years computer sc ient is ts have looked at data objects in terms of axioms which govern the bei laviour of data s t r uc tu r e s . Such an attempt is called )~bsL'Lac~ Data Type S p e c ~ c ~ o , l . Abstract ion is involved in the fact that only proper t ies which are independent of data representa t ion are considered. In the a lgebraic approach, init iated in the paper of LISKOV-ZiLLES [1974], data s t r uc t u r e s are thought of as a lgebras in the sense of general a lgebra (see also [ Zi 79] and specif icat ions are given in terms of equations or conditional equat ions . But , only par t icu lar models of the spec i fy ing axioms play a special role. Data s t r u c tu r e s are usual ly f ini te , sometimes potent ial ly infini te. There fore , the s ignif icant models of a data type specification E in a s ignature Z are given by the class Algm(Z,E) whose members are the models of E which are f ini te ly genera ted by elements named as const_ ants in Z. The initial and final objects in Aigm(Z,E), which are g iven up to isomorphism, determine the initial and final a lgebra semantics, r espec t ive ly . More prec ise ly , assuming that two closed terms t , s of s igna ture Z are g iven, then , the equation t=s is t rue when the terms t , s are evaluated in the initial a lgebra if and only if the formal equation t=s can be p roved from E. Moreover, the equation t=s is consis tent with E if and only if it is t rue in the final a lgebra . Both initial and final a lgebra semantical approaches have been widely d iscussed (see [ADJ 75,78,82], ~/a 79], the book ~-M 85]. BERGSTRA and TUCKER [1983 ] c~scussed the problem of charac te r iz ing semicom~ utable (cosemicomputable, computable) data types by means of finite conditional specification with hidden funct ions and no additional sor ts plus initial a lgebra semantics