Results 1  10
of
15
Relational Properties of Domains
 Information and Computation
, 1996
"... New tools are presented for reasoning about properties of recursively defined domains. We work within a general, categorytheoretic 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 ..."
Abstract

Cited by 102 (5 self)
 Add to MetaCart
New tools are presented for reasoning about properties of recursively defined domains. We work within a general, categorytheoretic 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 userdeclared 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 coinduct...
Bananas in Space: Extending Fold and Unfold to Exponential Types
, 1995
"... Fold and unfold are general purpose functionals for processing and constructing lists. By using the categorical approach of modelling recursive datatypes as fixed points of functors, these functionals and their algebraic properties were generalised from lists to polynomial (sumofproduct) datatypes ..."
Abstract

Cited by 96 (6 self)
 Add to MetaCart
Fold and unfold are general purpose functionals for processing and constructing lists. By using the categorical approach of modelling recursive datatypes as fixed points of functors, these functionals and their algebraic properties were generalised from lists to polynomial (sumofproduct) datatypes. However, the restriction to polynomial datatypes is a serious limitation: it precludes the use of exponentials (functionspaces) , whereas it is central to functional programming that functions are firstclass values, and so exponentials should be able to be used freely in datatype definitions. In this paper we explain how Freyd's work on modelling recursive datatypes as fixed points of difunctors shows how to generalise fold and unfold from polynomial datatypes to those involving exponentials. Knowledge of category theory is not required; we use Gofer throughout as our metalanguage, making extensive use of constructor classes. 1 Introduction During the 1980s, Bird and Meertens [6, 22] d...
Syntactic considerations on recursive types
 In Proceedings of the 11th Annual Symposium on Logic in Computer Science
, 1996
"... Abstract We study recursive types from a syntactic perspective. In particular, we compare the formulations of recursive types that are used in programming languages and formal systems. Our main tool is a new syntactic explanation of type expressions as functors. We also introduce a simple logic for ..."
Abstract

Cited by 32 (0 self)
 Add to MetaCart
Abstract We study recursive types from a syntactic perspective. In particular, we compare the formulations of recursive types that are used in programming languages and formal systems. Our main tool is a new syntactic explanation of type expressions as functors. We also introduce a simple logic for programs with recursive types in which we carry out our proofs. 1 Introduction Recursive types are common in both programming languages and formal systems. By now, there is a deep and welldeveloped semantic theory of recursive types. The syntactic aspects of recursive types are also well understood in some special cases. In particular, there is an important body of knowledge about covariant recursive types, which include datatypes like natural numbers, lists, and trees. Beyond the covariant case, however, the syntactic understanding of recursive types becomes rather spotty. Consequently, the relations between various alternative formulations of recursive types are generally unclear. Furthermore, the syntactic counterparts to some of the most basic semantic results are unknown.
Computational Adequacy via `Mixed' Inductive Definitions
 In Mathematical Foundations of Programming Semantics, Proc. 9th Int. Conf
, 1994
"... . For programming languages whose denotational semantics uses fixed points of domain constructors of mixed variance, proofs of correspondence between operational and denotational semantics (or between two different denotational semantics) often depend upon the existence of relations specified as the ..."
Abstract

Cited by 22 (3 self)
 Add to MetaCart
. For programming languages whose denotational semantics uses fixed points of domain constructors of mixed variance, proofs of correspondence between operational and denotational semantics (or between two different denotational semantics) often depend upon the existence of relations specified as the fixed point of nonmonotonic operators. This paper describes a new approach to constructing such relations which avoids having to delve into the detailed construction of the recursively defined domains themselves. The method is introduced by example, by considering the proof of computational adequacy of a denotational semantics for expression evaluation in a simple, untyped functional programming language. 1 Introduction It is well known that various domain constructors can be extended to act on relations on domains. For example, given binary relations R and S on domains D and E, there is a binary relation R!S on the domain of continuous functions D!E given by: (f; g) 2 (R!S) if and onl...
Solving Recursive Domain Equations with Enriched Categories
, 1994
"... Both preorders and metric spaces have been used at various times as a foundation for the solution of recursive domain equations in the area of denotational semantics. In both cases the central theorem states that a `converging' sequence of `complete' domains/spaces with `continuous' ..."
Abstract

Cited by 21 (0 self)
 Add to MetaCart
Both preorders and metric spaces have been used at various times as a foundation for the solution of recursive domain equations in the area of denotational semantics. In both cases the central theorem states that a `converging' sequence of `complete' domains/spaces with `continuous' retraction pairs between them has a limit in the category of complete domains/spaces with retraction pairs as morphisms. The preorder version was discovered first by Scott in 1969, and is referred to as Scott's inverse limit theorem. The metric version was mainly developed by de Bakker and Zucker and refined and generalized by America and Rutten. The theorem in both its versions provides the main tool for solving recursive domain equations. The proofs of the two versions of the theorem look astonishingly similar, but until now the preconditions for the preorder and the metric versions have seemed to be fundamentally different. In this thesis we establish a more general theory of domains based on the noti...
Specification Structures and PropositionsasTypes for Concurrency
 Logics for Concurrency: Structure vs. AutomataProceedings of the VIIIth Banff Higher Order Workshop, volume 1043 of Lecture Notes in Computer Science
, 1995
"... Many different notions of "property of interest" and methods of verifying such properties arise naturally in programming. A general framework of "Specification Structures" is presented for combining different notions and methods in a coherent fashion. This is then applied to c ..."
Abstract

Cited by 21 (5 self)
 Add to MetaCart
Many different notions of "property of interest" and methods of verifying such properties arise naturally in programming. A general framework of "Specification Structures" is presented for combining different notions and methods in a coherent fashion. This is then applied to concurrency in the setting of Interaction Categories.
A Characterization Of Lambda Definability In Categorical Models Of Implicit Polymorphism
 Theoretical Computer Science
, 1995
"... . Lambda definability is characterized in categorical models of simply typed lambda calculus with type variables. A categorytheoretic framework known as glueing or sconing is used to extend the JungTiuryn characterization of lambda definability [JuT93], first to ccc models, and then to categor ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
. Lambda definability is characterized in categorical models of simply typed lambda calculus with type variables. A categorytheoretic framework known as glueing or sconing is used to extend the JungTiuryn characterization of lambda definability [JuT93], first to ccc models, and then to categorical models of the calculus with type variables. Logical relations are now a wellestablished tool for studying the semantics of various typed lambda calculi. The main lines of research are focused in two areas, the first of which strives for an understanding of Strachey's notion of parametric polymorphism. The main idea is that a parametricly polymorphic function acts independently from the types to which its type variables are instantiated, and that this uniformity may be captured by imposing a relational structure on the types [OHT93, MSd93, MaR91, Wad89, Rey83, Str67]. The other line of research concerns lambda definability and the full abstraction problem for various models of languag...
More Advice on Proving a Compiler Correct: Improve a Correct Compiler
, 1994
"... This paper is a condensed version of the author's PhD thesis [19]. Besides the compiler for the im perative language described in this paper, the thesis derives implementations of a simple functional and a simple logic programming language ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
This paper is a condensed version of the author's PhD thesis [19]. Besides the compiler for the im perative language described in this paper, the thesis derives implementations of a simple functional and a simple logic programming language
An Algebraic View of Structural Induction
 Computer Science Logic 1994, number 933 in Lect. Notes Comp. Sci
, 1994
"... We propose a uniform, categorytheoretic account of structural induction for inductively defined data types. The account is based on the understanding of inductively defined data types as initial algebras for certain kind of endofunctors T : B !B on a bicartesian/distributive category B . Regarding ..."
Abstract

Cited by 9 (5 self)
 Add to MetaCart
We propose a uniform, categorytheoretic account of structural induction for inductively defined data types. The account is based on the understanding of inductively defined data types as initial algebras for certain kind of endofunctors T : B !B on a bicartesian/distributive category B . Regarding a predicate logic as a fibration p : P!B over B , we consider a logical predicate lifting of T to the total category P. Then, a predicate is inductive precisely when it carries an algebra structure for such lifted endofunctor. The validity of the induction principle is formulated by requiring that the `truth' predicate functor ? : B !Ppreserve initial algebras. We then show that when the fibration admits a comprehension principle, analogous to the one in set theory, it satisfies the induction principle. We also consider the appropriate extensions of the above formulation to deal with initiality (and induction) in arbitrary contexts, i.e. the `stability' property of the induction principle. 1...