Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison

  • Amy Felty
  • Brigitte Pientka
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6172)


A variety of logical frameworks support the use of higher-order abstract syntax (HOAS) in representing formal systems given via axioms and inference rules and reasoning about them. In such frameworks, object-level binding is encoded directly using meta-level binding. Although these systems seem superficially the same, they differ in a variety of ways; for example, in how they handle a context of assumptions and in what theorems about a given formal system can be expressed and proven. In this paper, we present several case studies which highlight a variety of different aspects of reasoning using HOAS, with the intention of providing a basis for qualitative comparison of different systems. We then carry out such a comparison among three systems: Twelf, Beluga, and Hybrid. We also develop a general set of criteria for comparing such systems. We hope that others will implement these challenge problems, apply these criteria, and further our understanding of the trade-offs involved in choosing one system over another for this kind of reasoning.


Inference Rule Deductive System Recursive Call Logical Framework Sequent Calculus 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aydemir, B., et al.: Mechanized metatheory for the masses: The POPLmark challenge. In: Hurd, J., Melham, T.F. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 50–65. Springer, Heidelberg (2005)Google Scholar
  2. 2.
    Baelde, D., Snow, Z., Miller, D.: Focused inductive theorem proving. In: Giesl, J., Hähnle, R. (eds.) IJCAR 2010. LNCS, vol. 6173, pp. 278–292. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  3. 3.
    Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. Coq’Art: The Calculus of Inductive Constructions. Springer, Heidelberg (2004)zbMATHGoogle Scholar
  4. 4.
    Dunfield, J., Pientka, B.: Case analysis of higher-order data. In: LFMTP’08. Electr. Notes in Theor. Comput. Sci, vol. 228, pp. 69–84 (2009)Google Scholar
  5. 5.
    Felty, A.P., Momigliano, A.: Hybrid: A definitional two-level approach to reasoning with higher-order abstract syntax. CoRR, abs/0811.4367 (2008)Google Scholar
  6. 6.
    Gacek, A.: The Abella interactive theorem prover (system description). In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 154–161. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Harper, R., Honsell, F., Plotkin, G.: A framework for defining logics. Journal of the ACM 40(1), 143–184 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Harper, R., Licata, D.R.: Mechanizing metatheory in a logical framework. Journal of Functional Programming 17(4-5), 613–673 (2007)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    McDowell, R.C., Miller, D.A.: Reasoning with higher-order abstract syntax in a logical framework. ACM Transactions on Computational Logic 3(1), 80–136 (2002)CrossRefMathSciNetGoogle Scholar
  10. 10.
    Momigliano, A., Martin, A.J., Felty, A.P.: Two-level Hybrid: A system for reasoning using higher-order abstract syntax. In: LFMTP’07. Electr. Notes Theor. Comput. Sci, vol. 196, pp. 85–93 (2008)Google Scholar
  11. 11.
    Nipkow, T., Paulson, L.C., Wenzel, M. (eds.): Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  12. 12.
    Pientka, B.: Verifying termination and reduction properties about higher-order logic programs. Journal of Automated Reasoning 34(2), 179–207 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Pientka, B.: A type-theoretic foundation for programming with higher-order abstract syntax and first-class substitutions. In: 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’08), pp. 371–382. ACM Press, New York (2008)CrossRefGoogle Scholar
  14. 14.
    Pientka, B., Dunfield, J.: Beluga: A Framework for Programming and Reasoning with Deductive Systems (System Description). In: Giesl, J., Hähnle, R. (eds.) IJCAR 2010. LNCS, vol. 6173, pp. 15–21. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  15. 15.
    Pfenning, F., Schürmann, C.: System description: Twelf — a meta-logical framework for deductive systems. In: Ganzinger, H. (ed.) CADE 1999. LNCS (LNAI), vol. 1632, pp. 202–206. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  16. 16.
    Poswolsky, A.B., Schürmann, C.: Practical programming with higher-order encodings and dependent types. In: Drossopoulou, S. (ed.) ESOP 2008. LNCS, vol. 4960, pp. 93–107. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  17. 17.
    Schürmann, C.: Automating the Meta Theory of Deductive Systems. PhD thesis, Department of Computer Science, Carnegie Mellon University. CMU-CS-00-146 (2000)Google Scholar
  18. 18.
    Schürmann, C., Sarnat, J.: Structural logical relations. In: 23rd Annual Symposium on Logic in Computer Science (LICS), pp. 69–80. IEEE Computer Society, Los Alamitos (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Amy Felty
    • 1
  • Brigitte Pientka
    • 2
  1. 1.SITEUniversity of OttawaOttawaCanada
  2. 2.School of Computer ScienceMcGill UniversityMontrealCanada

Personalised recommendations