Results 1  10
of
53
Nominal Logic: A First Order Theory of Names and Binding
 Information and Computation
, 2001
"... This paper formalises within firstorder logic some common practices in computer science to do with representing and reasoning about syntactical structures involving named bound variables (as opposed to nameless terms, explicit substitutions, or higher order abstract syntax). It introduces Nominal L ..."
Abstract

Cited by 219 (15 self)
 Add to MetaCart
(Show Context)
This paper formalises within firstorder logic some common practices in computer science to do with representing and reasoning about syntactical structures involving named bound variables (as opposed to nameless terms, explicit substitutions, or higher order abstract syntax). It introduces Nominal Logic, a version of firstorder manysorted logic with equality containing primitives for renaming via nameswapping and for freshness of names, from which a notion of binding can be derived. Its axioms express...
FreshML: Programming with Binders Made Simple
, 2003
"... FreshML extends ML with elegant and practical constructs for declaring and manipulating syntactical data involving binding operations. Userdeclared FreshML datatypes involving binders are concrete, in the sense that values of these types can be deconstructed by matching against patterns naming boun ..."
Abstract

Cited by 99 (30 self)
 Add to MetaCart
FreshML extends ML with elegant and practical constructs for declaring and manipulating syntactical data involving binding operations. Userdeclared FreshML datatypes involving binders are concrete, in the sense that values of these types can be deconstructed by matching against patterns naming bound variables explicitly. Such matching may have a computational effect in which bound names get swapped with freshly generated names. Previous work on FreshML used a complicated static type system inferring information about the `freshness' of names for expressions in order to tame such effects. The main contribution of this paper is to show (perhaps surprisingly) that a much simpler type system without freshness inference, coupled with name swapping and a conventional treatment of fresh name generation, suffices for FreshML's crucial correctness propertynamely that values of datatypes involving binders are operationally equivalent if and only if they represent #equivalent pieces of objectlevel syntax. This correctness result is established via a novel denotational semantics. FreshML without static freshness inference is no more impure than ML and our experiences programming in it show that it supports a programming style pleasingly close to informal practice when it comes to dealing with syntax modulo #equivalence.
Nominal Unification
 Theoretical Computer Science
, 2003
"... We present a generalisation of firstorder unification to the practically important case of equations between terms involving binding operations. A substitution of terms for variables solves such an equation if it makes the equated terms #equivalent, i.e. equal up to renaming bound names. For the a ..."
Abstract

Cited by 70 (28 self)
 Add to MetaCart
(Show Context)
We present a generalisation of firstorder unification to the practically important case of equations between terms involving binding operations. A substitution of terms for variables solves such an equation if it makes the equated terms #equivalent, i.e. equal up to renaming bound names. For the applications we have in mind, we must consider the simple, textual form of substitution in which names occurring in terms may be captured within the scope of binders upon substitution. We are able to take a `nominal' approach to binding in which bound entities are explicitly named (rather than using nameless, de Bruijnstyle representations) and yet get a version of this form of substitution that respects #equivalence and possesses good algorithmic properties. We achieve this by adapting an existing idea and introducing a key new idea. The existing idea is terms involving explicit substitutions of names for names, except that here we only use explicit permutations (bijective substitutions). The key new idea is that the unification algorithm should solve not only equational problems, but also problems about the freshness of names for terms. There is a simple generalisation of the classical firstorder unification algorithm to this setting which retains the latter's pleasant properties: unification problems involving #equivalence and freshness are decidable; and solvable problems possess most general solutions.
A symmetric modal lambda calculus for distributed computing
 IN PROCEEDINGS OF THE 19TH IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE (LICS
, 2004
"... We present a foundational language for distributed programming, called Lambda 5, that addresses both mobilityof code and locality of resources. In order to construct our system, we appeal to the powerful propositionsastypes interpretation of logic. Specifically, we take the possible worlds of the ..."
Abstract

Cited by 57 (10 self)
 Add to MetaCart
We present a foundational language for distributed programming, called Lambda 5, that addresses both mobilityof code and locality of resources. In order to construct our system, we appeal to the powerful propositionsastypes interpretation of logic. Specifically, we take the possible worlds of the intuitionistic modal logic IS5 to be nodes ona network, and the connectives 2 and 3 to reflect mobility and locality, respectively. We formulate a novel systemof natural deduction for IS5, decomposing the introduction and elimination rules for 2 and 3, thereby allowing thecorresponding programs to be more direct. We then give an operational semantics to our calculus that is typesafe, logically faithful, and computationally realistic.
Deciding Validity in a Spatial Logic for Trees
 TLDI'03
, 2003
"... We consider a propositional spatial logic for finite trees. The logic includes (tree composition), (the implication induced by composition), and 0 (the unit of composition) . We show that the satisfaction and validity problems are equivalent, and decidable. The crux of the argument is devisi ..."
Abstract

Cited by 55 (5 self)
 Add to MetaCart
We consider a propositional spatial logic for finite trees. The logic includes (tree composition), (the implication induced by composition), and 0 (the unit of composition) . We show that the satisfaction and validity problems are equivalent, and decidable. The crux of the argument is devising a finite enumeration of trees to consider when deciding whether a spatial implication is satisfied. We introduce a sequent calculus for the logic, and show it to be sound and complete with respect to an interpretation in terms of satisfaction. Finally, we describe a complete proof procedure for the sequent calculus. We envisage applications in the area of logicbased type systems for semistructured data. We describe a small programming language based on this idea.
The decidability of model checking mobile ambients
 In Proceedings of the 15th Annual Conference of the European Association for Computer Science Logic, volume 2142 of LNCS
, 2001
"... We settle the complexity bounds of the model checking problem for the ambient calculus with public names against the ambient logic. We show that if either the calculus contains replication or the logic contains the guarantee operator, the problem is undecidable. In the case of the replicationfree c ..."
Abstract

Cited by 43 (5 self)
 Add to MetaCart
(Show Context)
We settle the complexity bounds of the model checking problem for the ambient calculus with public names against the ambient logic. We show that if either the calculus contains replication or the logic contains the guarantee operator, the problem is undecidable. In the case of the replicationfree calculus and guaranteefree logic we prove that the problem is PSPACEcomplete. For the complexity upperbound, we devise a new representation of processes that remains of polynomial size during process execution; this allows us to keep the model checking procedure in polynomial space. Moreover, we prove PSPACEhardness of the problem for several quite simple fragments of the calculus and the logic; this suggests that there are no interesting fragments with polynomialtime model checking algorithms.
A Sequent Calculus for Nominal Logic
 IN PROC. LICS’04
, 2004
"... Nominal logic is a theory of names and binding based on the primitive concepts of freshness and swapping, with a selfdual N  (or "new")quantifier, originally presented as a Hilbertstyle axiom system extending firstorder logic. We present a sequent calculus for nominal logic called Fre ..."
Abstract

Cited by 32 (16 self)
 Add to MetaCart
Nominal logic is a theory of names and binding based on the primitive concepts of freshness and swapping, with a selfdual N  (or "new")quantifier, originally presented as a Hilbertstyle axiom system extending firstorder logic. We present a sequent calculus for nominal logic called Fresh Logic, or FL, admitting cutelimination. We use FL to provide a prooftheoretic foundation for nominal logic programming and show how to interpret $FOL^{\Delta abla}$, another logic with a selfdual quantifier, within FL.
Modal logic as a basis for distributed computation
, 2003
"... Trustless Software Dissemination.” In this report, we give a computational interpretation of modal logic in which the modalities necessity (�A) and possibility (♦A) describe locality in a distributed computation. This interpretation is quite natural, given the usual “possible worlds ” semantics unde ..."
Abstract

Cited by 21 (3 self)
 Add to MetaCart
(Show Context)
Trustless Software Dissemination.” In this report, we give a computational interpretation of modal logic in which the modalities necessity (�A) and possibility (♦A) describe locality in a distributed computation. This interpretation is quite natural, given the usual “possible worlds ” semantics underlying modal logic. In our case, the worlds we consider are processes in a spatially distributed configuration. Necessity describes a term that is welltyped anywhere and possibility a term that is welltyped somewhere. Thus typing determines the permissible degree of mobility for terms, in some cases allowing us to create new processes or move terms between existing processes, and in others forbidding mobility. In addition to the purely logical motivations, we present some examples demonstrating how the calculus of modal logic proof terms can be used to write distributed, concurrent programs while preserving safe access to and manipulation of localized resources.
Expressivity properties of Boolean BI through Relational Models
 In 26th Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS 2006, LNCS 4337
, 2006
"... ..."