TY - BOOK
T1 - Program Calculation Properties of Continuous Algebras
AU - Fokkinga, M.M.
AU - Meijer, Erik
N1 - Imported from EWI/DB PMS [db-utwente:tech:0000003528]
PY - 1991/1
Y1 - 1991/1
N2 - 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.
AB - 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.
KW - IR-66626
KW - EWI-8201
M3 - Report
T3 - Report / Department of Computer Science
BT - Program Calculation Properties of Continuous Algebras
PB - Centrum voor Wiskunde en Informatica
CY - Amsterdam, The Netherlands
ER -