Program Calculation Properties of Continuous Algebras

Maarten M. Fokkinga, Erik Meijer

Research output: Book/ReportReportOther research output

153 Downloads (Pure)


Defining data types as initial algebras, or dually as final co-algebras, is beneficial, if not indispensible, for an algebraic calculus for program construction, in view of the nice equational properties that then become available. It is not hard to render finite lists as an initial algebra and, dually, infinite lists as a final co-algebra. However, this would mean that there are two distinct data types for lists, and then a program that is applicable to both finite and infinite lists is not possible, and arbitrary recursive definitions are not allowed. We prove the existence of algebras that are both initial in one category of algebras and final in the closely related category of co-algebras, and for which arbitrary (continuous) fixed point definitions ("recursion") do have a solution. Thus there is a single data type that comprises both the finite and the infinite lists. The price to be paid, however, is that partiality (of functions and values) is unavoidable. We derive, for any such data type, various laws that are useful for an algebraic calculus of programs.
Original languageEnglish
Place of PublicationAmsterdam, The Netherlands
PublisherCentrum voor Wiskunde en Informatica
Number of pages47
Publication statusPublished - Jan 1991

Publication series

NameReport / Department of Computer Science


Dive into the research topics of 'Program Calculation Properties of Continuous Algebras'. Together they form a unique fingerprint.

Cite this