Results 1 - 10
of
140
Domain Theory
- Handbook of Logic in Computer Science
, 1994
"... Least fixpoints as meanings of recursive definitions. ..."
Abstract
-
Cited by 402 (19 self)
- Add to MetaCart
Least fixpoints as meanings of recursive definitions.
The Lazy Lambda Calculus
- Research Topics in Functional Programming
, 1990
"... Introduction The commonly accepted basis for functional programming is the -calculus; and it is folklore that the -calculus is the prototypical functional language in puri ed form. But what is the -calculus? The syntax is simple and classical; variables, abstraction and application in the pure cal ..."
Abstract
-
Cited by 218 (3 self)
- Add to MetaCart
Introduction The commonly accepted basis for functional programming is the -calculus; and it is folklore that the -calculus is the prototypical functional language in puri ed form. But what is the -calculus? The syntax is simple and classical; variables, abstraction and application in the pure calculus, with applied calculi obtained by adding constants. The further elaboration of the theory, covering conversion, reduction, theories and models, is laid out in Barendregt's already classical treatise [Bar84]. It is instructive to recall the following crux, which occurs rather early in that work (p. 39): Meaning of -terms: rst attempt The meaning of a -term is its normal form (if it exists). All terms without normal forms are identi ed. This proposal incorporates such a simple and natural interpretation of the -calculus as
New Foundations for the Geometry of Interaction
- Information and Computation
, 1993
"... this paper, we present a new formal embodiment of Girard's programme, with the following salient features. 1. Our formalisation is based on elementary Domain Theory rather than C --algebras. It exposes precisely what structure is required of the ambient category in order to carry out the interpret ..."
Abstract
-
Cited by 69 (20 self)
- Add to MetaCart
this paper, we present a new formal embodiment of Girard's programme, with the following salient features. 1. Our formalisation is based on elementary Domain Theory rather than C --algebras. It exposes precisely what structure is required of the ambient category in order to carry out the interpretation. Furthermore, we show how the interpretation arises from the construction of a categorical model of Linear Logic; this provides the basis for a rational reconstruction which makes the structure of the interpretation much easier to understand. 2. The key definitions in our interpretation differ from Girard's. Most notably, we replace the "execution formula" by a least fixpoint, essentially a generalisation of Kahn's semantics for feedback in dataflow networks [Kah77, KM77]. This, coupled with the use of the other distinctive construct of Domain theory, the lifting monad, enables us to interpret the whole of Linear Logic, and to prove soundness in full generality. 3. Our general notion of interpretation has simple examples, providing a suitable basis for concrete implementations. In fact, we sketch a computational interpretation of the Geometry of Interaction in terms of dataflow networks. Recall that computation in dataflow networks is asynchronous, i.e. "no global time", and proceeds by purely local "firing rules" that manipulate tokens. The further structure of this paper is as follows. In Section 2, we review the syntax of Linear Logic, and present the basic, and quite simple intuitions underlying the interpretation. In Section 3, we use these ideas to construct models of Linear Logic. In Section 4 we define the Geometry of Interaction interpretations, and how that they arise from the model constructed previously in a natural fashion. In Section 5, we give a computati...
Proving Concurrent Constraint Programs Correct
, 1994
"... We develop a compositional proof-system for the partial correctness of concurrent constraint programs. Soundness and (relative) completeness of the system are proved with respect to a denotational semantics based on the notion of strongest postcondition. The strongest postcondition semantics provide ..."
Abstract
-
Cited by 52 (13 self)
- Add to MetaCart
We develop a compositional proof-system for the partial correctness of concurrent constraint programs. Soundness and (relative) completeness of the system are proved with respect to a denotational semantics based on the notion of strongest postcondition. The strongest postcondition semantics provides a justification of the declarative nature of concurrent constraint programs, since it allows to view programs as theories in the specification logic. 1 Introduction Concurrent constraint programming ([24, 25, 26]) (ccp, for short) is a concurrent programming paradigm which derives from replacing the store-as-valuation conception of von Neumann computing by the storeas -constraint model. Its computational model is based on a global store, represented by a constraint, which expresses some partial information on the values of the variables involved in the computation. The concurrent execution of different processes, which interact through the common store, refines the partial information of...
A Variable Typed Logic of Effects
- Information and Computation
, 1993
"... In this paper we introduce a variable typed logic of effects inspired by the variable type systems of Feferman for purely functional languages. VTLoE (Variable Typed Logic of Effects) is introduced in two stages. The first stage is the first-order theory of individuals built on assertions of equalit ..."
Abstract
-
Cited by 45 (11 self)
- Add to MetaCart
In this paper we introduce a variable typed logic of effects inspired by the variable type systems of Feferman for purely functional languages. VTLoE (Variable Typed Logic of Effects) is introduced in two stages. The first stage is the first-order theory of individuals built on assertions of equality (operational equivalence `a la Plotkin), and contextual assertions. The second stage extends the logic to include classes and class membership. The logic we present provides an expressive language for defining and studying properties of programs including program equivalences, in a uniform framework. The logic combines the features and benefits of equational calculi as well as program and specification logics. In addition to the usual first-order formula constructions, we add contextual assertions. Contextual assertions generalize Hoare's triples in that they can be nested, used as assumptions, and their free variables may be quantified. They are similar in spirit to program modalities in ...
Domains for Computation in Mathematics, Physics and Exact Real Arithmetic
- Bulletin of Symbolic Logic
, 1997
"... We present a survey of the recent applications of continuous domains for providing simple computational models for classical spaces in mathematics including the real line, countably based locally compact spaces, complete separable metric spaces, separable Banach spaces and spaces of probability dist ..."
Abstract
-
Cited by 42 (10 self)
- Add to MetaCart
We present a survey of the recent applications of continuous domains for providing simple computational models for classical spaces in mathematics including the real line, countably based locally compact spaces, complete separable metric spaces, separable Banach spaces and spaces of probability distributions. It is shown how these models have a logical and effective presentation and how they are used to give a computational framework in several areas in mathematics and physics. These include fractal geometry, where new results on existence and uniqueness of attractors and invariant distributions have been obtained, measure and integration theory, where a generalization of the Riemann theory of integration has been developed, and real arithmetic, where a feasible setting for exact computer arithmetic has been formulated. We give a number of algorithms for computation in the theory of iterated function systems with applications in statistical physics and in period doubling route to chao...
Strictness Analysis in Logical Form
, 1991
"... This paper presents a framework for comparing two strictness analysis techniques: Abstract interpretation and non--standard type inference. The comparison is based on the representation of a lattice by its ideals. A formal system for deducing inclusions between ideals of a lattice is presented and p ..."
Abstract
-
Cited by 42 (2 self)
- Add to MetaCart
This paper presents a framework for comparing two strictness analysis techniques: Abstract interpretation and non--standard type inference. The comparison is based on the representation of a lattice by its ideals. A formal system for deducing inclusions between ideals of a lattice is presented and proved sound and complete. Viewing the ideals as strictness properties we use the formal system to define a program logic for deducing strictness properties of expressions in a typed lambda calculus. This strictness logic is shown to be sound and complete with respect to the abstract interpretation, which establishes the main result that strictness analysis by type--inference and by abstract interpretation are equally powerful techniques. 1 Introduction Abstract interpretation is a well--established technique for static analysis of programs. Its virtue is its strong connection with denotational semantics which provides a means of proving the analysis correct. Its vice is that the process of...
A Logical View of Composition
- THEORETICAL COMPUTER SCIENCE
, 1993
"... We define two logics of safety specifications for reactive systems. The logics provide a setting for the study of composition rules. The two logics arise naturally from extant specification approaches; one of the logics is intuitionistic, while the other one is linear. ..."
Abstract
-
Cited by 36 (9 self)
- Add to MetaCart
We define two logics of safety specifications for reactive systems. The logics provide a setting for the study of composition rules. The two logics arise naturally from extant specification approaches; one of the logics is intuitionistic, while the other one is linear.
Set-Theoretical and Other Elementary Models of the lambda-calculus
- Theoretical Computer Science
, 1993
"... Part 1 of this paper is the previously unpublished 1972 memorandum [43], with editorial changes and some minor corrections. Part 2 presents what happened next, together with some further development of the material. The first part begins with an elementary set-theoretical model of the fi-calculus. F ..."
Abstract
-
Cited by 36 (0 self)
- Add to MetaCart
Part 1 of this paper is the previously unpublished 1972 memorandum [43], with editorial changes and some minor corrections. Part 2 presents what happened next, together with some further development of the material. The first part begins with an elementary set-theoretical model of the fi-calculus. Functions are modeled in a similar way to that normally employed in set theory, by their graphs; difficulties are caused in this enterprise by the axiom of foundation. Next, based on that model, a model of the fij-calculus is constructed by means of a natural deduction method. Finally, a theorem is proved giving some general properties of those non-trivial models of the fij-calculus which are continuous complete lattices. The second part begins with a brief discussion of models of the -calculus in set theories with anti-foundation axioms. Next the model of the fi- calculus of Part 1 and also the closely related---but different!---models of Scott [53, 54] and of Engeler [21, 22] are reviewed....
Semantic Lego
, 1995
"... Denotational semantics [Sch86] is a powerful framework for describing programming languages; however, its descriptions lack modularity: conceptually independent language features influence each others' semantics. We address this problem by presenting a theory of modular denotational semantics. Follo ..."
Abstract
-
Cited by 35 (0 self)
- Add to MetaCart
Denotational semantics [Sch86] is a powerful framework for describing programming languages; however, its descriptions lack modularity: conceptually independent language features influence each others' semantics. We address this problem by presenting a theory of modular denotational semantics. Following Mosses [Mos92], we divide a semantics into two parts, a computation ADT and a language ADT (abstract data type). The computation ADT represents the basic semantic structure of the language. The language ADT represents the actual language constructs, as described by a grammar. We define the language ADT using the computation ADT; in fact, language constructs are polymorphic over many different computation ADTs. Following Moggi [Mog89a], we build the computation ADT from composable parts, using monads and monad transformers. These techniques allow us to build many different computation ADTs, and, since our language constructs are polymorphic, many different language semantics. We autom...

