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

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.

[1]  Brigitte Pientka,et al.  First-class substitutions in contextual type theory , 2013, LFMTP '13.

[2]  Amy P. Felty,et al.  Hybrid - A Definitional Two-Level Approach to Reasoning with Higher-Order Abstract Syntax , 2012, J. Autom. Reason..

[3]  Andrew W. Appel,et al.  Verified Software Toolchain , 2012, NASA Formal Methods.

[4]  Hans van Maaren,et al.  Sat2000: Highlights of Satisfiability Research in the Year 2000 , 2000 .

[5]  Alberto Momigliano,et al.  Multi-level Meta-reasoning with Higher-Order Abstract Syntax , 2003, FoSSaCS.

[6]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[7]  Harperrobert,et al.  Mechanizing metatheory in a logical framework , 2007 .

[8]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[9]  Brigitte Pientka,et al.  Programming with proofs and explicit contexts , 2008, PPDP '08.

[10]  Brigitte Pientka,et al.  Programming with binders and indexed data-types , 2012, POPL '12.

[11]  Dale Miller,et al.  Reasoning with higher-order abstract syntax in a logical framework , 2000, TOCL.

[12]  Andrew Gacek,et al.  A Framework for Specifying, Prototyping, and Reasoning about Computational Systems , 2009, ArXiv.

[13]  David Baelde On the Expressivity of Minimal Generic Quantification , 2009, Electron. Notes Theor. Comput. Sci..

[14]  Robert Harper,et al.  Mechanizing metatheory in a logical framework , 2007, Journal of Functional Programming.

[15]  Journal of the Association for Computing Machinery , 1961, Nature.

[16]  Karl Crary Explicit Contexts in LF (Extended Abstract) , 2009, Electron. Notes Theor. Comput. Sci..

[17]  Carsten Schürmann,et al.  Practical Programming with Higher-Order Encodings and Dependent Types , 2008, ESOP.

[18]  Brigitte Pientka Verifying Termination and Reduction Properties about Higher-Order Logic Programs , 2005, Journal of Automated Reasoning.

[19]  N. G. de Bruijn,et al.  A plea for weaker frameworks , 1991 .

[20]  Orna Grumberg,et al.  A game-based framework for CTL counterexamples and 3-valued abstraction-refinement , 2007, TOCL.

[21]  Patrick J. Hayes,et al.  Computation and Deduction , 1973, MFCS.

[22]  Matthias Felleisen,et al.  Semantics Engineering with PLT Redex , 2009 .

[23]  Brigitte Pientka Programming Inductive Proofs - A New Approach Based on Contextual Types , 2010, Verification, Induction, Termination Analysis.

[24]  Christian Urban,et al.  Preface: Theory and Applications of Abstraction, Substitution and Naming , 2011, Journal of Automated Reasoning.

[25]  Amy P. Felty,et al.  Combining de Bruijn Indices and Higher-Order Abstract Syntax in Coq , 2006, TYPES.

[26]  Amy P. Felty,et al.  Translating Higher-Order Specifications to Coq Libraries Supporting Hybrid Proofs , 2013, PxTP@CADE.

[27]  Roy L. Crole,et al.  A definitional approach to primitivexs recursion over higher order abstract syntax , 2003, MERLIN '03.

[28]  Carsten Schürmann,et al.  The Twelf Proof Assistant , 2009, TPHOLs.

[29]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.

[30]  Brigitte Pientka,et al.  Well-Founded Recursion over Contextual Objects , 2015, TLCA.

[31]  Tom Ridge,et al.  Ott: effective tool support for the working semanticist , 2007, ICFP '07.

[32]  Benjamin C. Pierce,et al.  Mechanized Metatheory for the Masses: The PoplMark Challenge , 2005, TPHOLs.

[33]  Geoff Sutcliffe The TPTP Problem Library and Associated Infrastructure , 2009, Journal of Automated Reasoning.

[34]  Gopalan Nadathur,et al.  Nominal abstraction , 2011, Inf. Comput..

[35]  Milo M. K. Martin,et al.  Formalizing the LLVM intermediate representation for verified program transformations , 2012, POPL '12.

[36]  Thomas Stützle,et al.  SATLIB: An Online Resource for Research on SAT , 2000 .

[37]  Frank Pfenning,et al.  A Coverage Checking Algorithm for LF , 2003, TPHOLs.

[38]  F. Pfenning,et al.  Automating the meta theory of deductive systems , 2000 .

[39]  Alberto Momigliano,et al.  Elimination of Negation in a Logical Framework , 2000, CSL.

[40]  Brigitte Pientka A type-theoretic foundation for programming with higher-order abstract syntax and first-class substitutions , 2008, POPL '08.

[41]  Jean-Christophe Filliâtre,et al.  One Logic to Use Them All , 2013, CADE.

[42]  Beniamino Accattoli Proof Pearl: Abella Formalization of λ-Calculus Cube Property , 2012, CPP.

[43]  J. Girard,et al.  Proofs and types , 1989 .

[44]  Alwen Tiu,et al.  Programming in Higher-Order Logic , 2009 .

[45]  Brigitte Pientka,et al.  Compiling contextual objects: bringing higher-order abstract syntax to programmers , 2013, PLPV.

[46]  Brigitte Pientka,et al.  Case Analysis of Higher-Order Data , 2009, Electron. Notes Theor. Comput. Sci..

[47]  Grigore Rosu,et al.  An overview of the K semantic framework , 2010, J. Log. Algebraic Methods Program..

[48]  Roy L. Crole,et al.  A Hybrid Encoding of Howe's Method for Establishing Congruence of Bisimilarity , 2002, Electron. Notes Theor. Comput. Sci..

[49]  Andrew Gacek The Abella Interactive Theorem Prover (System Description) , 2008, IJCAR.

[50]  Kaustuv Chaudhuri,et al.  Automatically Deriving Schematic Theorems for Dynamic Contexts , 2014, LFMTP '14.

[51]  Amy P. Felty,et al.  Reasoning with hypothetical judgments and open terms in hybrid , 2009, PPDP '09.

[52]  Brigitte Pientka Proof Pearl: The Power of Higher-Order Encodings in the Logical Framework LF , 2007, TPHOLs.

[53]  Frank Pfenning,et al.  Mode and Termination Checking for Higher-Order Logic Programs , 1996, ESOP.

[54]  P. Martin-Löf On the meanings of the logical constants and the justi cations of the logical laws , 1996 .

[55]  Amy P. Felty,et al.  Two-Level Hybrid: A System for Reasoning Using Higher-Order Abstract Syntax , 2008, Electron. Notes Theor. Comput. Sci..

[56]  Alberto Momigliano A supposedly fun thing i may have to do again: a HOAS encoding of Howe's method , 2012, LFMTP '12.

[57]  Carsten Schürmann,et al.  Structural Logical Relations , 2008, 2008 23rd Annual IEEE Symposium on Logic in Computer Science.

[58]  Gopalan Nadathur,et al.  Towards extracting explicit proofs from totality checking in twelf , 2013, LFMTP '13.

[59]  Gopalan Nadathur,et al.  A Two-Level Logic Approach to Reasoning About Computations , 2011, Journal of Automated Reasoning.

[60]  Dale Miller,et al.  Foundational aspects of syntax , 1999, CSUR.

[61]  Alberto Momigliano,et al.  Cut elimination for a logic with induction and co-induction , 2012, J. Appl. Log..

[62]  Amy P. Felty,et al.  Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison , 2010, ITP.

[63]  Gopalan Nadathur,et al.  Reasoning about higher-order relational specifications , 2013, PPDP.

[64]  Robert J. Simmons,et al.  SASyLF: an educational proof assistant for language theory , 2008, FDPE '08.

[65]  Geoff Sutcliffe,et al.  THF0 - The Core of the TPTP Language for Higher-Order Logic , 2008, IJCAR.

[66]  Frank Pfenning,et al.  Automated Theorem Proving in a Simple Meta-Logic for LF , 1998, CADE.

[67]  Xavier Leroy,et al.  Formal verification of a realistic compiler , 2009, CACM.

[68]  Frank Pfenning,et al.  Contextual modal type theory , 2008, TOCL.

[69]  Brigitte Pientka,et al.  Beluga: A Framework for Programming and Reasoning with Deductive Systems (System Description) , 2010, IJCAR.

[70]  Tom Ridge,et al.  Ott: Effective tool support for the working semanticist , 2010, J. Funct. Program..

[71]  Amy P. Felty Two-Level Meta-reasoning in Coq , 2002, TPHOLs.

[72]  Brigitte Pientka,et al.  Structural Recursion over Contextual Objects , 2014 .