Nominal Techniques in Isabelle/HOL

  • Christian Urban
  • Christine Tasson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3632)

Abstract

In this paper we define an inductive set that is bijective with the α-equated lambda-terms. Unlike de-Bruijn indices, however, our inductive definition includes names and reasoning about this definition is very similar to informal reasoning on paper. For this we provide a structural induction principle that requires to prove the lambda-case for fresh binders only. The main technical novelty of this work is that it is compatible with the axiom-of-choice (unlike earlier nominal logic work by Pitts et al); thus we were able to implement all results in Isabelle/HOL and use them to formalise the standard proofs for Church-Rosser and strong-normalisation.

Keywords

Lambda-calculus nominal logic structural induction theorem-assistants 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Altenkirch, T.: A Formalization of the Strong Normalisation Proof for System F in LEGO. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664, pp. 13–28. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  2. 2.
    Aydemir, B.E., Bohannon, A., Fairbairn, M., Foster, J.N., Pierce, B.C., Sewell, P., Vytiniotis, D., Washburn, G., Weirich, S., Zdancewic, S.: Mechanized Metatheory for the Masses: The PoplMark Challenge. (accepted at tphol) (2005)Google Scholar
  3. 3.
    Barendregt, H.: The Lambda Calculus: Its Syntax and Semantics. In: Studies in Logic and the Foundations of Mathematics, vol. 103, North-Holland, Amsterdam (1981)Google Scholar
  4. 4.
    Despeyroux, J., Felty, A., Hirschowitz, A.: Higher-Order Abstract Syntax in Coq. In: Dezani-Ciancaglini, M., Plotkin, G. (eds.) TLCA 1995. LNCS, vol. 902, pp. 124–138. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  5. 5.
    Gabbay, M.J.: A Theory of Inductive Definitions With α-equivalence. PhD thesis, University of Cambridge (2000)Google Scholar
  6. 6.
    Gabbay, M.J., Pitts, A.M.: A New Approach to Abstract Syntax with Variable Binding. Formal Aspects of Computing 13, 341–363 (2001)CrossRefGoogle Scholar
  7. 7.
    Girard, J.-Y., Lafont, Y., Taylor, P.: Proofs and Types. In: Cambridge Tracts in Theoretical Computer Science, vol. 7, Cambridge University Press, Cambridge (1989)Google Scholar
  8. 8.
    Gordon, A.D.: A Mechanisation of Name-Carrying Syntax up to Alpha-Conversion. In: Joyce, J.J., Seger, C.-J.H. (eds.) HUG 1993. LNCS, vol. 780, pp. 414–426. Springer, Heidelberg (1994)Google Scholar
  9. 9.
    Gordon, A.D., Melham, T.: Five Axioms of Alpha-Conversion. In: von Wright, J., Harrison, J., Grundy, J. (eds.) TPHOLs 1996. LNCS, vol. 1125, pp. 173–190. Springer, Heidelberg (1996)Google Scholar
  10. 10.
    Hirschkoff, D.: A Full Formalisation of π-Calculus Theory in the Calculus of Constructions. In: Gunter, E.L., Felty, A.P. (eds.) TPHOLs 1997. LNCS, vol. 1275, pp. 153–169. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  11. 11.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)MATHGoogle Scholar
  12. 12.
    Norrish, M.: Mechanising λ-calculus using a Classical First Order Theory of Terms with Permutations, forthcomingGoogle Scholar
  13. 13.
    Norrish, M.: Recursive function definition for types with binders. In: Slind, K., Bunker, A., Gopalakrishnan, G.C. (eds.) TPHOLs 2004. LNCS, vol. 3223, pp. 241–256. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  14. 14.
    Paulson, L.: Defining Functions on Equivalence Classes. ACM Transactions on Computational Logic (to appear)Google Scholar
  15. 15.
    Pfenning, F., Elliott, C.: Higher-Order Abstract Syntax. In: Proc. of the ACM SIGPLAN Conference PLDI, pp. 199–208. ACM Press, New York (1989)Google Scholar
  16. 16.
    Pitts, A.M.: Nominal Logic, A First Order Theory of Names and Binding. Information and Computation 186, 165–193 (2003)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Troelstra, A.S., Schwichtenberg, H.: Basic Proof Theory. In: Cambridge Tracts in Theoretical Computer Science, vol. 43, Cambridge University Press, Cambridge (2000)Google Scholar
  18. 18.
    Urban, C., Pitts, A.M., Gabbay, M.J.: Nominal Unification. Theoretical Computer Science 323(1-2), 473–497 (2004)MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    VanInwegen, M.: The Machine-Assisted Proof of Programming Language Properties. PhD thesis, University of Pennsylvania, Available as MS-CIS-96-31 (1996)Google Scholar
  20. 20.
    Wenzel, M.: Using Axiomatic Type Classes in Isabelle. Manual in the Isabelle distributionGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Christian Urban
    • 1
  • Christine Tasson
    • 2
  1. 1.Ludwig-Maximilians-University Munich 
  2. 2.ENS Cachan Paris 

Personalised recommendations