Skip to main content
×
Home

Benchmarks for reasoning with syntax trees containing binders and contexts of assumptions

  • AMY FELTY (a1), ALBERTO MOMIGLIANO (a2) and BRIGITTE PIENTKA (a3)
Abstract

A variety of logical frameworks supports the use of higher order abstract syntax in representing formal systems. Although these systems seem superficially the same, they differ in a variety of ways, for example, how they handle a context of assumptions and which theorems about a given formal system can be concisely expressed and proved. Our contributions in this paper are two-fold: (1) We develop a common infrastructure and language for describing benchmarks for systems supporting reasoning with binders, and (2) we present several concrete benchmarks, which highlight a variety of different aspects of reasoning within a context of assumptions. Our work provides the background for the qualitative comparison of different systems that we have completed in a separate paper. It also allows us to outline future fundamental research questions regarding the design and implementation of meta-reasoning systems.

Copyright
References
Hide All
Aydemir B.E., Bohannon A., Fairbairn M., Foster J.N., Pierce B.C., Sewell P., Vytiniotis D., Washburn G., Weirich S. and Zdancewic S. (2005). Mechanized metatheory for the masses: The poplmark challenge. In: Proceedings of the 18th International Conference on Theorem Proving in Higher Order Logics, Lecture Notes in Computer Science, vol. 3603, Springer, 50–65.
Cave A. and Pientka B. (2012). Programming with binders and indexed data-types. In: Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM Press, 413–424.
Cave A. and Pientka B. (2015). A case study on logical relations using contextual types. In: Proceedings of the 10th International Workshop on Logical Frameworks and Meta Languages: Theory and Practice, LFMTP 2015, Electronic Proceedings in Theoretical Computer Science, vol. 185, 33–45.
Claessen K., Johansson M., Rosén D. and Smallbone N. (2015). TIP: Tons of inductive problems. In: Kerber M., Carette J., Kaliszyk C., Rabe F. and Sorge V. (eds.) Proceedings of the Intelligent Computer Mathematics - International Conference, CICM 2015, Washington, DC, USA, July 13–17, 2015, Lecture Notes in Computer Science, vol. 9150, Springer, 333–337.
Crary K. (2009). Explicit contexts in LF (extended abstract). In: Proceedings of the 3rd International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice, LFMTP 2008, Electronic Proceedings in Theoretical Computer Science, vol. 228, Elsevier, 53–68.
Felty A., Momigliano A. and Pientka B. (2015a). The next 700 challenge problems for reasoning with higher-order abstract syntax representations: Part 2—a survey. Journal of Automated Reasoning 55 (4) 307372.
Felty A.P. and Momigliano A. (2012). Hybrid: A definitional two-level approach to reasoning with higher-order abstract syntax. Journal of Automated Reasoning 48 (1) 43105.
Felty A.P., Momigliano A. and Pientka B. (2015b). An open challenge problem repository for systems supporting binders. In: Proceedings of the 10th International Workshop on Logical Frameworks and Meta Languages: Theory and Practice, LFMTP 2015, Electronic Proceedings in Theoretical Computer Science, vol. 185, pages 18–32.
Fernández M. and Urban C. (2012). Preface: Theory and applications of abstraction, substitution and naming. Journal of Automated Reasoning 49 (2) 111114.
Gacek A. (2008). The Abella interactive theorem prover (system description). In: Proceedings of the 4th International Joint Conference on Automated Reasoning, Lecture Notes in Computer Science, vol. 5195, 154–161.
Gacek A., Miller D. and Nadathur G. (2012). A two-level logic approach to reasoning about computations. Journal of Automated Reasoning 49 (2) 241273.
Girard J.-Y., Lafont Y. and Tayor P. (1990). Proofs and Types, Cambridge University Press.
Harper R., Honsell F. and Plotkin G. (1993). A framework for defining logics. Journal of the Association for Computing Machinery 40 (1) 143184.
Harper R. and Licata D.R. (2007). Mechanizing metatheory in a logical framework. Journal of Functional Programming 17 (4–5) 613673.
Hoos H.H. and Stützle T. (2000). Satlib: An online resource for research on SAT. In: Gent I., Maaren H.V. and Walsh T. (eds.) SAT 2000: Highlights of Satisfiability Research in the Year 2000, Frontiers in Artificial Intelligence and Applications, vol. 63, IOS Press, 283292.
Martin-Löf P. (1996). On the meanings of the logical constants and the justifications of the logical laws. Nordic Journal of Philosophical Logic 1 (1) 1160.
Miller D. (1991). A logic programming language with lambda-abstraction, function variables, and simple unification. Journal of Logic and Computation 1 (4) 497536.
Miller D. and Palamidessi C. (1999). Foundational aspects of syntax. ACM Computing Surveys 31 (3es) 16. Article No. 11.
Momigliano A. (2000). Elimination of negation in a logical framework. In: Computer Sceince Logic, Lecture Notes in Computer Science, vol. 1862, Springer, 411426.
Momigliano A. (2012). A supposedly fun thing I may have to do again: A HOAS encoding of Howe's method. In: Proceedings of the 7th ACM SIGPLAN International Workshop on Logical Frameworks and Meta-Languages, Theory and Practice, ACM Press, 33–42.
Momigliano A., Ambler S. and Crole R.L. (2002). A Hybrid encoding of Howe's method for establishing congruence of bisimilarity. Electronic Notes in Theoretical Computer Science 70 (2) 6075.
Momigliano A., Martin A.J. and Felty A.P. (2008). Two-level Hybrid: A system for reasoning using higher-order abstract syntax. In: Proceedings of the 2nd International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice, LFMTP 2008, Electronic Notes in Theoretical Computer Science, vol. 196, Elsevier, 85–93.
Pfenning F. (2001). Computation and deduction. http://www.cs.cmu.edu/~fp/courses/compded/handouts/cd.pdf, Accessed 26 October 2016.
Pientka B. (2007). Proof pearl: The power of higher-order encodings in the logical framework LF. In: Proceedings of the 20th International Conference on Theorem Proving in Higher-Order Logics, Lecture Notes in Computer Science, Springer, 246–261.
Pientka B. (2008). A type-theoretic foundation for programming with higher-order abstract syntax and first-class substitutions. In: Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symp. Principles of Programming Languages, ACM Press, 371–382.
Pientka B. and Cave A. (2015). Inductive Beluga: Programming proofs (system description). In: Felty A.P. and Middeldorp A. (eds.) Proceedings of the 25th International Conference on Automated Deduction (CADE-25), Lecture Notes in Computer Science, vol. 9195, Springer, 272–281.
Pientka B. and Dunfield J. (2008). Programming with proofs and explicit contexts. In: Proceedings of the 10th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming, ACM Press, 163–173.
Pientka B. and Dunfield J. (2010). Beluga: A framework for programming and reasoning with deductive systems (system description). In: Proceedings of the 5th International Joint Conference on Automated Reasoning, Lecture Notes in Computer Science, vol. 6173, Springer, 15–21.
Pierce B.C. (2002). Types and Programming Languages, MIT Press.
Pierce B.C. and Weirich S. (2012). Preface to special issue: The poplmark challenge. Journal of Automated Reasoning 49 (3) 301302.
Poswolsky A. B. and Schürmann C. (2008). Practical programming with higher-order encodings and dependent types. In: Proceedings of the 17th European Symposium on Programming, Lecture Notes in Computer Science, vol. 4960, Springer, 93–107.
Schürmann C. (2000). Automating the Meta Theory of Deductive Systems. PhD thesis, Department of Computer Science, Carnegie Mellon University. Available as Technical Report CMU-CS-00-146.
Schürmann C. (2009). The Twelf proof assistant. In: Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics, Lecture Notes in Computer Science, vol. 5674, Springer, 79–83.
Schürmann C. and Pfenning F. (2003). A coverage checking algorithm for LF. In: Prceedings 16th International Conference on Theorem Proving in Higher Order Logics, Lecture Notes in Computer Science, vol. 2758, Springer, 120–135.
Schürmann C. and Sarnat J. (2008). Structural logical relations. In: Proceedings of the 23rd Annual IEEE Symposium on Logic in Computer Science, IEEE Computer Society, 69–80.
Sutcliffe G. (2009). The TPTP problem library and associated infrastructure. Journal of Automated Reasoning 43 (4) 337362.
Wang Y., Chaudhuri K., Gacek A. and Nadathur G. (2013). Reasoning about higher-order relational specifications. In: Proceedings of the 15th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, ACM Press, 157–168.
Wang Y. and Nadathur G. (2013). Towards extracting explicit proofs from totality checking in Twelf. In: Proceedings of the 8th ACM SIGPLAN International Workshop on Logical Frameworks and Meta-languages: Theory and Practice, ACM Press, 55–66.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 13 *
Loading metrics...

Abstract views

Total abstract views: 87 *
Loading metrics...

* Views captured on Cambridge Core between 5th May 2017 - 25th November 2017. This data will be updated every 24 hours.