Hostname: page-component-cd9895bd7-dk4vv Total loading time: 0 Render date: 2024-12-26T09:44:31.803Z Has data issue: false hasContentIssue false

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

Published online by Cambridge University Press:  05 May 2017

AMY FELTY
Affiliation:
School of Electrical Engineering and Computer Science, University of Ottawa, Ottawa, Canada Email: afelty@eecs.uottawa.ca
ALBERTO MOMIGLIANO
Affiliation:
Dipartimento di Informatica, Università degli Studi di Milano, Milano, Italy Email: alberto.momigliano@unimi.it
BRIGITTE PIENTKA
Affiliation:
School of Computer Science, McGill University, Montreal, Canada Email: bpientka@cs.mcgill.ca

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.

Type
Paper
Copyright
Copyright © Cambridge University Press 2017 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Fernández, M. and Urban, C. (2012). Preface: Theory and applications of abstraction, substitution and naming. Journal of Automated Reasoning 49 (2) 111114.Google Scholar
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.Google Scholar
Gacek, A., Miller, D. and Nadathur, G. (2012). A two-level logic approach to reasoning about computations. Journal of Automated Reasoning 49 (2) 241273.Google Scholar
Girard, J.-Y., Lafont, Y. and Tayor, P. (1990). Proofs and Types, Cambridge University Press.Google Scholar
Harper, R., Honsell, F. and Plotkin, G. (1993). A framework for defining logics. Journal of the Association for Computing Machinery 40 (1) 143184.Google Scholar
Harper, R. and Licata, D.R. (2007). Mechanizing metatheory in a logical framework. Journal of Functional Programming 17 (4–5) 613673.Google Scholar
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.Google Scholar
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.Google Scholar
Miller, D. (1991). A logic programming language with lambda-abstraction, function variables, and simple unification. Journal of Logic and Computation 1 (4) 497536.Google Scholar
Miller, D. and Palamidessi, C. (1999). Foundational aspects of syntax. ACM Computing Surveys 31 (3es) 16. Article No. 11.Google Scholar
Momigliano, A. (2000). Elimination of negation in a logical framework. In: Computer Sceince Logic, Lecture Notes in Computer Science, vol. 1862, Springer, 411426.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Pfenning, F. (2001). Computation and deduction. http://www.cs.cmu.edu/~fp/courses/compded/handouts/cd.pdf, Accessed 26 October 2016.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Pierce, B.C. (2002). Types and Programming Languages, MIT Press.Google Scholar
Pierce, B.C. and Weirich, S. (2012). Preface to special issue: The poplmark challenge. Journal of Automated Reasoning 49 (3) 301302.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Sutcliffe, G. (2009). The TPTP problem library and associated infrastructure. Journal of Automated Reasoning 43 (4) 337362.Google Scholar
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.Google Scholar
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.Google Scholar