Capture-Avoiding Substitution as a Nominal Algebra

  • Murdoch J. Gabbay
  • Aad Mathijssen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4281)

Abstract

Substitution is fundamental to computer science, underlying for example quantifiers in predicate logic and beta-reduction in the lambda-calculus. So is substitution something we define on syntax on a case-by-case basis, or can we turn the idea of ‘substitution’ into a mathematical object?

We exploit the new framework of Nominal Algebra to axiomatise substitution. We prove our axioms sound and complete with respect to a canonical model; this turns out to be quite hard, involving subtle use of results of rewriting and algebra.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Burris, S., Sankappanavar, H.: A Course in Universal Algebra. Springer, Heidelberg (1981) (available online)MATHGoogle Scholar
  2. 2.
    Urban, C., Pitts, A.M., Gabbay, M.J.: Nominal unification. Theoretical Computer Science 323(1–3), 473–497 (2004)CrossRefMathSciNetMATHGoogle Scholar
  3. 3.
    Gabbay, M.J., Mathijssen, A.: Nominal algebra. In: STACS 2007 (submitted, 2006)Google Scholar
  4. 4.
    Gabbay, M.J., Bulò, S.R., Marin, A.: Substitution as an abstract notion: holy functions. In: STACS 2007 (submitted, 2006)Google Scholar
  5. 5.
    Gabbay, M.J., Mathijssen, A.: One-and-a-halfth-order logic. In: PPDP 2006: Proceedings of the 8th ACM SIGPLAN symposium on Principles and practice of declarative programming, pp. 189–200. ACM Press, New York (2006)CrossRefGoogle Scholar
  6. 6.
    Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax with variable binding. Formal Aspects of Computing 13(3–5), 341–363 (2001)Google Scholar
  7. 7.
    Hodges, W.: Elementary predicate logic. In: Gabbay, D., Guenthner, F. (eds.) Handbook of Philosophical Logic, 2nd edn., vol. 1, pp. 1–131. Kluwer, Dordrecht (2001)Google Scholar
  8. 8.
    Fernández, M., Gabbay, M.J., Mackie, I.: Nominal rewriting systems. In: Proc. 6th Int. ACM SIGPLAN Conf. on Principles and Practice of Declarative Programming (PPDP 2004), pp. 108–119. ACM, New York (2004)CrossRefGoogle Scholar
  9. 9.
    Fernández, M., Gabbay, M.J.: Nominal rewriting. Journal version, Information and Computation (submitted, 2005)Google Scholar
  10. 10.
    Fernández, M., Gabbay, M.J.: Nominal rewriting with name generation: abstraction vs. locality. In: Proc. 7th Int. ACM SIGPLAN Conf. on Principles and Practice of Declarative Programming (PPDP 2005), pp. 47–58. ACM, New York (2005)CrossRefGoogle Scholar
  11. 11.
    Newman, M.: On theories with a combinatorial definition of equivalence. Annals of Mathematics 43(2), 223–243 (1942)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Groote, J.F.: A new strategy for proving omega-completeness applied to process algebra. In: Baeten, J.C.M., Klop, J.W. (eds.) CONCUR 1990. LNCS, vol. 458, pp. 314–331. Springer, Heidelberg (1990)Google Scholar
  13. 13.
    Lescanne, P.: From lambda-sigma to lambda-upsilon a journey through calculi of explicit substitutions. In: POPL 1994: Proc. 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 60–69. ACM Press, New York (1994)CrossRefGoogle Scholar
  14. 14.
    Paulson, L.C.: The foundation of a generic theorem prover. Journal of Automated Reasoning 5(3), 363–397 (1989)CrossRefMathSciNetMATHGoogle Scholar
  15. 15.
    Crabbé, M.: Une axiomatisation de la substitution. Comptes rendus de l’Académie des Sciences de Paris, Série I 338, 433–436 (2004)MATHGoogle Scholar
  16. 16.
    Crabbé, M.: On the notion of substitution. Logic Journal of the IGPL 12(2), 111–124 (2004)CrossRefMathSciNetMATHGoogle Scholar
  17. 17.
    Feldman, N.: Axiomatization of polynomial substitution algebras. Journal of Symbolic Logic 47(3), 481–492 (1982)CrossRefMathSciNetMATHGoogle Scholar
  18. 18.
    Lusin, S., Salibra, A.: The lattice of lambda theories. Journal of Logic and Computation 14(3), 373–394 (2004)CrossRefMathSciNetMATHGoogle Scholar
  19. 19.
    Salibra, A.: On the algebraic models of lambda calculus. Theoretical Computer Science 249(1), 197–240 (2000)CrossRefMathSciNetMATHGoogle Scholar
  20. 20.
    Barendregt, H.P.: The Lambda Calculus: its Syntax and Semantics (revised edn.). Studies in Logic and the Foundations of Mathematics, vol. 103. North-Holland, Amsterdam (1984)MATHGoogle Scholar
  21. 21.
    Bloo, R.: Preservation of Termination for Explicit Substitution. PhD thesis, Eindhoven University of Technology, Eindhoven (1997)Google Scholar
  22. 22.
    de Bruijn, N.G.: Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the church-rosser theorem. Indagationes Mathematicae 5(34), 381–392 (1972)Google Scholar
  23. 23.
    Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification. Extensions of Logic Programming 475, 253–281 (1991)CrossRefGoogle Scholar
  24. 24.
    Huet, G.: Higher order unification 30 years later (Extended abstract). In: Carreño, V.A., Muñoz, C.A., Tahar, S. (eds.) TPHOLs 2002. LNCS, vol. 2410, pp. 3–12. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  25. 25.
    Gabbay, M.J.: A new calculus of contexts. In: Proc. 7th Int. ACM SIGPLAN Conf. on Principles and Practice of Declarative Programming (PPDP 2005). ACM, New York (2005)Google Scholar
  26. 26.
    Gabbay, M.J.: Hierarchical nominal rewriting. In: LFMTP 2006, pp. 32–47 (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Murdoch J. Gabbay
    • 1
  • Aad Mathijssen
    • 2
  1. 1.School of Mathematical and Computer SciencesHeriot-Watt UniversityEdinburghScotland, Great Britain
  2. 2.Department of Mathematics and Computer ScienceEindhoven University of TechnologyEindhovenThe Netherlands

Personalised recommendations