Relational Properties of Domains

Abstract New tools are presented for reasoning about properties of recursively defined domains. We work within a general, category-theoretic framework for various notions of “relation” on domains and for actions of domain constructors on relations. Freyd's analysis of recursive types in terms of a property of mixed initiality/finality is transferred to a corresponding property of invariant relations. The existence of invariant relations is proved under completeness assumptions about the notion of relation. We show how this leads to simpler proofs of the computational adequacy of denotational semantics for functional programming languages with user-declared datatypes. We show how the initiality/finality property of invariant relations can be specialized to yield an induction principle for admissible subsets of recursively defined domains, generalizing the principle of structural induction for inductively defined sets. We also show how the initiality/finality property gives rise to the co-induction principle studied by the author. [ Theoret. Comput. Sci. 124 , 195–219 (1994)], by which equalities between elements of recursively defined domains may be proved via an appropriate notion of “bisimulation.”

[1]  Marcelo P. Fiore,et al.  A coinduction principle for recursive data types based on bisimulation , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[2]  Jan J. M. M. Rutten A Strucutral Co-Induction Theorem , 1993, MFPS.

[3]  John C. Reynolds,et al.  Types, Abstraction and Parametric Polymorphism , 1983, IFIP Congress.

[4]  Glynn Winskel,et al.  The formal semantics of programming languages - an introduction , 1993, Foundation of computing series.

[5]  Robert Milne The Formal Semantics of Computer Languages and their Implementations , 1974 .

[6]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[7]  Glynn Winskel,et al.  Using Information Systems to Solve Recursive Domain Equations , 1991, Inf. Comput..

[8]  Albert R. Meyer,et al.  Semantical paradigms: notes for an invited lecture , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[9]  Christopher P. Wadsworth,et al.  The Relation Between Computational and Denotational Properties for Scott's Dinfty-Models of the Lambda-Calculus , 1976, SIAM J. Comput..

[10]  Harold T. Hodes,et al.  The | lambda-Calculus. , 1988 .

[11]  Martín Abadi,et al.  Formal parametric polymorphism , 1993, POPL '93.

[12]  C.-H. Luke Ong,et al.  Full Abstraction in the Lazy Lambda Calculus , 1993, Inf. Comput..

[13]  David A. Schmidt,et al.  Mathematical Foundations of Programming Language Semantics , 1987, Lecture Notes in Computer Science.

[14]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[15]  Andrew M. Pitts,et al.  Computational Adequacy via "Mixed" Inductive Definitions , 1993, MFPS.

[16]  Martín Abadi,et al.  A Logic for Parametric Polymorphism , 1993, TLCA.

[17]  Andrew M. Pitts,et al.  Relational properties of recursively defined domains , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[18]  Gordon D. Plotkin,et al.  A Powerdomain Construction , 1976, SIAM J. Comput..

[19]  Lawrence C. Paulson,et al.  Co-induction and co-recursion in higher-order logic , 1993 .

[20]  Samson Abramsky,et al.  A Domain Equation for Bisimulation , 1991, Inf. Comput..

[21]  WadlerPhilip,et al.  Report on the programming language Haskell , 1992 .

[22]  Andrew M. Pitts,et al.  A co-Induction Principle for Recursively Defined Domains , 1994, Theor. Comput. Sci..

[23]  Roy L. Crole,et al.  New Foundations for Fixpoint Computations: FIX-Hyperdoctrines and the FIX-Logic , 1992, Inf. Comput..

[24]  Carl A. Gunter Semantics of programming languages: structures and techniques , 1993, Choice Reviews Online.

[25]  Gordon D. Plotkin,et al.  The category-theoretic solution of recursive domain equations , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[26]  John C. Reynolds,et al.  On the Relation between Direct and Continuation Semantics , 1974, ICALP.