Results 11 - 20
of
114
On the Foundations of Final Semantics: Non-Standard Sets, Metric Spaces, Partial Orders
- PROCEEDINGS OF THE REX WORKSHOP ON SEMANTICS: FOUNDATIONS AND APPLICATIONS, VOLUME 666 OF LECTURE NOTES IN COMPUTER SCIENCE
, 1998
"... Canonical solutions of domain equations are shown to be final coalgebras, not only in a category of non-standard sets (as already known), but also in categories of metric spaces and partial orders. Coalgebras are simple categorical structures generalizing the notion of post-fixed point. They are ..."
Abstract
-
Cited by 47 (10 self)
- Add to MetaCart
Canonical solutions of domain equations are shown to be final coalgebras, not only in a category of non-standard sets (as already known), but also in categories of metric spaces and partial orders. Coalgebras are simple categorical structures generalizing the notion of post-fixed point. They are also used here for giving a new comprehensive presentation of the (still) non-standard theory of non-well-founded sets (as non-standard sets are usually called). This paper is meant to provide a basis to a more general project aiming at a full exploitation of the finality of the domains in the semantics of programming languages --- concurrent ones among them. Such a final semantics enjoys uniformity and generality. For instance, semantic observational equivalences like bisimulation can be derived as instances of a single `coalgebraic' definition (introduced elsewhere), which is parametric of the functor appearing in the domain equation. Some properties of this general form of equivalence are also studied in this paper.
Presheaf Models for Concurrency
, 1999
"... In this dissertation we investigate presheaf models for concurrent computation. Our aim is to provide a systematic treatment of bisimulation for a wide range of concurrent process calculi. Bisimilarity is defined abstractly in terms of open maps as in the work of Joyal, Nielsen and Winskel. Their wo ..."
Abstract
-
Cited by 43 (19 self)
- Add to MetaCart
In this dissertation we investigate presheaf models for concurrent computation. Our aim is to provide a systematic treatment of bisimulation for a wide range of concurrent process calculi. Bisimilarity is defined abstractly in terms of open maps as in the work of Joyal, Nielsen and Winskel. Their work inspired this thesis by suggesting that presheaf categories could provide abstract models for concurrency with a built-in notion of bisimulation. We show how
A Co-induction Principle for Recursively Defined Domains
- Theoretical Computer Science
"... This paper establishes a new property of predomains recursively defined using the cartesian product, disjoint union, partial function space and convex powerdomain constructors. We prove that the partial order on such a recursive predomain D is the greatest fixed point of a certain monotone operator ..."
Abstract
-
Cited by 39 (3 self)
- Add to MetaCart
This paper establishes a new property of predomains recursively defined using the cartesian product, disjoint union, partial function space and convex powerdomain constructors. We prove that the partial order on such a recursive predomain D is the greatest fixed point of a certain monotone operator associated to D. This provides a structurally defined family of proof principles for these recursive predomains: to show that one element of D approximates another, it suffices to find a binary relation containing the two elements that is a post-fixed point for the associated monotone operator. The statement of the proof principles is independent of any of the various methods available for explicit construction of recursive predomains. Following Milner and Tofte [10], the method of proof is called co-induction. It closely resembles the way bisimulations are used in concurrent process calculi [9]. Two specific instances of the co-induction principle already occur in work of Abramsky [2, 1] i...
A Coinduction Principle for Recursive Data Types Based on Bisimulation
, 1996
"... This paper provides foundations for a reasoning principle (coinduction) for establishing the equality of potentially infinite elements of self-referencing (or circular) data types. As it is well-known, such data types not only form the core of the denotational approach to the semantics of programmin ..."
Abstract
-
Cited by 37 (3 self)
- Add to MetaCart
This paper provides foundations for a reasoning principle (coinduction) for establishing the equality of potentially infinite elements of self-referencing (or circular) data types. As it is well-known, such data types not only form the core of the denotational approach to the semantics of programming languages [SS71], but also arise explicitly as recursive data types in functional programming languages like Standard ML [MTH90] or Haskell [HPJW92]. In the latter context, the coinduction principle provides a powerful technique for establishing the equality of programs with values in recursive data types (see examples herein and in [Pit94]).
Domain Theoretic Models Of Polymorphism
, 1989
"... We give an illustration of a construction useful in producing and describing models of Girard and Reynolds' polymorphic -calculus. The key unifying ideas are that of a Grothendieck fibration and the category of continuous sections associated with it, constructions used in indexed category theory; th ..."
Abstract
-
Cited by 33 (2 self)
- Add to MetaCart
We give an illustration of a construction useful in producing and describing models of Girard and Reynolds' polymorphic -calculus. The key unifying ideas are that of a Grothendieck fibration and the category of continuous sections associated with it, constructions used in indexed category theory; the universal types of the calculus are interpreted as the category of continuous sections of the fibration. As a major example a new model for the polymorphic -calculus is presented. In it a type is interpreted as a Scott domain. In fact, understanding universal types of the polymorphic -calculus as categories of continuous sections appears to be useful generally. For example, the technique also applies to the finitary projection model of Bruce and Longo, and a recent model of Girard. (Indeed the work here was inspired by Girard's and arose through trying to extend the construction of his model to Scott domains.) It is hoped that by pin-pointing a key construction this paper will help towards...
A Semantics of Object Types
- Proc. IEEE Symposium on Logic in Computer Science
, 1994
"... : We give a semantics for a typed object calculus, an extension of System F with object subsumption and method override. We interpret the calculus in a per model, proving the soundness of both typing and equational rules. This semantics suggests a syntactic translation from our calculus into a simpl ..."
Abstract
-
Cited by 33 (7 self)
- Add to MetaCart
: We give a semantics for a typed object calculus, an extension of System F with object subsumption and method override. We interpret the calculus in a per model, proving the soundness of both typing and equational rules. This semantics suggests a syntactic translation from our calculus into a simpler calculus with neither subtyping nor objects. 1. Objects, Records, and Functions Despite the many formal accounts of object-oriented languages, the meaning and the properties of object types remain unclear. In particular, the soundness of object subtyping depends on invariants difficult to capture with standard type constructions; attempts based on record types have been inspiring but not compelling. In order to study object types in a clear setting, we give semantics to an extension of Girard's System F [Girard, Lafont, Taylor 1989] with subtyping, recursion, and some basic object constructs. Like all common object-oriented languages, this calculus supports object subsumption and metho...
Shapely Types and Shape Polymorphism
- Programming Languages and Systems - ESOP '94: 5th European Symposium on Programming
, 1994
"... . Shapely types separate data, represented by lists, from shape, or structure. This separation supports shape polymorphism, where operations are defined for arbitrary shapes, and shapely operations, for which the shape of the result is determined by that of the input, permitting static shape checkin ..."
Abstract
-
Cited by 32 (6 self)
- Add to MetaCart
. Shapely types separate data, represented by lists, from shape, or structure. This separation supports shape polymorphism, where operations are defined for arbitrary shapes, and shapely operations, for which the shape of the result is determined by that of the input, permitting static shape checking. They include both arrays and the usual algebraic types (of trees, graphs, etc.), and are closed under the formation of initial algebras. 1 Introduction Consider the operation map which applies a function to each element of a list. In existing functional languages, its type is (ff!fi)!ff list!fi list where ff and fi may range over any types. This data polymorphism allows the data (ff and fi) to vary, but uses a fixed shape, list. Shape polymorphism fixes the data, but allows the shape to vary, so that, for types A and B, instances of map include (A!B)!A tree!B tree and (A!B)!A matrix!B matrix In each case map(f) applies f to the data (the leaves or entries), while leaving the shape fi...
On the Foundations of Final Coalgebra Semantics: non-well-founded sets, partial orders, metric spaces
, 1998
"... ..."
Region Analysis and the Polymorphic Lambda Calculus
- In Proc. of the 14th Annual IEEE Symposium on Logic in Computer Science
, 1999
"... We show how to translate the region calculus of Tofte and Talpin, a typed lambda calculus that can statically delimit the lifetimes of objects, into an extension of the polymorphic lambda calculus called F # . We give a denotational semantics of F # , and use it to give a simple and abstract proof o ..."
Abstract
-
Cited by 28 (0 self)
- Add to MetaCart
We show how to translate the region calculus of Tofte and Talpin, a typed lambda calculus that can statically delimit the lifetimes of objects, into an extension of the polymorphic lambda calculus called F # . We give a denotational semantics of F # , and use it to give a simple and abstract proof of the correctness of memory deallocation. 1 Introduction Implementations of modern programming languages divide dynamically allocated memory into two parts. The stack is used for data that has a simple last-in, first-out lifetime determined by block structure; the other part (often called the heap) is used for data whose lifetime extends beyond the scope of program blocks. The heap is periodically "garbage collected" to reclaim memory that is no longer needed. Tofte and Talpin's region calculus [23] attempts to unify these two styles of memory management. The region calculus divides memory into regions, and provides a local scoping mechanism for those regions. Every value created by the pro...
Semantical Principles in the Modal Logic of Coalgebraic
"... Coalgebras for a functor on the category of sets subsume many formulations of the notion of transition system, including labelled transition systems, Kripke models, Kripke frames and many types of automata. This paper presents a multimodal language which is bisimulation invariant and (under a natur ..."
Abstract
-
Cited by 27 (6 self)
- Add to MetaCart
Coalgebras for a functor on the category of sets subsume many formulations of the notion of transition system, including labelled transition systems, Kripke models, Kripke frames and many types of automata. This paper presents a multimodal language which is bisimulation invariant and (under a natural completeness condition) expressive enough to characterise elements of the underlying state space up to bisimulation. Like Moss' coalgebraic logic, the theory can be applied to an arbitrary signature functor on the category of sets. Also, an upper bound for the size of conjunctions and disjunctions needed to obtain characteristic formulas is given.

