Skip to main content
Log in

The Next 700 Challenge Problems for Reasoning with Higher-Order Abstract Syntax Representations

Part 2—A Survey

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

Over the past three decades, a variety of meta-reasoning systems which support reasoning about higher-order abstract specifications have been designed and developed. In this paper, we survey and compare four meta-reasoning systems, Twelf, Beluga, Abella and Hybrid, using several benchmarks from the open repository ORBI that describes challenge problems for reasoning with higher-order abstract syntax representations. In particular, we investigate how these systems mechanize and support reasoning using a context of assumptions. This highlights commonalities and differences in these systems and is a first step towards translating between them.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Accattoli, B.: Proof pearl: Abella formalization of λ-calculus cube property. In: Second International Conference on Certified Programs and Proofs, Springer, LNCS, vol. 7679, pp. 173–187 (2012)

  2. Ambler, S.J., Crole, R.L., Momigliano, A.: A definitional approach to primitive recursion over higher order abstract syntax. In: ACM Workshop on MEchanized Reasoning about Languages with varIable biNding, ACM Press, pp. 1–11 (2003)

  3. Appel, A.W.: Verified software toolchain. In: Programming Languages and Systems, Springer, LNCS, vol. 6602, pp. 1–17 (2011)

  4. Baelde, D.: On the expressivity of minimal generic quantification. In: Third International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice, LFMTP 2008, Elsevier, ENTCS, vol. 228, pp. 3–19 (2009)

  5. Bélanger, O.S., Chaudhuri, K.: Automatically deriving schematic theorems for dynamic contexts. In: Ninth International Workshop on Logical Frameworks and Meta-languages: Theory and Practice, ACM Press, International Conference Proceedings Series, pp. 9:1–9:8 (2014)

  6. de Bruijn, N.G.: A plea for weaker frameworks. In: Huet, G., Plotkin, G. (eds.), pp. 40–67. Cambridge University Press, Logical Frameworks (1991)

  7. Capretta, V., Felty, A.P.: Combining de Bruijn indices and higher-order abstract syntax in Coq. In: Types for Proofs and Programs, International Workshop, TYPES 2006, Springer, LNCS, vol. 4502, pp. 63–77 (2007)

  8. Cave, A., Pientka, B.: Programming with binders and indexed data-types. In: Thirty-Ninth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM Press, pp. 413–424 (2012)

  9. Cave, A., Pientka, B.: First-class substitutions in contextual type theory. In: Eighth ACM SIGPLAN International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice, ACM Press, pp. 15–24 (2013)

  10. Cave, A., Pientka, B.: Mechanizing logical relation proofs using contextual types theory. Tech. rep., School of Computer Science, McGill University (2014)

    Google Scholar 

  11. Crary, K.: Explicit contexts in LF (extended abstract). In: Third International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice, LFMTP 2008, Elsevier, ENTCS, vol. 228, pp. 53–68 (2009)

  12. Dunfield, J., Pientka, B.: Case analysis of higher-order data. In: Third International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice, LFMTP 2008, Elsevier, ENTCS, vol. 228, pp. 69–84 (2009)

  13. Felty, A., Pientka, B.: Reasoning with higher-order abstract syntax and contexts: A comparison. In: First International Conference on Interactive Theorem Proving, Springer, LNCS, vol. 6172, pp. 227–242 (2010)

  14. Felty, A.P.: Two-level meta-reasoning in Coq. In: Fifteenth International Conference on Theorem Proving in Higher-Order Logics, Springer, LNCS, vol. 2410, pp. 198–213 (2002)

  15. Felty, A.P., Momigliano, A.: Reasoning with hypothetical judgments and open terms in Hybrid. In: Eleventh ACM SIGPLAN International Symposium on Principles and Practice of Declarative Programming, ACM Press, pp. 83–92 (2009)

  16. Felty, A.P., Momigliano, A.: Hybrid: A definitional two-level approach to reasoning with higher-order abstract syntax. J. Autom. Reason. 48(1), 43–105 (2012)

    Article  MATH  MathSciNet  Google Scholar 

  17. Felty, A.P., Momigliano, A., Pientka, B.: The next 700 challenge problems for reasoning with higher-order abstract syntax representations: Part 1—a common infrastructure for benchmarks. CoRR (2015). arXiv:1503.06095

  18. Ferreira, F., Monnier, S., Pientka, B.: Compiling contextual objects: Bringing higher-order abstract syntax to programmers. In: Seventh ACM SIGPLAN Workshop on Programming Languages Meets Program Verification, ACM Press, pp. 13–24 (2013)

  19. Gacek, A.: The Abella interactive theorem prover (system description), vol. 5195, pp. 154–161 (2008)

  20. Gacek, A.: A framework for specifying, prototyping, and reasoning about computational systems. PhD thesis, University of Minnesota (2009)

  21. Gacek, A., Miller, D., Nadathur, G.: Nominal abstraction. Inf. Comput. 209(1), 48–73 (2011)

    Article  MATH  MathSciNet  Google Scholar 

  22. Gacek, A., Miller, D., Nadathur, G.: A two-level logic approach to reasoning about computations. J. Autom. Reason. 49(2), 241–273 (2012)

    Article  MATH  MathSciNet  Google Scholar 

  23. Habli, N., Felty, A.P.: Translating higher-order specifications to Coq libraries supporting Hybrid proofs. In: Third International Workshop on Proof Exchange for Theorem Proving, EasyChair Proceedings in Computing, vol. 14, pp. 67–76 (2013)

  24. Harper, R., Licata, D.R.: Mechanizing metatheory in a logical framework. J. Funct. Program. 17(4-5), 613–673 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  25. Harper, R., Honsell, F., Plotkin, G.: A framework for defining logics. J. Assoc. Comput. Mach. 40(1), 143–184 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  26. Leroy, X.: Formal verification of a realistic compiler. Commun. ACM 52(7), 107–115 (2009)

    Article  Google Scholar 

  27. McDowell, R.C., Miller, D.A.: Reasoning with higher-order abstract syntax in a logical framework. ACM Trans. Comput. Log. 3(1), 80–136 (2002)

    Article  MathSciNet  Google Scholar 

  28. Miller, D., Nadathur, G.: Programming with Higher-Order Logic. Cambridge University Press (2012)

  29. Momigliano, A.: A supposedly fun thing I may have to do again: A HOAS encoding of Howe’s method. In: Seventh ACM SIGPLAN International Workshop on Logical Frameworks and Meta-Languages, Theory and Practice, ACM Press, pp. 33–42 (2012)

  30. Momigliano, A., Ambler, S.J.: Multi-level meta-reasoning with higher order abstract syntax. In: Sixth International Conference on Foundations of Software Science and Computational Structures, Springer, LNCS, vol. 2620, pp. 375–391 (2003)

  31. Momigliano, A., Ambler, S., Crole, R.L.: A Hybrid encoding of Howe’s method for establishing congruence of bisimilarity. Electr. Notes Theor. Comput. Sci. 70(2), 60–75 (2002)

    Article  Google Scholar 

  32. Momigliano, A., Martin, A.J., Felty, A.P.: Two-level Hybrid: A system for reasoning using higher-order abstract syntax. In: Second International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice, LFMTP 2007, Elsevier, ENTCS, vol. 196, pp. 85–93 (2008)

  33. Nanevski, A., Pfenning, F., Pientka, B.: Contextual modal type theory. ACM Trans. Comput. Log. 9(3), 1–49 (2008)

    Article  MathSciNet  Google Scholar 

  34. Pfenning, F.: Computation and deduction, http://www.cs.cmu.edu/~fp/courses/comp-ded/handouts/cd.pdf, accessed 14 October 2014 (2001)

  35. Pientka, B.: Verifying termination and reduction properties about higher-order logic programs. J. Autom. Reason. 34(2), 179–207 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  36. Pientka, B.: A type-theoretic foundation for programming with higher-order abstract syntax and first-class substitutions. In: Thirty-Fifth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM Press, pp. 371–382 (2008)

  37. Pientka, B.: Programming inductive proofs: A new approach based on contextual types. In: Verification, Induction, Termination Analysis: Festschrift for Christoph Walther, Springer, LNCS, vol. 6463, pp. 1–16 (2010)

  38. Pientka, B., Abel, A.: Structural recursion over contextual objects. In: Thirteenth International Conference on Typed Lambda Calculi and Applications, Leibniz International Proceedings in Informatics (LIPIcs) of Schloss Dagstuhl (forthcoming) (2015)

  39. Pientka, B., Dunfield, J.: Programming with proofs and explicit contexts. In: Tenth ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming, ACM Press, pp. 163–173 (2008)

  40. Pientka, B., Dunfield, J.: Beluga: A framework for programming and reasoning with deductive systems (system description). In: Fifth International Joint Conference on Automated Reasoning, Springer, LNCS, vol. 6173, pp. 15–21 (2010)

  41. Rohwedder, E., Pfenning, F.: Mode and termination checking for higher-order logic programs. In: Programming Languages and Systems: Sixth European Symposium on Programming, Springer, LNCS, vol. 1058, pp. 296–310 (1996)

  42. Schürmann, C.: The Twelf proof assistant. In: Twenty-Second International Conference on Theorem Proving in Higher Order Logics, Springer, LNCS, vol. 5674, pp. 79–83 (2009)

  43. Schürmann, C., Pfenning, F.: Automated theorem proving in a simple meta-logic for LF. In: Fifteenth International Conference on Automated Deduction, Springer, LNCS, vol. 1421, pp. 286–300 (1998)

  44. Schürmann, C., Pfenning, F.: A coverage checking algorithm for LF. In: Sixteenth International Conference on Theorem Proving in Higher Order Logics, Springer, LNCS, vol. 2758, pp. 120–135 (2003)

  45. Tiu, A., Momigliano, A.: Cut elimination for a logic with induction and co-induction. J. Appl. Log. 10(4), 330–367 (2012)

    Article  MATH  MathSciNet  Google Scholar 

  46. Wang, Y., Nadathur, G.: Towards extracting explicit proofs from totality checking in Twelf. In: Eighth ACM SIGPLAN International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice, ACM Press, pp. 55–66 (2013)

  47. Wang, Y., Chaudhuri, K., Gacek, A., Nadathur, G.: Reasoning about higher-order relational specifications. In: Fifteenth International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, ACM Press, pp. 157–168 (2013)

  48. Zhao, J., Nagarakatte, S., Martin, M.M.K., Zdancewic, S.: Formalizing the LLVM intermediate representation for verified program transformations. In: Thirty-Ninth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM Press, pp. 427–440 (2012)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Amy P. Felty.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Felty, A.P., Momigliano, A. & Pientka, B. The Next 700 Challenge Problems for Reasoning with Higher-Order Abstract Syntax Representations. J Autom Reasoning 55, 307–372 (2015). https://doi.org/10.1007/s10817-015-9327-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-015-9327-3

Keywords

Navigation