A Recursion Combinator for Nominal Datatypes Implemented in Isabelle/HOL

  • Christian Urban
  • Stefan Berghofer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4130)


The nominal datatype package implements an infrastructure in Isabelle/HOL for defining languages involving binders and for reasoning conveniently about alpha-equivalence classes. Pitts stated some general conditions under which functions over alpha-equivalence classes can be defined by a form of structural recursion and gave a clever proof for the existence of a primitive-recursion combinator. We give a version of this proof that works directly over nominal datatypes and does not rely upon auxiliary constructions. We further introduce proving tools and a heuristic that made the automation of our proof tractable. This automation is an essential prerequisite for the nominal datatype package to become useful.


Lambda-calculus proof assistants nominal logic primitive recursion 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Barendregt, H.: The L ambda Calculus: I ts Syntax and S emantics. Studies in Logic and the Foundations of Mathematics, vol. 103. North-Holland, Amsterdam (1981)zbMATHGoogle Scholar
  2. 2.
    Berghofer, S., Wenzel, M.: Inductive Datatypes in HOL - Lessons Learned in Formal-Logic Engineering. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 19–36. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  3. 3.
    Gabbay, M.J., Pitts, A.M.: A New Approach to Abstract Syntax Involving Binders. In: Logic in Computer Science, pp. 214–224. IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  4. 4.
    Gordon, M.: From LCF to HOL: a short history. In: Plotkin, G., Stirling, C.P., Tofte, M. (eds.) Proof, Language, and Interaction, pp. 169–186. MIT Press, Cambridge (2000)Google Scholar
  5. 5.
    Homeier, P.: A Design Structure for Higher Order Quotients. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 130–146. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Melham, T.: Automating Recursive Type Definitions in Higher Order Logic. In: Birtwistle, G., Subrahmanyam, P.A. (eds.) Current Trends in Hardware Verification and Automated Theorem Proving, pp. 341–386. Springer, Heidelberg (1989)Google Scholar
  7. 7.
    Pitts, A.M.: Nominal Logic, A First Order Theory of Names and Binding. Information and Computation 186, 165–193 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Pitts, A.M.: Alpha-Structural Recursion and Induction (Extended Abstract). In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 17–34. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
    Pitts, A.M.: Alpha-Structural Recursion and Induction. Journal of the ACM (to appear, 200X)Google Scholar
  10. 10.
    Urban, C., Norrish, M.: A Formal Treatment of the Barendregt Variable Convention in Rule Inductions. In: Proc. of the 3rd International ACM Workshop on Mechanized Reasoning about Languages with Variable Binding and Names, pp. 25–32 (2005)Google Scholar
  11. 11.
    Urban, C., Tasson, C.: Nominal Techniques in Isabelle/HOL. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 38–53. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Wenzel, M.: Using Axiomatic Type Classes in Isabelle. Manual in the Isabelle distributionGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Christian Urban
    • 1
  • Stefan Berghofer
    • 1
  1. 1.Technische Universität München 

Personalised recommendations