skip to main content
research-article

Recursion principles for syntax with bindings and substitution

Authors Info & Claims
Published:19 September 2011Publication History
Skip Abstract Section

Abstract

We characterize the data type of terms with bindings, freshness and substitution, as an initial model in a suitable Horn theory. This characterization yields a convenient recursive definition principle, which we have formalized in Isabelle/HOL and employed in a series of case studies taken from the λ-calculus literature.

Skip Supplemental Material Section

Supplemental Material

_talk7.mp4

References

  1. Bedwyr. http://slimmer.gforge.inria.fr/bedwyr.Google ScholarGoogle Scholar
  2. Beluga. http://www.cs.mcgill.ca/~complogic/beluga.Google ScholarGoogle Scholar
  3. Delphin. http://cs-www.cs.yale.edu/homes/carsten/delphin.Google ScholarGoogle Scholar
  4. http://www4.in.tum.de/~popescua/Scripts.zip.Google ScholarGoogle Scholar
  5. The Twelf Project, 2009. http://twelf.plparty.org.Google ScholarGoogle Scholar
  6. The HOL4 Theorem prover, 2010. http://hol.sourceforge.net/.Google ScholarGoogle Scholar
  7. S. J. Ambler, Roy L. Crole, and Alberto Momigliano. A definitional approach to primitive recursion over Higher Order Abstract Syntax. In MERLIN, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Simon Ambler, Roy L. Crole, and Alberto Momigliano. Combining Higher Order Abstract Syntax with tactical theorem proving and (co)induction. In TPHOLs, pages 13--30, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Brian E. Aydemir, Arthur Charguéraud, Benjamin C. Pierce, Randy Pollack, and Stephanie Weirich. Engineering formal metatheory. In POPL, pages 3--15, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jacques Carette, Oleg Kiselyov, and Chung chieh Shan. Finally tagless, partially evaluated. In APLAS, pages 222--238, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Adam J. Chlipala. Parametric higher-order abstract syntax for mechanized semantics. In ICFP, pages 143--156, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Pierre-Louis Curien. Categorical combinators. Information and Control, 69 (1--3): 188--254, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. N. de Bruijn. λ-calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. Indag. Math, 34 (5): 381--392, 1972.Google ScholarGoogle ScholarCross RefCross Ref
  14. Joëlle Despeyroux, Amy P. Felty, and André Hirschowitz. Higher-order abstract syntax in Coq. In TLCA, pages 124--138, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Amy P. Felty and Alberto Momigliano. Hybrid: A definitional two-level approach to reasoning with Higher-Order Abstract Syntax. CoRR, abs/0811.4367, 2008.Google ScholarGoogle Scholar
  16. Marcelo Fiore, Gordon Plotkin, and Daniele Turi. Abstract syntax and variable binding (extended abstract). In LICS, pages 193--202, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. J. Gabbay. A theory of inductive definitions with α-equivalence. Ph.D. thesis. University of Cambridge, 2001.Google ScholarGoogle Scholar
  18. Andrew D. Gordon. A mechanisation of name-carrying syntax up to alpha-conversion. In HUG, pages 413--425, 1994. ISBN 3-540-57826-9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Andrew D. Gordon and Thomas F. Melham. Five axioms of alpha-conversion. In TPHOLs, pages 173--190, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Elsa L. Gunter, Christopher J. Osborn, and Andrei Popescu. Theory support for weak Higher Order Abstract Syntax in Isabelle/HOL. In LFMTP, pages 12--20, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Robert Harper and Daniel R. Licata. Mechanizing metatheory in a logical framework. J. Funct. Program., 17 (4--5): 613--673, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Robert Harper, Furio Honsell, and Gordon Plotkin. A framework for defining logics. In LICS, pages 194--204. IEEE, Computer Society Press, 1987.Google ScholarGoogle Scholar
  23. Martin Hofmann. Semantical analysis of higher-order abstract syntax. In LICS, page 204, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Alberto Momigliano and Simon Ambler. Multi-level meta-reasoning with higher-order abstract syntax. In FoSSaCS, pages 375--391, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Alberto Momigliano, Alan J. Martin, and Amy P. Felty. Two-level Hybrid: A system for reasoning using Higher-Order Abstract Syntax. Electron. Notes Theor. Comput. Sci., 196: 85--93, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Tobias Nipkow, Lawrence C. Paulson, and Markus Wenzel. Isabelle/HOL: A Proof Assistant for Higher-order Logic. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Michael Norrish. Recursive function definition for types with binders. In TPHOLs, pages 241--256, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  28. Michael Norrish. Mechanising lambda-calculus using a classical first order theory of terms with permutations. Higher-Order and Symbolic Computation, 19 (2-3): 169--195, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Michael Norrish and René Vestergaard. Proof pearl: De Bruijn terms really do work. In TPHOLs, pages 207--222, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. L. C. Paulson. The foundation of a generic theorem prover. J. Autom. Reason., 5 (3), 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. F. Pfenning and C. Elliot. Higher-order abstract syntax. In PLDI, pages 199--208, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Andrew M. Pitts. Nominal logic: A first order theory of names and binding. In TACS, pages 219--242, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Andrew M. Pitts. Alpha-structural recursion and induction. J. ACM, 53 (3), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Gordon D. Plotkin. Call-by-name, call-by-value and the lambda-calculus. Theor. Comput. Sci., 1 (2): 125--159, 1975.Google ScholarGoogle ScholarCross RefCross Ref
  35. Robert Pollack and Masahiko Sato. A canonical locally named representation of binding. To appear in Journal of Automated Reasoning. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Andrei Popescu. Contributions to the theory of syntax with bindings and to process algebra. Ph.D. Thesis, Univ. of Illinois, 2010. Available at http://hdl.handle.net/2142/18477. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Andrei Popescu, Elsa L. Gunter, and Christopher J. Osborn. Strong normalization of System F by HOAS on top of FOAS. In LICS, pages 31--40, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Masahiko Sato and Robert Pollack. External and internal syntax of the lambda-calculus. Journal of Symbolic Computation, 45: 598--616, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Carsten Schurmann and Frank Pfenning. Automated theorem proving in a simple meta-logic for LF. In CADE, pages 286--300, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Carsten Schurmann, Joelle Despeyroux, and Frank Pfenning. Primitive recursion for higher-order abstract syntax. Theor. Comput. Sci., 266 (1-2): 1--57, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Masako Takahashi. Parallel reductions in lambda-calculus. Inf. Comput., 118 (1): 120--127, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Christian Urban. Nominal techniques in Isabelle/HOL. J. Autom. Reason., 40 (4): 327--356, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Christian Urban and Stefan Berghofer. A recursion combinator for nominal datatypes implemented in Isabelle/HOL. In IJCAR, pages 498--512, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Christian Urban and Cezary Kaliszyk. General bindings and alpha-equivalence in Nominal Isabelle. In ESOP, pages 480--500, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Christian Urban and Christine Tasson. Nominal techniques in Isabelle/HOL. In CADE, pages 38--53, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Christian Urban, James Cheney, and Stefan Berghofer. Mechanizing the metatheory of LF. In LICS, pages 45--56, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Makarius Wenzel, Lawrence C. Paulson, and Tobias Nipkow. The isabelle framework. In TPHOLs, pages 33--38, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Recursion principles for syntax with bindings and substitution

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 46, Issue 9
      ICFP '11
      September 2011
      456 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2034574
      Issue’s Table of Contents
      • cover image ACM Conferences
        ICFP '11: Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
        September 2011
        470 pages
        ISBN:9781450308656
        DOI:10.1145/2034773

      Copyright © 2011 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 19 September 2011

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!