Results 1  10
of
23
A new approach to abstract syntax with variable binding
 Formal Aspects of Computing
, 2002
"... Abstract. The permutation model of set theory with atoms (FMsets), devised by Fraenkel and Mostowski in the 1930s, supports notions of ‘nameabstraction ’ and ‘fresh name ’ that provide a new way to represent, compute with, and reason about the syntax of formal systems involving variablebinding op ..."
Abstract

Cited by 226 (48 self)
 Add to MetaCart
(Show Context)
Abstract. The permutation model of set theory with atoms (FMsets), devised by Fraenkel and Mostowski in the 1930s, supports notions of ‘nameabstraction ’ and ‘fresh name ’ that provide a new way to represent, compute with, and reason about the syntax of formal systems involving variablebinding operations. Inductively defined FMsets involving the nameabstraction set former (together with Cartesian product and disjoint union) can correctly encode syntax modulo renaming of bound variables. In this way, the standard theory of algebraic data types can be extended to encompass signatures involving binding operators. In particular, there is an associated notion of structural recursion for defining syntaxmanipulating functions (such as capture avoiding substitution, set of free variables, etc.) and a notion of proof by structural induction, both of which remain pleasingly close to informal practice in computer science. 1.
A New Approach to Abstract Syntax Involving Binders
 In 14th Annual Symposium on Logic in Computer Science
, 1999
"... Syntax Involving Binders Murdoch Gabbay Cambridge University DPMMS Cambridge CB2 1SB, UK M.J.Gabbay@cantab.com Andrew Pitts Cambridge University Computer Laboratory Cambridge CB2 3QG, UK ap@cl.cam.ac.uk Abstract The FraenkelMostowski permutation model of set theory with atoms (FMsets) ..."
Abstract

Cited by 153 (15 self)
 Add to MetaCart
(Show Context)
Syntax Involving Binders Murdoch Gabbay Cambridge University DPMMS Cambridge CB2 1SB, UK M.J.Gabbay@cantab.com Andrew Pitts Cambridge University Computer Laboratory Cambridge CB2 3QG, UK ap@cl.cam.ac.uk Abstract The FraenkelMostowski permutation model of set theory with atoms (FMsets) can serve as the semantic basis of metalogics for specifying and reasoning about formal systems involving name binding, ffconversion, capture avoiding substitution, and so on. We show that in FMset theory one can express statements quantifying over `fresh' names and we use this to give a novel settheoretic interpretation of name abstraction. Inductively defined FMsets involving this nameabstraction set former (together with cartesian product and disjoint union) can correctly encode objectlevel syntax modulo ffconversion. In this way, the standard theory of algebraic data types can be extended to encompass signatures involving binding operators. In particular, there is an associated n...
Deriving Bisimulation Congruences for Reactive Systems
 In Proc. of CONCUR 2000, 2000. LNCS 1877
, 2000
"... . The dynamics of reactive systems, e.g. CCS, has often been de ned using a labelled transition system (LTS). More recently it has become natural in de ning dynamics to use reaction rules  i.e. unlabelled transition rules  together with a structural congruence. But LTSs lead more naturally to beha ..."
Abstract

Cited by 121 (14 self)
 Add to MetaCart
(Show Context)
. The dynamics of reactive systems, e.g. CCS, has often been de ned using a labelled transition system (LTS). More recently it has become natural in de ning dynamics to use reaction rules  i.e. unlabelled transition rules  together with a structural congruence. But LTSs lead more naturally to behavioural equivalences. So one would like to derive from reaction rules a suitable LTS. This paper shows how to derive an LTS for a wide range of reactive systems. A label for an agent a is de ned to be any context F which intuitively is just large enough so that the agent Fa (\a in context F ") is able to perform a reaction. The key contribution of this paper is a precise de nition of \just large enough", in terms of the categorical notion of relative pushout (RPO), which ensures that bisimilarity is a congruence when sucient RPOs exist. Two examples  a simpli ed form of action calculi and termrewriting  are given, for which it is shown that su cient RPOs indeed exist. The thrust of thi...
A bisimulation for dynamic sealing
 In Proceedings 31st Annual ACM Symposium on Principles of Programming Languages
, 2004
"... We define λseal, an untyped callbyvalue λcalculus with primitives for protecting abstract data by sealing, and develop a bisimulation proof method that is sound and complete with respect to contextual equivalence. This provides a formal basis for reasoning about data abstraction in open, dynamic ..."
Abstract

Cited by 44 (6 self)
 Add to MetaCart
We define λseal, an untyped callbyvalue λcalculus with primitives for protecting abstract data by sealing, and develop a bisimulation proof method that is sound and complete with respect to contextual equivalence. This provides a formal basis for reasoning about data abstraction in open, dynamic settings where static techniques such as type abstraction and logical relations are not applicable.
Operational Semantics and Program Equivalence
 INRIA Sophia Antipolis, 2000. Lectures at the International Summer School On Applied Semantics, APPSEM 2000, Caminha, Minho
, 2000
"... This tutorial paper discusses a particular style of operational semantics that enables one to give a `syntaxdirected' inductive definition of termination which is very useful for reasoning about operational equivalence of programs. We restrict attention to contextual equivalence of express ..."
Abstract

Cited by 36 (4 self)
 Add to MetaCart
(Show Context)
This tutorial paper discusses a particular style of operational semantics that enables one to give a `syntaxdirected' inductive definition of termination which is very useful for reasoning about operational equivalence of programs. We restrict attention to contextual equivalence of expressions in the ML family of programming languages, concentrating on functions involving local state. A brief tour of structural operational semantics culminates in a structural definition of termination via an abstract machine using `frame stacks'. Applications of this to reasoning about contextual equivalence are given.
Operational congruences for reactive systems
, 2001
"... This document consists of a slightly revised and corrected version of a dissertation ..."
Abstract

Cited by 35 (4 self)
 Add to MetaCart
(Show Context)
This document consists of a slightly revised and corrected version of a dissertation
A game semantics of local names and good variables
 of Lecture Notes in Computer Science
, 2004
"... Abstract. We describe a game semantics for local names in a functional setting. It is based on a category of dialogue games acted upon by the automorphism group of the natural numbers; this allows properties of names such as freshness and locality to be characterized semantically. We describe a mode ..."
Abstract

Cited by 19 (4 self)
 Add to MetaCart
(Show Context)
Abstract. We describe a game semantics for local names in a functional setting. It is based on a category of dialogue games acted upon by the automorphism group of the natural numbers; this allows properties of names such as freshness and locality to be characterized semantically. We describe a model of the nucalculus in this category, and extend it with named references (without bad variables) using names as pointers to a store. After refining the semantics via a notion of garbage collection, we prove that the compact elements are definable as terms, and hence obtain a full abstraction result. 1 Introduction Local names are a pervasive and subtle feature of programming languages and other calculi. Not only are they used for manipulating important constructs such as locally bound references and exceptions, namepassing is itself a very expressive computational paradigm, as demonstrated by the sscalculus, for example. Local names can also represent items of secret information which are dynamically generated, passed between agents and used to access further information or activity. They therefore have a key r^ole in specifying properties of secure systems [1, 24].
A theory of bisimulation for a fragment of concurrent ML with local names
, 2003
"... ..."
(Show Context)
A Mechanized Bisimulation for the NuCalculus
, 2008
"... We introduce a SumiiPierceKoutavasWandstyle bisimulation for Pitts and Stark’s nucalculus, a simplytyped lambda calculus with fresh name generation. This bisimulation coincides with contextual equivalence and provides a usable and elementary method for establishing all the subtle equivalences ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
(Show Context)
We introduce a SumiiPierceKoutavasWandstyle bisimulation for Pitts and Stark’s nucalculus, a simplytyped lambda calculus with fresh name generation. This bisimulation coincides with contextual equivalence and provides a usable and elementary method for establishing all the subtle equivalences given by Stark [11]. We also describe the formalization of soundness and of the examples in the Coq proof assistant.
Synthesising Labelled Transitions and Operational Congruences in Reactive Systems, Part 1
 IN INT
, 2002
"... The dynamics of process calculi, e.g. CCS, have often been defined using a labelled transition system (LTS). More recently it has become common when defining dynamics to use reaction rules i.e. unlabelled transition rules together with a structural congruence. This form, which I call a reactiv ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
(Show Context)
The dynamics of process calculi, e.g. CCS, have often been defined using a labelled transition system (LTS). More recently it has become common when defining dynamics to use reaction rules i.e. unlabelled transition rules together with a structural congruence. This form, which I call a reactive system, is highly expressive but is limited in an important way: LTSs lead more naturally to operational equivalences and preorders. This paper shows how to synthesise an LTS for a wide range of reactive systems. A label for an agent (process) `a' is defined to be any context `F' which intuitively is just large enough so that the agent `Fa' (`a' in context `F') is able to perform a reaction step. The key contribution of my work is the precise definition of "just large enough" in terms of the categorical notion of relative pushout (RPO). I then prove that several operational equivalences and preorders (strong bisimulation, weak bisimulation, the traces preorder, and the failures preorder) are congruences when sufficient RPOs exist.