Results 1  10
of
131
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 176 (20 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...
A Logic of ObjectOriented Programs
, 1998
"... We develop a logic for reasoning about objectoriented programs. The logic is for a language with an imperative semantics and aliasing, and accounts for selfreference in objects. It is much like a type system for objects with subtyping, but our specifications go further than types in detailing pre ..."
Abstract

Cited by 141 (4 self)
 Add to MetaCart
We develop a logic for reasoning about objectoriented programs. The logic is for a language with an imperative semantics and aliasing, and accounts for selfreference in objects. It is much like a type system for objects with subtyping, but our specifications go further than types in detailing pre and postconditions. We intend the logic as an analogue of Hoare logic for objectoriented programs. Our main technical result is a soundness theorem that relates the logic to a standard operational semantics.
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 136 (13 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 TypeTheoretic Interpretation of Standard ML
 IN PROOF, LANGUAGE AND INTERACTION: ESSAYS IN HONOUR OF ROBIN MILNER
, 2000
"... ..."
A CurryHoward foundation for functional computation with control
 In Proceedings of ACM SIGPLANSIGACT Symposium on Principle of Programming Languages
, 1997
"... We introduce the type theory ¯ v , a callbyvalue variant of Parigot's ¯calculus, as a CurryHoward representation theory of classical propositional proofs. The associated rewrite system is ChurchRosser and strongly normalizing, and definitional equality of the type theory is consistent, com ..."
Abstract

Cited by 93 (3 self)
 Add to MetaCart
(Show Context)
We introduce the type theory ¯ v , a callbyvalue variant of Parigot's ¯calculus, as a CurryHoward representation theory of classical propositional proofs. The associated rewrite system is ChurchRosser and strongly normalizing, and definitional equality of the type theory is consistent, compatible with cut, congruent and decidable. The attendant callbyvalue programming language ¯pcf v is obtained from ¯ v by augmenting it by basic arithmetic, conditionals and fixpoints. We study the behavioural properties of ¯pcf v and show that, though simple, it is a very general language for functional computation with control: it can express all the main control constructs such as exceptions and firstclass continuations. Prooftheoretically the dual ¯ v constructs of naming and ¯abstraction witness the introduction and elimination rules of absurdity respectively. Computationally they give succinct expression to a kind of generic (forward) "jump" operator, which may be regarded as a unif...
CallbyValue Games
, 1997
"... . A general construction of models of callbyvalue from models of callbyname computation is described. The construction makes essential use of the properties of sum types in common denotational models of callbyname. When applied to categories of games, it yields fully abstract models of the cal ..."
Abstract

Cited by 77 (7 self)
 Add to MetaCart
. A general construction of models of callbyvalue from models of callbyname computation is described. The construction makes essential use of the properties of sum types in common denotational models of callbyname. When applied to categories of games, it yields fully abstract models of the callbyvalue functional language PCFv , which can be extended to incorporate recursive types, and of a language with local references as in Standard ML. 1 Introduction In recent years game semantics has emerged as a novel and intuitively appealing approach to modelling programming languages. Its first success was in providing a syntaxfree description of a fully abstract model of PCF [10, 1, 15]; full abstraction results have also been obtained for untyped and recursively typed functional languages, as well as languages with imperative features [12, 3]. However, none of this work addressed the problem of modelling callbyvalue languagesa major shortcoming, given that many reallife langua...
Events in security protocols
, 2001
"... The events of a security protocol and their causal dependency can play an important role in the analysis of security properties. This insight underlies both strand spaces and the inductive method. But neither of these approaches builds up the events of a protocol in a compositional way, so that ther ..."
Abstract

Cited by 70 (15 self)
 Add to MetaCart
The events of a security protocol and their causal dependency can play an important role in the analysis of security properties. This insight underlies both strand spaces and the inductive method. But neither of these approaches builds up the events of a protocol in a compositional way, so that there is an informal spring from the protocol to its model. By broadening the models to certain kinds of Petri nets, a restricted form of contextual nets, a compositional eventbased semantics is given to an economical, but expressive, language for describing security protocols; so the events and dependency of a wide range of protocols are determined once and for all. The net semantics is formally related to a transition semantics, strand spaces and inductive rules, as well as trace languages and event structures, so unifying a range of approaches, as well as providing conditions under which particular, more limited, models are adequate for the analysis of protocols. The net semantics allows the derivation of general properties and proof principles which are demonstrated in establishing an authentication property, following a diagrammatic style of proof.
Relational reasoning in a nominal semantics for storage
 In Proc. 7th International Conference on Typed Lambda Calculi and Applications (TLCA), volume 3461 of Lecture Notes in Computer Science
, 2005
"... a higherorder CBV language with recursion and dynamically allocated mutable references that may store both ground data and the addresses of other references, but not functions. This model is adequate, though far from fully abstract. We then develop a relational reasoning principle over the denotati ..."
Abstract

Cited by 67 (13 self)
 Add to MetaCart
(Show Context)
a higherorder CBV language with recursion and dynamically allocated mutable references that may store both ground data and the addresses of other references, but not functions. This model is adequate, though far from fully abstract. We then develop a relational reasoning principle over the denotational model, and show how it may be used to establish various contextual equivalences involving allocation and encapsulation of store. 1
A Foundation for Higherorder Concurrent Constraint Programming
, 1994
"... We present the flcalculus, a computational calculus for higherorder concurrent programming. The calculus can elegantly express higherorder functions (both eager and lazy) and concurrent objects with encapsulated state and multiple inheritance. The primitives of the flcalculus are logic variables ..."
Abstract

Cited by 66 (13 self)
 Add to MetaCart
We present the flcalculus, a computational calculus for higherorder concurrent programming. The calculus can elegantly express higherorder functions (both eager and lazy) and concurrent objects with encapsulated state and multiple inheritance. The primitives of the flcalculus are logic variables, names, procedural abstraction, and cells. Cells provide a notion of state that is fully compatible with concurrency and constraints. Although it does not have a dedicated communication primitive, the flcalculus can elegantly express onetomany and manytoone communication. There is an interesting relationship between the flcalculus and the ßcalculus: The flcalculus is subsumed by a calculus obtained by extending the asynchronous and polyadic ßcalculus with logic variables. The flcalculus can be extended with primitives providing for constraintbased problem solving in the style of logic programming. A such extended flcalculus has the remarkable property that it combines firstor...