Results 1  10
of
22
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
(Show Context)
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...
Compilation and Equivalence of Imperative Objects
, 1998
"... We adopt the untyped imperative object calculus of Abadi and Cardelli as a minimal setting in which to study problems of compilation and program equivalence that arise when compiling objectoriented languages. We present both a bigstep and a smallstep substitutionbased operational semantics fo ..."
Abstract

Cited by 32 (4 self)
 Add to MetaCart
We adopt the untyped imperative object calculus of Abadi and Cardelli as a minimal setting in which to study problems of compilation and program equivalence that arise when compiling objectoriented languages. We present both a bigstep and a smallstep substitutionbased operational semantics for the calculus. Our rst two results are theorems asserting the equivalence of our substitutionbased semantics with a closurebased semantics like that given by Abadi and Cardelli. Our third result is a direct proof of the correctness of compilation to a stackbased abstract machine via a smallstep decompilation algorithm. Our fourth result is that contextual equivalence of objects coincides with a form of Mason and Talcott's CIU equivalence; the latter provides a tractable means of establishing operational equivalences. Finally, we prove correct an algorithm, used in our prototype compiler, for statically resolving method osets. This is the rst study of correctness of an objectoriented abstract machine, and of operational equivalence for the imperative object calculus.
Kripke Logical Relations and PCF
 Information and Computation
, 1995
"... Sieber has described a model of PCF consisting of continuous functions that are invariant under certain (finitary) logical relations, and shown that it is fully abstract for closed terms of up to thirdorder types. We show that one may achieve full abstraction at all types using a form of "Krip ..."
Abstract

Cited by 31 (3 self)
 Add to MetaCart
(Show Context)
Sieber has described a model of PCF consisting of continuous functions that are invariant under certain (finitary) logical relations, and shown that it is fully abstract for closed terms of up to thirdorder types. We show that one may achieve full abstraction at all types using a form of "Kripke logical relations" introduced by Jung and Tiuryn to characterize definability. To appear in Information and Computation. (Accepted, October 1994) Supported by NSF grant CCR92110829. 1 Introduction The nature of sequential functional computation has fascinated computer scientists ever since Scott remarked on a curious incompleteness phenomenon when he introduced LCF (Logic for Computable Functions) and its continuous function model in 1969 (Scott, 1993). Scott noted that although the functionals definable by terms in PCFthe term language of LCFadmitted a sequential evaluation strategy, there were functions in the model that seemed to require a parallel evaluation strategy. "Sequen...
Correspondence between Operational and Denotational Semantics
 Handbook of Logic in Computer Science
, 1995
"... This course introduces the operational and denotational semantics of PCF and examines the relationship between the two. Topics: Syntax and operational semantics of PCF, Activity Lemma, undefinability of parallel or; Context Lemma (first principles proof) and proof by logical relations Denotational ..."
Abstract

Cited by 23 (0 self)
 Add to MetaCart
This course introduces the operational and denotational semantics of PCF and examines the relationship between the two. Topics: Syntax and operational semantics of PCF, Activity Lemma, undefinability of parallel or; Context Lemma (first principles proof) and proof by logical relations Denotational semantics of PCF induced by an interpretation; (standard) Scott model, adequacy, weak adequacy and its proof (by a computability predicate) Domain Theory up to SFP and Scott domains; non full abstraction of the standard model, definability of compact elements and full abstraction for PCFP (PCF + parallel or), properties of orderextensional (continuous) models of PCF, Milner's model and Mulmuley's construction (excluding proofs) Additional topics (time permitting): results on pure simplytyped lambda calculus, Friedman 's Completeness Theorem, minimal model, logical relations and definability, undecidability of lambda definability (excluding proof), dIdomains and stable functions Homepa...
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
(Show Context)
. 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...
Metalanguages and Applications
 Semantics and Logics of Computation, Publications of the Newton Institute
, 1995
"... syntax and encoding in LF In this section we introduce a logical framework with a cumulative hierarchy of predicative universes (in this way we don't need to distinguish between contexts and signatures ). Our main motivation for introducing a logical framework is to have precise and concise de ..."
Abstract

Cited by 12 (3 self)
 Add to MetaCart
syntax and encoding in LF In this section we introduce a logical framework with a cumulative hierarchy of predicative universes (in this way we don't need to distinguish between contexts and signatures ). Our main motivation for introducing a logical framework is to have precise and concise descriptions of (the wellformed expressions of) languages and translations: languages are described by signatures and translations by signature realizations. 3.1 The logical framework LF The logical framework is give by a set of inference rules for deriving judgements of the following forms: `, i.e. is a context ` A : Type i , i.e. A is a type (in the ith universe) in context ` M : A, i.e. M is a term of type A in context where M and A range over pseudoterms described by the following BNF: identiers x 2 Id ::= an innite set pseudoterms A; M 2 Exp ::= x j Type i j x : A 1 :A 2 j x : A:M j M 1 M 2 empty ; ` ext ` A : Type i ; x : A ` x 62 DV() type2 ` ` Type i : Type i+1 i...
A Fully Abstract Model for Sequential Computation
, 1998
"... In 1977, G. Plotkin pointed out the problem of finding a fully abstract model for the sequential programming language PCF [16], which had been originally developed by D. Scott [19]. This question turned out to be one of the most enduring problems of semantics. A very nice description of the differen ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
(Show Context)
In 1977, G. Plotkin pointed out the problem of finding a fully abstract model for the sequential programming language PCF [16], which had been originally developed by D. Scott [19]. This question turned out to be one of the most enduring problems of semantics. A very nice description of the different approaches
Factoring an adequacy proof (preliminary report
 Functional Programming, Glasgow 1993, Workshops in Computing
, 1993
"... This paper contributes to the methodology of using metalogics for reasoning about programming languages. As a concrete example we consider a fragment of ML corresponding to callbyvalue PCF and translate it into a metalogic which contains (amongst other types) computation types and a fixpoint type. ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
(Show Context)
This paper contributes to the methodology of using metalogics for reasoning about programming languages. As a concrete example we consider a fragment of ML corresponding to callbyvalue PCF and translate it into a metalogic which contains (amongst other types) computation types and a fixpoint type. The main result is a soundness property (⋆): if the denotations of two programs are provably equal in the metalogic, they have the same operationally observable behaviour. As usual, this follows from a computational adequacy result. In early notes, Plotkin showed how such proofs could be factored into two stages, the first nontrivial and the second (essentially) routine; our contribution is to rework his suggestion within a new framework. We define a metalogic, which incorporates computation and fixpoint types, and specify a modular translation of the ML fragment. Our proof of (⋆) factors into two parts. First, the term language of the metalogic is equipped with an operational semantics and a (generic) computational adequacy result obtained. Second, a simple syntactic argument establishes a correspondence between the operational behaviour of an object program and of its denotation. The first part is not routine but is proved once and for all. The second is a detailed but essentially trivial calculation that is easily adaptable to other object languages. Such a factored proof is important because it promises to scale up more easily than a monolithic one. We show that it may be adapted to an object language with callbyname functions and one with a simple exception mechanism. 1