Hostname: page-component-76fb5796d-2lccl Total loading time: 0 Render date: 2024-04-26T21:36:58.731Z Has data issue: false hasContentIssue false

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

Published online by Cambridge University Press:  15 January 2014

Murdoch J. Gabbay*
Affiliation:
URL:http://www.gabbay.org.uk

Abstract

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 Gödel 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.

Type
Research Article
Copyright
Copyright © Association for Symbolic Logic 2011

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

REFERENCES

[1] Abramsky, Samson, Ghica, Dan R., Murawski, Andrzej S., C.-H. Luke Ong, and Ian Stark, D. B., Nominal games and full abstraction for the nu-calculus, Proceedings of the 19th IEEE symposium on Logic in Computer Science (LICS 2004), IEEE Computer Society Press, 2004, pp. 150159.Google Scholar
[2] Aydemir, Brian, Bohannon, Aaron, and Weirich, Stephanie, Nominal reasoning techniques in Coq, Electronic Notes in Theoretical Computer Science, vol. 174 (2007), no. 5, pp. 6977.Google Scholar
[3] Barendregt, Henk P., The lambda calculus: its syntax and semantics, revised ed., North-Holland, 1984.Google Scholar
[4] Berghofer, Stefan and Urban, Christian, A head-to-head comparison of de Bruijn indices and names, Electronic Notes in Theoretical Computer Science, vol. 174 (2007), no. 5, pp. 5367.Google Scholar
[5] Bourbaki, Nicolas, Theorie des ensembles, Hermann, Paris, 1970.Google Scholar
[6] Brunner, Norbert, 75 years of independence proofs by Fraenkel–Mostowski permutation models, Mathematica Japonica, vol. 43 (1996), pp. 177199.Google Scholar
[7] Caires, Luís and Cardelli, Luca, A spatial logic for concurrency (part II), Theoretical Computer Science, vol. 322 (2004), no. 3, pp. 517565.Google Scholar
[8] Cantor, Georg, Beiträge zur Begründung der transfiniten Mengenlehre II, Mathematische Annalen, vol. 2 (1897), no. 49, pp. 481512.Google Scholar
[9] Cheney, James, A simpler proof theory for nominal logic, Foundations of software science and computation structures (Sassone, Vladimiro, editor), Lecture Notes in Computer Science, vol. 3441, Springer, 2005, pp. 379394.Google Scholar
[10] Cheney, James, Completeness and Herbrand theorems for nominal logic, The Journal of Symbolic Logic, vol. 71 (2006), pp. 299320.Google Scholar
[11] Cheney, James and Urban, Christian, System description: Alpha-Prolog, a fresh approach to logic programming modulo alpha-equivalence, Technical Report DSIC-II/12/03, Departamento de Sistemas Informáticos y Computación, Universidad Politécnica de Valencia, 2003.Google Scholar
[12] Clouston, Ranald, Equational logic for names and binding, Ph.D. thesis , University of Cambridge, UK, 2010, pending graduation.Google Scholar
[13] Cohen, Paul J., The independence of the continuum hypothesis, Proceedings of the National Academy of Sciences of the United States of America, vol. 50 (1963), no. 6, pp. 11431148.Google Scholar
[14] de Bruijn, Nicolaas G., Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church–Rosser theorem, Indagationes Mathematicae, vol. 5 (1972), no. 34, pp. 381392.Google Scholar
[15] Despeyroux, Joëlle and Hirschowitz, André, Higher-order abstract syntax with induction in COQ, Logic for Programming, Artificial intelligence, and Reasoning (LPAR'94) (Pfenning, Frank, editor), Lecture Notes in Computer Science, vol. 822, Springer, 1994, pp. 159173.Google Scholar
[16] Dowek, Gilles and Gabbay, Murdoch J., Permissive nominal logic, Principles and Practice of Declarative Programming (Kutsia, Temur, Schreiner, Wolfgang, and Fernandez, Maribel, editors), 2010, pp. 165176.Google Scholar
[17] Ebbinghaus, Heinz-Dieter, Flum, Jörg, and Thomas, Wolfgang, Mathematical logic, second ed., Springer, 1994.CrossRefGoogle Scholar
[18] Fiore, Marcelo and Turi, Daniele, Semantics of name and value passing, Proceedings of the 16th IEEE symposium on Logic in Computer Science (LICS 2001), IEEE Computer Society Press, 2001, pp. 93104.Google Scholar
[19] Fiore, Marcelo P., Plotkin, Gordon D., and Turi, Daniele, Abstract syntax and variable binding, Proceedings of the 14th IEEE symposium on Logic in Computer Science (LICS 1999), IEEE Computer Society Press, 1999, pp. 193202.Google Scholar
[20] Fiore, Marcelo P. and Staton, Sam, A congruence rule format for name-passing process calculi from mathematical structural operational semantics, Proceedings of the 21st IEEE symposium on Logic in Computer Science (LICS 2006), IEEE Computer Society Press, 2006, pp. 4958.Google Scholar
[21] Fraenkel, Abraham, Der Begriff “definit” und die Unabhängigkeit des Auswahlsaxioms, Sitzungsberichte der Preussischen Akademie der Wissenschaften, Physikalischmathematische Klasse, 1922, reprinted in English translation in From Frege to Gödel: A source book in mathematical logic 1879–1931 , Harvard University Press, second edition, 1971, pp. 253257.Google Scholar
[22] Gabbay, Dov, Elementary logics: A procedural perspective, Prentice Hall, 1998.Google Scholar
[23] Gabbay, Murdoch J., A theory of inductive definitions with alpha-equivalence, Ph.D. thesis , University of Cambridge, UK, 2000.Google Scholar
[24] Gabbay, Murdoch J., FM-HOL, a higher-order theory of names, 35 years of Automath (Kamareddine, F., editor), Kluwer, 2002, pp. 247270.Google Scholar
[25] Gabbay, Murdoch J., Fresh logic, Journal of Applied Logic, vol. 5 (2007), no. 2, pp. 356387.Google Scholar
[26] Gabbay, Murdoch J., A general mathematics of names, Information and Computation, vol. 205 (2007), no. 7, pp. 9821011.Google Scholar
[27] Gabbay, Murdoch J., Nominal algebra and the HSP theorem, Journal of Logic and Computation, vol. 19 (2009), no. 2, pp. 341367.Google Scholar
[28] Gabbay, Murdoch J., A study of substitution, using nominal techniques and Fraenkel–Mostowski sets, Theoretical Computer Science, vol. 410 (2009), no. 12–13, pp. 11591189.Google Scholar
[29] Gabbay, Murdoch J. and Cheney, James, A sequent calculus for nominal logic, Proceedings of the 19th IEEE symposium on Logic in Computer Science (LICS 2004), IEEE Computer Society, 2004, pp. 139148.Google Scholar
[30] Gabbay, Murdoch J. and Gabbay, Michael, Substitution for Fraenkel–Mostowski foundations, Proceedings of the 2008 AISB symposium on computing and philosophy, 2008, pp. 6572.Google Scholar
[31] Gabbay, Murdoch J. and Hofmann, Martin, Nominal renaming sets, Logic for Programming, Artificial intelligence, and Reasoning (LPAR 2008), Springer, 2008, pp. 158173.CrossRefGoogle Scholar
[32] Gabbay, Murdoch J. and Lengrand, Stéphane, The lambda-context calculus, Electronic Notes in Theoretical Computer Science, vol. 196 (2008), pp. 1935.Google Scholar
[33] Gabbay, Murdoch J. and Mathijssen, Aad, Capture-avoiding substitution as anominal algebra, Formal Aspects of Computing, vol. 20 (2008), no. 4–5, pp. 451479.Google Scholar
[34] Gabbay, Murdoch J. and Mathijssen, Aad, One-and-a-halfth-order logic, Journal of Logic and Computation, vol. 18 (2008), no. 4, pp. 521562.Google Scholar
[35] Gabbay, Murdoch J. and Mulligan, Dominic P., One-and-a-halfth order terms: Curry–Howard for incomplete derivations, Workshop on Logic, Language and Information in Computation (WoLLIC 2008), Lecture Notes in Artificial Intelligence, vol. 5110, 2008, pp. 180194.Google Scholar
[36] Gabbay, Murdoch J. and Pitts, Andrew M., A new approach to abstract syntax involving binders, Proceedings ofthe 14th IEEE symposium on Logic in Computer Science (LICS 1999), IEEE Computer Society Press, 1999, pp. 214224.Google Scholar
[37] Gabbay, Murdoch J. and Pitts, Andrew M., A new approach to abstract syntax with variable binding, Formal Aspects of Computing, vol. 13 (2001), no. 3–5, pp. 341363.Google Scholar
[38] Hofmann, Martin, Semantical analysis of higher-order abstract syntax, Logic in Computer Science (LICS 1999), IEEE Computer Society Press, 1999, pp. 204213.Google Scholar
[39] Honsell, Furio, Miculan, Marino, and Scagnetto, Ivan, An axiomatic approach to metareasoning on nominal algebras in HOAS, International Colloquium on Automata, Languages and Programming (ICALP 2001), Lecture Notes in Computer Science, vol. 2076, 2001, pp. 963978.Google Scholar
[40] Jech, Thomas, The axiom of choice, North-Holland, 1973.Google Scholar
[41] Jech, Thomas, Set theory, third ed., Springer, 2006.Google Scholar
[42] Johnstone, Peter T., Notes on logic and set theory, Cambridge University Press, 1987.Google Scholar
[43] Johnstone, Peter T., Sketches of an elephant: A topos theory compendium, Oxford Logic Guides, vol. 43 and 44, Oxford University Press, 2003.Google Scholar
[44] Keenan, Edward and Westerståhl, Dag, Generalized quantifiers in linguistics and logic, Handbook of logic and language (Van Benthem, J. and Meulen, A. Ter, editors), Elsevier, 1996, pp. 837894.Google Scholar
[45] Krivine, Jean Louis and Cori, Rene, Lambda-calculu, types and models, Ellis Horwood, 1993, translated by Rene Cori.Google Scholar
[46] Lane, Saunders Mac and Moerdijk, Ieke, Sheaves in geometry and logic: A first introduction to topos theory, Universitext, Springer, 1992.Google Scholar
[47] Makkai, Michael, Avoiding the axiom of choice in general category theory, Journal of Pure and Applied Algebra, vol. 108 (1996), no. 2, pp. 109173.Google Scholar
[48] Mathijssen, Aad, Logical calculi for reasoning with binding, Ph.D. thesis , Technische Universiteit Eindhoven, 2007.Google Scholar
[49] McKinna, James and Pollack, Randy, Pure Type Systems formalized, Typed Lambda Calculi and Applications (TLCA 1993) (Bezem, Marc and Groote, Jan Friso, editors), Lecture Notes in Computer Science, no. 664, Springer-Verlag, 1993, pp. 289305.CrossRefGoogle Scholar
[50] Menni, Matías, About и-quantifiers, Applied Categorical Structures, vol. 11 (2003), no. 5, pp. 421445.Google Scholar
[51] Miller, Dale and Tiu, Alwen, A proof theory for generic judgments (extended abstract), Proceedings of the 18th IEEE symposium on Logic in Computer Science (LICS 2003), IEEE Computer Society Press, 2003, pp. 118127.Google Scholar
[52] Mostowski, Andrzej, Über die Unabhängigkeit des Wohlordnungssatzes vom Ordnungsprinzip, Fundamenta Mathematicae, vol. 32 (1939), pp. 201252.Google Scholar
[53] Mostowski, Andrzej, On the independence of the well-ordering theorem from the ordering principle, Foundational studies, Studies in logic and the foundations of mathematics, 93, vol. 1, North-Holland, 1979, pp. 290338.Google Scholar
[54] Mulligan, Dominic P., Online nominal bibliography, 2010, http://www.citeulike.org/group/11951/.Google Scholar
[55] Pfenning, Frank and Elliott, Conal, Higher-order abstract syntax, PLDI (Programming Language Design and Implementation), ACM Press, 1988, pp. 199208.Google Scholar
[56] Pitts, Andrew M., Nominal logic, a first order theory of names and binding, Information and Computation, vol. 186 (2003), no. 2, pp. 165193.Google Scholar
[57] Pitts, Andrew M., Alpha-structural recursion and induction, Journal of the ACM, vol. 53 (2006), no. 3, pp. 459506.Google Scholar
[58] Pitts, Andrew M. and Gabbay, Murdoch J., A metalanguage for programming with bound names modulo renaming, Mathematics of Program Construction, MPC 2000 (Backhouse, Roland Carl and Oliveira, José Nuno, editors), Lecture Notes in Computer Science, vol. 1837, Springer, 2000, pp. 230255.Google Scholar
[59] Shinwell, Mark R. and Pitts, Andrew M., Fresh objective Caml user manual, Technical Report UCAM-CL-TR-621, University of Cambridge, 2005.Google Scholar
[60] Shinwell, Mark R. and Pitts, Andrew M., On a monadic semantics for freshness, Theoretical Computer Science, vol. 342 (2005), no. 1, pp. 2855.Google Scholar
[61] Shinwell, Mark R., Pitts, Andrew M., and Gabbay, Murdoch J., FreshML: Programming with binders made simple, Proceedings of the 8th ACM SIGPLAN International Conference on Functional Programming (ICFP 2003), vol. 38, ACM Press, 2003, pp. 263274.Google Scholar
[62] Stoughton, Allen, Substitution revisited, Theoretical Computer Science, vol. 59 (1988), no. 3, pp. 317325.Google Scholar
[63] Tarski, Alfred and Givant, Steven, A formalization of set theory without variables, vol. 41, American Mathematical Society Colloquium Publications, 1987.Google Scholar
[64] Tiu, Alwen, A logic for reasoning about generic judgments, Electronic Notes in Theoretical Computer Science, vol. 174 (2007), no. 5, pp. 318.Google Scholar
[65] Urban, Christian, Nominal reasoning techniques in Isabelle/HOL, Journal of Automatic Reasoning, vol. 40 (2008), no. 4, pp. 327356.Google Scholar
[66] Urban, Christian, Cheney, James, and Berghofer, Stefan, Mechanising the metatheory of LF, Proceedings of the 23rd IEEE symposium on Logic in Computer Science (LICS 2008), IEEE Computer Society Press, 2008, pp. 4556.Google Scholar
[67] Urban, Christian and Tasson, Christine, Nominal techniques in Isabelle/HOL, Conference on Automated Deduction, Tallinn, Estonia (CADE'05), Lecture Notes in Artificial Intelligence, vol. 3632, 2005, pp. 3853.Google Scholar
[68] von Neumann, John, Zur Einführung der transfiniten Zahlen, Acta Universitatis Szegediensis. Acta Scientiarum Mathematicarum, (1923), no. 1, pp. 199208, reprinted in English translation in From Frege to Gödel: A source book in mathematical logic 1879–1931 , Harvard University Press, second edition, 1971.Google Scholar
[69] Westerståhl, Dag, Quantifiers in formal and natural languages, Handbook of philosophical logic (Gabbay, and Günthner, , editors), vol. 4, Reidel, 1989, pp. 1131.Google Scholar
[70] Wikipedia, Ordinal numbers, en.wikipedia.org/wiki/Ordinal_number, 23 September 2008.Google Scholar
[71] Zermelo, Ernst, Über Grenzzahlen und Mengenbereichebe, Fundamenta Mathematicae, vol. 16 (1930), pp. 2947.Google Scholar