oalib
Search Results: 1 - 10 of 100 matches for " "
All listed articles are free for downloading (OA Articles)
Page 1 /100
Display every page Item
Logic Column 16: Higher-Order Abstract Syntax: Setting the Record Straight  [PDF]
Karl Crary,Robert Harper
Computer Science , 2006,
Abstract: This article responds to a critique of higher-order abstract syntax appearing in Logic Column 14, ``Nominal Logic and Abstract Syntax'', cs.LO/0511025.
Constraint solving in non-permutative nominal abstract syntax  [PDF]
Matthew R. Lakin
Computer Science , 2011, DOI: 10.2168/LMCS-7(3:6)2011
Abstract: Nominal abstract syntax is a popular first-order technique for encoding, and reasoning about, abstract syntax involving binders. Many of its applications involve constraint solving. The most commonly used constraint solving algorithm over nominal abstract syntax is the Urban-Pitts-Gabbay nominal unification algorithm, which is well-behaved, has a well-developed theory and is applicable in many cases. However, certain problems require a constraint solver which respects the equivariance property of nominal logic, such as Cheney's equivariant unification algorithm. This is more powerful but is more complicated and computationally hard. In this paper we present a novel algorithm for solving constraints over a simple variant of nominal abstract syntax which we call non-permutative. This constraint problem has similar complexity to equivariant unification but without many of the additional complications of the equivariant unification term language. We prove our algorithm correct, paying particular attention to issues of termination, and present an explicit translation of name-name equivariant unification problems into non-permutative constraints.
Relating Nominal and Higher-order Abstract Syntax Specifications  [PDF]
Andrew Gacek
Computer Science , 2010,
Abstract: Nominal abstract syntax and higher-order abstract syntax provide a means for describing binding structure which is higher-level than traditional techniques. These approaches have spawned two different communities which have developed along similar lines but with subtle differences that make them difficult to relate. The nominal abstract syntax community has devices like names, freshness, name-abstractions with variable capture, and the new-quantifier, whereas the higher-order abstract syntax community has devices like lambda-binders, lambda-conversion, raising, and the nabla-quantifier. This paper aims to unify these communities and provide a concrete correspondence between their different devices. In particular, we develop a semantics-preserving translation from alpha-Prolog, a nominal abstract syntax based logic programming language, to G-, a higher-order abstract syntax based logic programming language. We also discuss higher-order judgments, a common and powerful tool for specifications with higher-order abstract syntax, and we show how these can be incorporated into G-. This establishes G- as a language with the power of higher-order abstract syntax, the fine-grained variable control of nominal specifications, and the desirable properties of higher-order judgments.
Nominal Logic Programming  [PDF]
James Cheney,Christian Urban
Computer Science , 2006, DOI: 10.1145/1387673.1387675
Abstract: Nominal logic is an extension of first-order logic which provides a simple foundation for formalizing and reasoning about abstract syntax modulo consistent renaming of bound names (that is, alpha-equivalence). This article investigates logic programming based on nominal logic. We describe some typical nominal logic programs, and develop the model-theoretic, proof-theoretic, 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 examples.
A simple sequent calculus for nominal logic  [PDF]
James Cheney
Computer Science , 2013,
Abstract: Nominal logic is a variant of first-order logic that 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 article we develop a new sequent calculus for nominal logic in which the rules for the new- quantifier are much simpler than in previous attempts. We also prove several structural and metatheoretic properties, including cut-elimination, consistency, and equivalence to Pitts' axiomatization of nominal logic.
Formalising the pi-calculus using nominal logic  [PDF]
Jesper Bengtson,Joachim Parrow
Computer Science , 2008, DOI: 10.2168/LMCS-5(2:16)2009
Abstract: We formalise the pi-calculus using the nominal datatype package, based on ideas from the nominal logic by Pitts et al., and demonstrate an implementation in Isabelle/HOL. The purpose is to derive powerful induction rules for the semantics in order to conduct machine checkable proofs, closely following the intuitive arguments found in manual proofs. In this way we have covered many of the standard theorems of bisimulation equivalence and congruence, both late and early, and both strong and weak in a uniform manner. We thus provide one of the most extensive formalisations of a process calculus ever done inside a theorem prover. A significant gain in our formulation is that agents are identified up to alpha-equivalence, thereby greatly reducing the arguments about bound names. This is a normal strategy for manual proofs about the pi-calculus, but that kind of hand waving has previously been difficult to incorporate smoothly in an interactive theorem prover. We show how the nominal logic formalism and its support in Isabelle accomplishes this and thus significantly reduces the tedium of conducting completely formal proofs. This improves on previous work using weak higher order abstract syntax since we do not need extra assumptions to filter out exotic terms and can keep all arguments within a familiar first-order logic.
A dependent nominal type theory  [PDF]
James Cheney
Computer Science , 2012, DOI: 10.2168/LMCS-8(1:8)2012
Abstract: Nominal abstract syntax is an approach to representing names and binding pioneered by Gabbay and Pitts. So far nominal techniques have mostly been studied using classical logic or model theory, not type theory. Nominal extensions to simple, dependent and ML-like polymorphic languages have been studied, but decidability and normalization results have only been established for simple nominal type theories. We present a LF-style dependent type theory extended with name-abstraction types, prove soundness and decidability of beta-eta-equivalence checking, discuss adequacy and canonical forms via an example, and discuss extensions such as dependently-typed recursion and induction principles.
Logic Without Syntax  [PDF]
Dominic Hughes
Mathematics , 2005,
Abstract: This paper presents an abstract, mathematical formulation of classical propositional logic. It proceeds layer by layer: (1) abstract, syntax-free propositions; (2) abstract, syntax-free contraction-weakening proofs; (3) distribution; (4) axioms (p OR NOT p). Abstract propositions correspond to objects of the category G(Rel^L) where G is the Hyland-Tan double glueing construction, Rel is the standard category of sets and relations, and L is a set of literals. Abstract proofs are morphisms of a tight orthogonality subcategory of Gl(Rel^L), where we define Gl as a lax variant of G. We prove that the free binary product-sum category (contraction-weakening logic) over L is a full subcategory of Gl(Rel^L), and the free distributive lattice category (contraction-weakening-distribution logic) is a full subcategory of Gl(Rel^L). We explore general constructions for adding axioms, which are not Rel-specific or (p OR NOT p)-specific.
An abstract view on syntax with sharing  [PDF]
Richard Garner
Mathematics , 2010,
Abstract: The notion of term graph encodes a refinement of inductively generated syntax in which regard is paid to the the sharing and discard of subterms. Inductively generated syntax has an abstract expression in terms of initial algebras for certain endofunctors on the category of sets, which permits one to go beyond the set-based case, and speak of inductively generated syntax in other settings. In this paper we give a similar abstract expression to the notion of term graph. Aspects of the concrete theory are redeveloped in this setting, and applications beyond the realm of sets discussed.
Nominal Logic with Equations Only
Ranald Clouston
Electronic Proceedings in Theoretical Computer Science , 2011, DOI: 10.4204/eptcs.71.4
Abstract: Many formal systems, particularly in computer science, may be captured by equations modulated by side conditions asserting the "freshness of names"; these can be reasoned about with Nominal Equational Logic (NEL). Like most logics of this sort NEL employs this notion of freshness as a first class logical connective. However, this can become inconvenient when attempting to translate results from standard equational logic to the nominal setting. This paper presents proof rules for a logic whose only connectives are equations, which we call Nominal Equation-only Logic (NEoL). We prove that NEoL is just as expressive as NEL. We then give a simple description of equality in the empty NEoL-theory, then extend that result to describe freshness in the empty NEL-theory.
Page 1 /100
Display every page Item


Home
Copyright © 2008-2017 Open Access Library. All rights reserved.