Completeness and Herbrand theorems for nominal logic

Nominal logic is a variant of first-order logic in which abstract syntax with names and binding is formalized in terms of two basic operations: name-swapping and freshness . It relies on two important principles: equivariance (validity is preserved by name-swapping), and fresh name generation (“new” or fresh names can always be chosen). It is inspired by a particular class of models for abstract syntax trees involving names and binding, drawing on ideas from Fraenkel-Mostowski set theory: finite-support models in which each value can depend on only finitely many names. Although nominal logic is sound with respect to such models, it is not complete. In this paper we review nominal logic and show why finite-support models are insufficient both in theory and practice. We then identify (up to isomorphism) the class of models with respect to which nominal logic is complete: ideal-supported models in which the supports of values are elements of a proper ideal on the set of names. We also investigate an appropriate generalization of Herbrand models to nominal logic. After adjusting the syntax of nominal logic to include constants denoting names, we generalize universal theories to nominal-universal theories and prove that each such theory has an Herbrand model.

[1]  John C. Mitchell,et al.  Theoretical aspects of object-oriented programming: types, semantics, and language design , 1994, Choice Reviews Online.

[2]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[3]  I. Moerdijk,et al.  Sheaves in geometry and logic: a first introduction to topos theory , 1992 .

[4]  J. Cheney,et al.  A sequent calculus for nominal logic , 2004, LICS 2004.

[5]  James Cheney Equivariant Unification , 2005, RTA.

[6]  Ulrich Felgner,et al.  Models of ZF-set theory , 1971 .

[7]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.

[8]  Andrew M. Pitts,et al.  A New Approach to Abstract Syntax with Variable Binding , 2002, Formal Aspects of Computing.

[9]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[10]  Andrei Voronkov,et al.  Orienting rewrite rules with the Knuth-Bendix order , 2003, Inf. Comput..

[11]  Frank Pfenning,et al.  Higher-order abstract syntax , 1988, PLDI '88.

[12]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[13]  Harold T. Hodes,et al.  The | lambda-Calculus. , 1988 .

[14]  William C. Frederick,et al.  A Combinatory Logic , 1995 .

[15]  Ulrich Schöpp,et al.  A Dependent Type Theory with Names and Binding , 2004, CSL.

[16]  Peter Buneman,et al.  Theoretical Aspects of Object-Oriented Programming , 1994 .

[17]  Robert Harper,et al.  Semantics of memory management for polymorphic languages , 1999 .

[18]  Fairouz Kamareddine,et al.  Types in logic and mathematics before 1940 , 2002, Bull. Symb. Log..

[19]  J. Heijenoort Begriffsschrift, a formula language, modeled upon that of arithmetic, for pure thought GOTTLOB FREGE(1879) , 1970 .

[20]  James Cheney,et al.  The Complexity of Equivariant Unification , 2004, ICALP.

[21]  Leon Henkin,et al.  The completeness of the first-order functional calculus , 1949, Journal of Symbolic Logic.

[22]  Roger M. Needham,et al.  Using encryption for authentication in large networks of computers , 1978, CACM.

[23]  Christian Urban,et al.  Nominal logic programming , 2006, TOPL.

[24]  Gavin Lowe,et al.  An Attack on the Needham-Schroeder Public-Key Authentication Protocol , 1995, Inf. Process. Lett..

[25]  Christian Urban,et al.  alpha-Prolog: A Logic Programming Language with Names, Binding and a-Equivalence , 2004, ICLP.

[26]  de Ng Dick Bruijn Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[27]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[28]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

[29]  Thomas Jech About the Axiom of Choice , 1973 .

[30]  Jan Willem Klop,et al.  Infinitary Lambda Calculus , 1997, Theoretical Computer Science.

[31]  Serge Abiteboul,et al.  Foundations of Databases , 1994 .

[32]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[33]  D. Prawitz Natural Deduction: A Proof-Theoretical Study , 1965 .

[34]  Andrew M. Pitts,et al.  A First Order Theory of Names and Binding , 2001 .

[35]  G. Priest An introduction to non-classical logic , 2001 .

[36]  Norbert Brunner The Fraenkel-Mostowski Method, Revisited , 1990, Notre Dame J. Formal Log..

[37]  Dale Miller,et al.  A proof theory for generic judgments: an extended abstract , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[38]  Peter W. O'Hearn,et al.  The Logic of Bunched Implications , 1999, Bulletin of Symbolic Logic.

[39]  Luca Viganò,et al.  Labelled non-classical logics , 2000 .

[40]  James Brotherston,et al.  A formalised first-order confluence proof for the -calculus using one-sorted variable names , 2003, Inf. Comput..

[41]  James Cheney A Simpler Proof Theory for Nominal Logic , 2005, FoSSaCS.

[42]  de Ng Dick Bruijn,et al.  Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .