Results 1 - 10
of
35
Fresh Logic
- Journal of Applied Logic
, 2007
"... Abstract. The practice of first-order logic is replete with meta-level concepts. Most notably there are meta-variables ranging over formulae, variables, and terms, and properties of syntax such as alpha-equivalence, capture-avoiding substitution and assumptions about freshness of variables with resp ..."
Abstract
-
Cited by 163 (15 self)
- Add to MetaCart
Abstract. The practice of first-order logic is replete with meta-level concepts. Most notably there are meta-variables ranging over formulae, variables, and terms, and properties of syntax such as alpha-equivalence, capture-avoiding substitution and assumptions about freshness of variables with respect to metavariables. We present one-and-a-halfth-order logic, in which these concepts are made explicit. We exhibit both sequent and algebraic specifications of one-and-a-halfth-order logic derivability, show them equivalent, show that the derivations satisfy cut-elimination, and prove correctness of an interpretation of first-order logic within it. We discuss the technicalities in a wider context as a case-study 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
Alpha-structural 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 38 (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 higher-order 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 FM-sets [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 24 (7 self)
- Add to MetaCart
A standard monad of continuations, when constructed with domains in the world of FM-sets [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 object-level languages up to meta-level contextual equivalence.
Static name control for FreshML
- In IEEE Symposium on Logic in Computer Science (LICS
, 2007
"... 3 A complete example ..."
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 20 (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
, 2004
"... Syntax The classical approach to encoding languages involving names and binding is to model language expressions as algebraic terms, represent names using some infinite datatype such as string, and represent both bindings and references as concrete strings. Algebraic datatypes have a very clear and ..."
Abstract
-
Cited by 20 (7 self)
- Add to MetaCart
Syntax The classical approach to encoding languages involving names and binding is to model language expressions as algebraic terms, represent names using some infinite datatype such as string, and represent both bindings and references as concrete strings. Algebraic datatypes have a very clear and intuitive semantics based on many-sorted logic and algebraic specification [46] which supports reasoning by induction on the structure of terms.
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 self-dual N - (or "new")-quantifier, originally presented as a Hilbert-style axiom system extending first-order logic. We present a sequent calculus for nominal logic called Fresh Logic, ..."
Abstract
-
Cited by 20 (9 self)
- Add to MetaCart
Nominal logic is a theory of names and binding based on the primitive concepts of freshness and swapping, with a self-dual N - (or "new")-quantifier, originally presented as a Hilbert-style axiom system extending first-order logic. We present a sequent calculus for nominal logic called Fresh Logic, or FL, admitting cut-elimination. We use FL to provide a proof-theoretic foundation for nominal logic programming and show how to interpret $FOL^{\Delta abla}$, another logic with a self-dual quantifier, within FL.
A Simpler Proof Theory for Nominal Logic
- In FOSSACS 2005, number 3441 in LNCS
, 2005
"... Nominal logic is a variant of first-order logic which provides support for reasoning about bound names in abstract syntax. A key feature of nominal logic is the new-quantifier, which quantifies over fresh names (names not appearing in any values considered so far). Previous attempts have been made ..."
Abstract
-
Cited by 19 (10 self)
- Add to MetaCart
Nominal logic is a variant of first-order logic which provides support for reasoning about bound names in abstract syntax. A key feature of nominal logic is the new-quantifier, 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 new-quantifier, 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 cut-elimination, consistency, and conservativity with respect to Pitts' axiomatization of nominal logic; these proofs are considerably simpler for our system. 1
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 first-order 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 19 (7 self)
- Add to MetaCart
Nominal logic is a first-order 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 NP-complete in general. However, when one of the terms is essentially first-order, equivariant and nominal unification coincide. This shows that equivariant unification can be performed efficiently in many interesting common cases: for example, anypurely first-order logic program or rewrite system can be run efficiently on nominal terms.
A Dependent Type Theory with Names and Binding
- In Proceedings of the 2004 Computer Science Logic Conference, number 3210 in Lecture notes in Computer Science
, 2004
"... We consider the problem of providing formal support for working with abstract syntax involving variable binders. Gabbay and Pitts have shown in their work on Fraenkel-Mostowski (FM) set theory how to address this through first-class names: in this paper we present a dependent type theory for prog ..."
Abstract
-
Cited by 15 (1 self)
- Add to MetaCart
We consider the problem of providing formal support for working with abstract syntax involving variable binders. Gabbay and Pitts have shown in their work on Fraenkel-Mostowski (FM) set theory how to address this through first-class names: in this paper we present a dependent type theory for programming and reasoning with such names. Our development is based on a categorical axiomatisation of names, with freshness as its central notion. An associated adjunction captures constructions known from FM theory: the freshness quantifier N , name-binding, and unique choice of fresh names. The Schanuel topos --- the category underlying FM set theory --- is an instance of this axiomatisation.

