Formal Aspects of Computing

, Volume 20, Issue 4–5, pp 451–479 | Cite as

Capture-avoiding substitution as a nominal algebra

Original Article

Abstract

Substitution is fundamental to the theory of logic and computation. Is substitution something that we define on syntax on a case-by-case basis, or can we turn the idea of substitution into a mathematical object? We give axioms for substitution and prove them sound and complete with respect to a canonical model. As corollaries we obtain a useful conservativity result, and prove that equality-up-to-substitution is a decidable relation on terms. These results involve subtle use of techniques both from rewriting and algebra. A special feature of our method is the use of nominal techniques. These give us access to a stronger assertion language, which includes so-called ‘freshness’ or ‘capture-avoidance’ conditions. This means that the sense in which we axiomatise substitution (and prove soundness and completeness) is particularly strong, while remaining quite general.

Keywords

Substitution Nominal techniques Nominal algebra Binding Capture-avoidance Nominal rewriting Omega-completeness 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bar84.
    Barendregt HP (1984) The lambda calculus: its syntax and semantics (revised edn). North-Holland, AmsterdamGoogle Scholar
  2. Blo97.
    Bloo R (1997) Preservation of termination for explicit substitution. PhD Thesis, Eindhoven University of Technology, EindhovenGoogle Scholar
  3. BR95.
    Bloo R, Rose KH (1995) Preservation of strong normalisation in named lambda calculi with explicit substitution and garbage collection. In: CSN-95: computing science in the Netherlands, Amsterdam. Stichting Mathematisch Centrum, pp 62–72Google Scholar
  4. BS81.
    Burris S, Sankappanavar H (1981) A course in universal algebra. Springer, BerlinMATHGoogle Scholar
  5. Cra04a.
    Crabbé M (2004) On the notion of substitution. Logic J IGPL 12(2):111–124CrossRefMathSciNetMATHGoogle Scholar
  6. Cra04b.
    Crabbé M (2004) Une axiomatisation de la substitution. Comptes Rendus l’Académie Sci Paris Série I 338:433–436MATHGoogle Scholar
  7. dB72.
    de Bruijn NG (1972) Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church–Rosser theorem. Indagationes Math 5(34):381–392CrossRefGoogle Scholar
  8. DHK02.
    Dowek G, Hardin T, Kirchner C (2002) Binding logic: proofs and models. In: LPAR’02: 9th international conference on logic for programming, artificial intelligence, and reasoning. Vol 2514 of LNCS. Springer, Berlin, pp 130–144Google Scholar
  9. Fel82.
    Feldman N (1982) Axiomatization of polynomial substitution algebras. J Symbol Logic 47(3):481–492CrossRefMATHGoogle Scholar
  10. FG07.
    Fernández M, Gabbay MJ (2007) Nominal rewriting. Inf Comput 205:917–965CrossRefMATHGoogle Scholar
  11. FPT99.
    Fiore M, Plotkin G, Turi D (1999) Abstract syntax and variable binding. In: 14th Annual symposium on logic in computer science, Brussels. IEEE Computer Society Press, New York, pp 193–202Google Scholar
  12. FT01.
    Fiore M, Turi D (2001) Semantics of name and value passing. In: 16th annual symposium on logic in computer science, Los Alamitos. IEEE Computer Society Press, New York, pp 93–104Google Scholar
  13. Gab07.
    Gabbay MJ (2007) Hierarchical nominal terms and their theory of rewriting. ENTCS 174(5):37–52Google Scholar
  14. GL07.
    Gabbay MJ, Lengrand S (2007) The lambda-context calculus. In: LFMTP’07: international workshop on logical frameworks and meta-languages, to be published in ENTCSGoogle Scholar
  15. GM06a.
    Gabbay MJ, Mathijssen A (2006) Capture-avoiding substitution as a nominal algebra. In: Theoretical aspects of computing: ICTAC 2006. Vol 4281 of LNCS. Springer, Berlin, pp 198–212Google Scholar
  16. GM06b.
    Gabbay MJ, Mathijssen A (2006) Nominal algebra. Technical Report HW-MACS-TR-0045, Heriot-WattGoogle Scholar
  17. GM06c.
    Gabbay MJ, Mathijssen A (2006) One-and-a-halfth-order logic. In: PPDP’06: Proc. of the 8th ACM SIGPLAN symposium on principles and practice of declarative programming. ACM Press, New York, pp 189–200Google Scholar
  18. GM07.
    Gabbay MJ, Mathijssen A (2007) A formal calculus for informal equality with binding. In: WoLLIC’07: 14th workshop on logic, language, information and computation. Vol 4576 of LNCS. Springer, Berlin, pp 162–176Google Scholar
  19. GP02.
    Gabbay MJ, Pitts AM (2002) A new approach to abstract syntax with variable binding. Form Aspects Comput 13(3–5):341–363CrossRefMATHGoogle Scholar
  20. Hod01.
    Hodges W (2001) Elementary predicate logic. In: Gabbay DM, Guenthner F (eds) Handbook of philosophical logic, 2nd edn, Vol 1. Kluwer, Dordrecht, pp 1–131Google Scholar
  21. Hue02.
    Huet G (2002) Higher order unification 30 years later. In: TPHOLs 2002: theorem proving in higher order logics, number 2410 in LNCS. Springer, Berlin, pp 241–258Google Scholar
  22. KvOvR93.
    Klop JW, van Oostrom V, van Raamsdonk F (1993) Combinatory reduction systems, introduction and survey. Theor Comput Sci 121:279–308CrossRefMATHGoogle Scholar
  23. Les94.
    Lescanne P (1994) From λσ to λυ a journey through calculi of explicit substitutions. In: POPL’94: Proceedings of 21st ACM SIGPLAN-SIGACT symposium on principles of programming languages. ACM Press, New York, pp 60–69Google Scholar
  24. LS86.
    Lambek J, Scott PJ (1986) Introduction to higher order categorical logic. Cambridge University Press, CambridgeMATHGoogle Scholar
  25. LS04.
    Lusin S, Salibra A (2004) The lattice of lambda theories. J Logic Comput 14(3):373–394CrossRefMathSciNetMATHGoogle Scholar
  26. Mil91.
    Miller D (1991) A logic programming language with lambda-abstraction, function variables, and simple unification. Extensions Logic Program 475:253–281CrossRefGoogle Scholar
  27. MN98.
    Mayr R, Nipkow T (1998) Higher-order rewrite systems and their confluence. Theor Comput Sci 192:3–29CrossRefMathSciNetMATHGoogle Scholar
  28. Sal00.
    Salibra A (2000) On the algebraic models of lambda calculus. Theor Comput Sci 249(1):197–240CrossRefMathSciNetMATHGoogle Scholar
  29. Sun99.
    Sun Y (1999) An algebraic generalization of Frege structures—binding algebras. Theor Comput Sci 211:189–232CrossRefMATHGoogle Scholar
  30. TP05.
    Tanaka M, Power J (2005) A unified category-theoretic formulation of typed binding signatures. In: MERLIN’05: Proceedings of the ACM SIGPLAN workshop on mechanized reasoning about languages with variable binding. ACM Press, New York, pp 13–24Google Scholar
  31. UPG04.
    Urban C, Pitts AM, Gabbay MJ (2004) Nominal unification. Theor Comput Sci 323(1–3):473–497CrossRefMathSciNetMATHGoogle Scholar

Copyright information

© British Computer Society 2008

Authors and Affiliations

  1. 1.School of Mathematical and Computer SciencesHeriot-Watt UniversityEdinburghScotland, UK
  2. 2.Department of Mathematics and Computer ScienceEindhoven University of TechnologyEindhovenThe Netherlands

Personalised recommendations