Results 1  10
of
40
Fresh Logic
 Journal of Applied Logic
, 2007
"... Abstract. The practice of firstorder logic is replete with metalevel concepts. Most notably there are metavariables ranging over formulae, variables, and terms, and properties of syntax such as alphaequivalence, captureavoiding substitution and assumptions about freshness of variables with resp ..."
Abstract

Cited by 185 (21 self)
 Add to MetaCart
Abstract. The practice of firstorder logic is replete with metalevel concepts. Most notably there are metavariables ranging over formulae, variables, and terms, and properties of syntax such as alphaequivalence, captureavoiding substitution and assumptions about freshness of variables with respect to metavariables. We present oneandahalfthorder logic, in which these concepts are made explicit. We exhibit both sequent and algebraic specifications of oneandahalfthorder logic derivability, show them equivalent, show that the derivations satisfy cutelimination, and prove correctness of an interpretation of firstorder logic within it. We discuss the technicalities in a wider context as a casestudy for nominal algebra, as a logic in its own right, as an algebraisation of logic, as an example of how other systems might be treated, and also as a theoretical foundation
Alphastructural recursion and induction
 Journal of the ACM
, 2006
"... The nominal approach to abstract syntax deals with the issues of bound names and αequivalence by considering constructions and properties that are invariant with respect to permuting names. The use of permutations gives rise to an attractively simple formalisation of common, but often technically i ..."
Abstract

Cited by 45 (6 self)
 Add to MetaCart
The nominal approach to abstract syntax deals with the issues of bound names and αequivalence by considering constructions and properties that are invariant with respect to permuting names. The use of permutations gives rise to an attractively simple formalisation of common, but often technically incorrect uses of structural recursion and induction for abstract syntax modulo αequivalence. At the heart of this approach is the notion of finitely supported mathematical objects. This paper explains the idea in as concrete a way as possible and gives a new derivation within higherorder logic of principles of αstructural recursion and induction for αequivalence classes from the ordinary versions of these principles for abstract syntax trees.
On a monadic semantics for freshness
 THEORETICAL COMPUTER SCIENCE
, 2005
"... A standard monad of continuations, when constructed with domains in the world of FMsets [4], is shown to provide a model of dynamic allocation of fresh names that is both simple and useful. In particular, it is used to prove that the powerful facilities for manipulating fresh names and binding oper ..."
Abstract

Cited by 26 (7 self)
 Add to MetaCart
A standard monad of continuations, when constructed with domains in the world of FMsets [4], is shown to provide a model of dynamic allocation of fresh names that is both simple and useful. In particular, it is used to prove that the powerful facilities for manipulating fresh names and binding operations provided by the “Fresh ” series of metalanguages [15,17,18] respect αequivalence of objectlevel languages up to metalevel contextual equivalence.
Domain theory for concurrency
, 2003
"... Concurrent computation can be given an abstract mathematical treatment very similar to that provided for sequential computation by domain theory and denotational semantics of Scott and Strachey. ..."
Abstract

Cited by 23 (6 self)
 Add to MetaCart
Concurrent computation can be given an abstract mathematical treatment very similar to that provided for sequential computation by domain theory and denotational semantics of Scott and Strachey.
Nominal logic programming
, 2006
"... Nominal logic is an extension of firstorder logic which provides a simple foundation for formalizing and reasoning about abstract syntax modulo consistent renaming of bound names (that is, αequivalence). This article investigates logic programming based on nominal logic. This technique is especial ..."
Abstract

Cited by 23 (8 self)
 Add to MetaCart
Nominal logic is an extension of firstorder logic which provides a simple foundation for formalizing and reasoning about abstract syntax modulo consistent renaming of bound names (that is, αequivalence). This article investigates logic programming based on nominal logic. This technique is especially wellsuited for prototyping type systems, proof theories, operational semantics rules, and other formal systems in which bound names are present. In many cases, nominal logic programs are essentially literal translations of “paper” specifications. As such, nominal logic programming provides an executable specification language for prototyping, communicating, and experimenting with formal systems. We describe some typical nominal logic programs, and develop the modeltheoretic, prooftheoretic, and operational semantics of such programs. Besides being of interest for ensuring the correct behavior of implementations, these results provide a rigorous foundation for techniques for analysis and reasoning about nominal logic programs, as we illustrate via two examples.
Static name control for FreshML
 In IEEE Symposium on Logic in Computer Science (LICS
, 2007
"... 3 A complete example ..."
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 Fresh Logic, ..."
Abstract

Cited by 22 (10 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.
The Complexity of Equivariant Unification
 In Proceedings of the 31st International Colloquium on Automata, Languages and Programming (ICALP 2004), volume 3142 of LNCS
"... Nominal logic is a firstorder theory of names and binding based on a primitive operation of swapping rather than substitution. Urban, Pitts, and Gabbay have developed a nominal unification algorithm that unifies terms up to nominal equality. However, because of nominal logic's equivariance principl ..."
Abstract

Cited by 21 (7 self)
 Add to MetaCart
Nominal logic is a firstorder theory of names and binding based on a primitive operation of swapping rather than substitution. Urban, Pitts, and Gabbay have developed a nominal unification algorithm that unifies terms up to nominal equality. However, because of nominal logic's equivariance principle, atomic formulas can be provably equivalent without being provably equal as terms, so resolution using nominal unification is sound but incomplete. For complete resolution, a more general form of unification called equivariant unification, or "unification up to a permutation" is required. Similarly, for rewrite rules expressed in nominal logic, a more general form of matching called equivariant matching is necessary. In this paper, we study the complexity of the decision problem for equivariant unification and matching. We show that these problems are NPcomplete in general. However, when one of the terms is essentially firstorder, equivariant and nominal unification coincide. This shows that equivariant unification can be performed efficiently in many interesting common cases: for example, anypurely firstorder logic program or rewrite system can be run efficiently on nominal terms.
A Simpler Proof Theory for Nominal Logic
 In FOSSACS 2005, number 3441 in LNCS
, 2005
"... Nominal logic is a variant of firstorder logic which provides support for reasoning about bound names in abstract syntax. A key feature of nominal logic is the newquantifier, which quantifies over fresh names (names not appearing in any values considered so far). Previous attempts have been made ..."
Abstract

Cited by 20 (10 self)
 Add to MetaCart
Nominal logic is a variant of firstorder logic which provides support for reasoning about bound names in abstract syntax. A key feature of nominal logic is the newquantifier, which quantifies over fresh names (names not appearing in any values considered so far). Previous attempts have been made to develop convenient rules for reasoning with the newquantifier, but we argue that none of these attempts is completely satisfactory. In this paper we develop a new sequent calculus for nominal logic in which the rules for the newquantifier are much simpler than in previous attempts. We also prove several structural and metatheoretic properties, including cutelimination, consistency, and conservativity with respect to Pitts' axiomatization of nominal logic; these proofs are considerably simpler for our system. 1
Nominal rewriting
 Information and Computation
"... Nominal rewriting is based on the observation that if we add support for alphaequivalence to firstorder syntax using the nominalset approach, then systems with binding, including higherorder reduction schemes such as lambdacalculus betareduction, can be smoothly represented. Nominal rewriting ma ..."
Abstract

Cited by 19 (7 self)
 Add to MetaCart
Nominal rewriting is based on the observation that if we add support for alphaequivalence to firstorder syntax using the nominalset approach, then systems with binding, including higherorder reduction schemes such as lambdacalculus betareduction, can be smoothly represented. Nominal rewriting maintains a strict distinction between variables of the objectlanguage (atoms) and of the metalanguage (variables or unknowns). Atoms may be bound by a special abstraction operation, but variables cannot be bound, giving the framework a pronounced firstorder character, since substitution of terms for variables is not captureavoiding. We show how good properties of firstorder rewriting survive the extension, by giving an efficient rewriting algorithm, a critical pair lemma, and a confluence theorem