Results 1 
6 of
6
Proving congruence of bisimulation in functional programming languages
 Information and Computation
, 1996
"... Email: howe research.att.com We give a method for proving congruence of bisimulationlike equivalences in functional programming languages. The method applies to languages that can be presented as a set of expressions together with an evaluation relation. We use this method to show that some genera ..."
Abstract

Cited by 109 (1 self)
 Add to MetaCart
Email: howe research.att.com We give a method for proving congruence of bisimulationlike equivalences in functional programming languages. The method applies to languages that can be presented as a set of expressions together with an evaluation relation. We use this method to show that some generalizations of Abramsky's applicative bisimulation are congruences whenever evaluation can be specified by a certain natural form of structured operational semantics. One of the generalizations handles nondeterminism and diverging computations.] 1996 Academic Press, Inc. 1.
Equality In Lazy Computation Systems
, 1998
"... In this paper we introduce a general class of lazy computation systems and define a natural program equivalence for them. We prove that if an extensionality condition holds of each of the operators of a computation system, then the equivalence relation is a congruence, so that the usual kinds of equ ..."
Abstract

Cited by 95 (6 self)
 Add to MetaCart
In this paper we introduce a general class of lazy computation systems and define a natural program equivalence for them. We prove that if an extensionality condition holds of each of the operators of a computation system, then the equivalence relation is a congruence, so that the usual kinds of equality reasoning are valid for it. This condition is a simple syntactic one, and is easy to verify for the various lazy computation systems we have considered so far. We also give conditions under which the equivalence coincides with observational congruence. These results have some important consequences for type theories like those of MartinLöf and Nuprl.
A Domaintheoretic Model for a Higherorder Process Calculus
 Proceedings of the 17th International Colloquium on Automata Languages and Programming
, 1996
"... In this paper we study a higherorder process calculus, a restriction of one due to Boudol, and develop an abstract, model for it. By abstract we mean that the model is constructed domaintheoretically and reflects a certain conceptual viewpoint about observability. It is not constructed from the sy ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
In this paper we study a higherorder process calculus, a restriction of one due to Boudol, and develop an abstract, model for it. By abstract we mean that the model is constructed domaintheoretically and reflects a certain conceptual viewpoint about observability. It is not constructed from the syntax of the calculus or from computation sequences. We describe a new powerdomain construction that can be given additional algebraic structure that allows one to model concurrent composition, in the same sense that Plotkin's powerdomain can have a continuous binary operation defined on it to model choice. We show that the model constructed this way is adequate with respect to the operational semantics. The model that we develop and our analysis of it is closely related to the work of Abramsky and Ong on the lazy lambda calculus. 1 Introduction A fundamental problem in the semantics of parallel programming languages is integrating concurrency with abstraction. Kahn's pioneering work on stat...
On the observational theory of the CPScalculus ∗
"... We study the observational theory of Thielecke’s CPScalculus, a distillation of the target language of ContinuationPassing Style transforms. We define a labelled transition system for the CPScalculus from which we derive a (weak) labelled bisimilarity that completely characterises Morris ’ contex ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We study the observational theory of Thielecke’s CPScalculus, a distillation of the target language of ContinuationPassing Style transforms. We define a labelled transition system for the CPScalculus from which we derive a (weak) labelled bisimilarity that completely characterises Morris ’ contextequivalence. We prove a context lemma showing that Morris ’ contextequivalence coincides with a simpler contextequivalence closed under a smaller class of contexts. Then we profit of the determinism of the CPScalculus to give a simpler labelled characterisation of Morris ’ equivalence, in the style of Abramsky’s applicative bisimilarity. We enhance our bisimulation proofmethods with upto bisimilarity and upto context proof techniques. We use our bisimulation proof techniques to investigate a few algebraic properties on diverging terms that cannot be proved using the original axiomatic semantics of the CPScalculus. Finally, we prove the full abstraction of Thielecke’s encoding of the CPScalculus into a fragment of Fournet and Gonthier’s Joincalculus with single pattern definitions. 1
Interpreting functions as πcalculus processes: a tutorial
, 1999
"... This paper is concerned with the relationship betweencalculus and ��calculus. Thecalculus talks about functions and their applicative behaviour. This contrasts with the ��calculus, that talks about processes and their interactive behaviour. Application is a special form of interaction, and there ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper is concerned with the relationship betweencalculus and ��calculus. Thecalculus talks about functions and their applicative behaviour. This contrasts with the ��calculus, that talks about processes and their interactive behaviour. Application is a special form of interaction, and therefore functions can be seen as a special form of processes. We study how the functions of thecalculus (the computable functions) can be represented as ��calculus processes. The ��calculus semantics of a language induces a notion of equality on the terms of that language. We therefore also analyse the equality among functions that is induced by their representation as ��calculus processes. This paper is intended as a tutorial. It however contains some original contributions. The main ones are: the use of wellknown Continuation Passing Style transforms to derive the encodings into ��calculus and prove their correctness; the encoding of typedcalculi.
Lambda Calculus
"... Recursive functions are representable as lambda terms, and de nability in the calculus may be regarded as a de nition of computability. This forms part of the standard foundations of computer science. Lambda calculus is the commonly accepted basis of functional programming languages � and it is folk ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Recursive functions are representable as lambda terms, and de nability in the calculus may be regarded as a de nition of computability. This forms part of the standard foundations of computer science. Lambda calculus is the commonly accepted basis of functional programming languages � and it is folklore that the calculus is the prototypical functional language in puri ed form. The course investigates the syntax and semantics of lambda calculus both as a theory of functions from a foundational point of view, and as a minimal programming language. Synopsis Formal theory, xed point theorems, combinatory logic: combinatory completeness, translations between lambda calculus and combinatory logic � reduction: ChurchRosser theorem � Bohm's theorem and applications � basic recursion theory � lambda calculi considered as programming languages � simple type theory and pcf: correspondence between operational and denotational semantics � current developments. Relationship with other courses Basic knowledge of logic and computability in paper B1 is assumed.