Foundations of Nominal Techniques: Logic and Semantics of Variables in Abstract Syntax

We are used to the idea that computers operate on numbers, yet another kind of data is equally important: the syntax of formal languages, with variables, binding, and alpha-equivalence. The original application of nominal techniques, and the one with greatest prominence in this paper, is to reasoning on formal syntax with variables and binding. Variables can be modelled in many ways: for instance as numbers (since we usually take countably many of them); as links (since they may ‘point’ to a binding site in the term, where they are bound); or as functions (since they often, though not always, represent ‘an unknown’). None of these models is perfect. In every case for the models above, problems arise when trying to use them as a basis for a fully formal mechanical treatment of formal language. The problems are practical—but their underlying cause may be mathematical. The issue is not whether formal syntax exists, since clearly it does, so much as what kind of mathematical structure it is. To illustrate this point by a parody, logical derivations can be modelled using a Godel encoding (i.e. injected into the natural numbers). It would be false to conclude from this that proof-theory is a branch of number theory and can be understood in terms of, say, Peano’s axioms. Similarly, as it turns out, it is false to conclude from the fact that variables can be encoded e.g. as numbers, that the theory of syntax-with-binding can be understood in terms of the theory of syntax-without-binding, plus the theory of numbers (or, taking this to a logical extreme, purely in terms of the theory of numbers). It cannot; something else is going on. What that something else is, has not yet been fully understood. In nominal techniques, variables are an instance of names, and names are data. We model names using urelemente with properties that, pleasingly enough, turn out to have been investigated by Fraenkel and Mostowski in the first half of the 20th century for a completely different purpose than modelling formal language. What makes this model really interesting is that it gives names distinctive properties which can be related to useful logic and programming principles for formal syntax. Since the initial publications, advances in the mathematics and presentation have been introduced piecemeal in the literature. This paper provides in a single accessible document an updated development of the foundations of nominal techniques. This gives the reader easy access to updated results and new proofs which they would otherwise have to search across two or more papers to find, and full proofs that in other publications may have been elided. We also include some new material not appearing elsewhere.

[1]  Furio Honsell,et al.  An Axiomatic Approach to Metareasoning on Nominal Algebras in HOAS , 2001, ICALP.

[2]  Dag Westerstaåhl,et al.  Quantifiers in Formal and Natural Languages , 1989 .

[3]  Murdoch James Gabbay Nominal Algebra and the HSP Theorem , 2009, J. Log. Comput..

[4]  Andrew M. Pitts,et al.  Nominal Logic: A First Order Theory of Names and Binding , 2001, TACS.

[5]  François Monin,et al.  Principles and Practice of Declarative Programming , 1999, Lecture Notes in Computer Science.

[6]  Andrew M. Pitts,et al.  Alpha-structural recursion and induction , 2005, JACM.

[7]  Murdoch James Gabbay,et al.  Capture-avoiding substitution as a nominal algebra , 2007, Formal Aspects of Computing.

[8]  Ranald Alexander Clouston Equational logic for names and binders , 2010 .

[9]  André Hirschowitz,et al.  Higher-Order Abstract Syntax with Induction in Coq , 1994, LPAR.

[10]  Murdoch James Gabbay,et al.  One-and-a-halfth-order Logic , 2008, J. Log. Comput..

[11]  Andrzej S. Murawski,et al.  Nominal games and full abstraction for the nu-calculus , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[12]  Andrew M. Pitts,et al.  A Metalanguage for Programming with Bound Names Modulo Renaming , 2000, MPC.

[13]  Murdoch James Gabbay,et al.  Substitution for Fraenkel-Mostowski foundations , 2008, AISB Convention.

[14]  Andrew M. Pitts,et al.  A new approach to abstract syntax involving binders , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[15]  Peter T. Johnstone Notes on logic and set theory , 1987 .

[16]  G. Cantor Beiträge zur Begründung der transfiniten Mengenlehre , 1897 .

[17]  Jean-Louis Krivine,et al.  Lambda-calculus, types and models , 1993, Ellis Horwood series in computers and their applications.

[18]  Andrew M. Pitts,et al.  FreshML: programming with binders made simple , 2003, ICFP '03.

[19]  Andrée Bastiani,et al.  Théorie des ensembles , 1970 .

[20]  Martin Hofmann Semantical analysis of higher-order abstract syntax , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[21]  F. Stephan,et al.  Set theory , 2018, Mathematical Statistics with Applications in R.

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

[23]  James Cheney,et al.  Mechanising the Metatheory of LF , 2008 .

[24]  Daniele Turi,et al.  Semantics of name and value passing , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[25]  Murdoch James Gabbay,et al.  One-and-a-halfth-order logic , 2006, PPDP '06.

[26]  A. Mostowski On the independence of the well-ordering theorem from the ordering principle , 1979 .

[27]  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 .

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

[29]  Patrick Brézillon,et al.  Lecture Notes in Artificial Intelligence , 1999 .

[30]  Dov M. Gabbay,et al.  Elementary logics - a procedural perspective , 1998, Prentice Hall series in computer science.

[31]  Murdoch James Gabbay,et al.  Fresh Logic: proof-theory and semantics for FM and nominal techniques , 2007, J. Appl. Log..

[32]  Luca Cardelli,et al.  A Spatial Logic for Concurrency (Part II) , 2002, CONCUR.

[33]  Christian Urban,et al.  Mechanizing the Metatheory of LF , 2008, LICS.

[34]  Alwen Tiu A Logic for Reasoning about Generic Judgments , 2007, Electron. Notes Theor. Comput. Sci..

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

[36]  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..

[37]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[38]  Murdoch James Gabbay A general mathematics of names , 2007, Inf. Comput..

[39]  Luca Cardelli,et al.  A spatial logic for concurrency - II , 2004, Theor. Comput. Sci..

[40]  Murdoch James Gabbay,et al.  A study of substitution, using nominal techniques and Fraenkel-Mostowksi sets , 2009, Theor. Comput. Sci..

[41]  James Cheney,et al.  A sequent calculus for nominal logic , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[42]  Murdoch James Gabbay,et al.  One-and-a-Halfth Order Terms: Curry-Howard and Incomplete Derivations , 2008, WoLLIC.

[43]  Dag Westerståhl,et al.  19 – Generalized Quantifiers in Linguistics and Logic* , 2011 .

[44]  Mihaly Makkai,et al.  Avoiding the axiom of choice in general category theory , 1996 .

[45]  阿部 浩一,et al.  Fundamenta Mathematicae私抄 : 退任の辞に代えて , 1987 .

[46]  Gilles Dowek,et al.  Permissive-nominal logic , 2010, PPDP.

[47]  B. Russell THE AXIOM OF CHOICE , 2003 .

[48]  Andrzej Mostowski Über die Unabhängigkeit des Wohlordnungssatzes vom Ordnungsprinzip , 1939 .

[49]  Matías Menni About И-quantifiers , 2003, Appl. Categorical Struct..

[50]  A. Tarski,et al.  A Formalization Of Set Theory Without Variables , 1987 .

[51]  Aad Mathssen,et al.  Logical Calculi for Reasoning with Binding , 2008 .

[52]  Gordon D. Plotkin,et al.  Abstract syntax and variable binding , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[53]  James McKinna,et al.  Pure Type Systems Formalized , 1993, TLCA.

[54]  Alley Stoughton,et al.  Substitution Revisited , 1988, Theor. Comput. Sci..

[55]  N Brunner 75 YEARS OF INDEPENDENCE PROOFS BY FRAENKEL-MOSTOWSKI PERMUTATION MODELS. , 1996 .

[56]  Sam Staton,et al.  A Congruence Rule Format for Name-Passing Process Calculi from Mathematical Structural Operational Semantics , 2006, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

[57]  Andrew M. Pitts,et al.  On a monadic semantics for freshness , 2005, Theor. Comput. Sci..

[58]  James Cheney,et al.  Completeness and Herbrand theorems for nominal logic , 2006, Journal of Symbolic Logic.

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

[60]  E. Zermelo Über Grenzzahlen und Mengenbereiche , 1930 .

[61]  Murdoch James Gabbay,et al.  The lambda-context Calculus , 2007, LFMTP@CADE.

[62]  Martin Hofmann,et al.  Nominal Renaming Sets , 2008, LPAR.

[63]  J. van Leeuwen,et al.  Theoretical Computer Science , 2003, Lecture Notes in Computer Science.

[64]  Luca Cardelli,et al.  A spatial logic for concurrency (part I) , 2003, Inf. Comput..

[65]  Mark R. Shinwell,et al.  Fresh Objective Caml user manual , 2005 .

[66]  Christian Urban Nominal Techniques in Isabelle/HOL , 2008, Journal of Automated Reasoning.

[67]  J. Heijenoort From Frege to Gödel: A Source Book in Mathematical Logic, 1879-1931 , 1967 .

[68]  Christian Urban,et al.  A Head-to-Head Comparison of de Bruijn Indices and Names , 2007, Electron. Notes Theor. Comput. Sci..

[69]  C. Luther,et al.  INDEPENDENCE OF THE CONTINUUM HYPOTHESIS , 2009 .