A Combinator Language for Theorem Discovery

We define and implement a combinator language for intermediate lemma discovery. We start by generalising an algebraic data-structure for unbounded search and then extend it to support case-analysis. With our language defined, we expect users to be able to write discoverers which collaborate intelligently in specific problem domains. For now, the language integrates rewriting, forward-deduction, and case-analysis and discovers lemmas concurrently based on an interactive proof context. We argue that the language is most suitable for adding domain-specific automation to mechanically formalised proofs written in a forward-style, and we show how the language is used via a case-study in geometry.

[1]  R. Milner,et al.  The use of machines to assist in rigorous proof , 1984, Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences.

[2]  Philip Wadler XQuery: A Typed Functional Language for Querying XML , 2002, Advanced Functional Programming.

[3]  Eliakim Hastings Moore On The Projective Axioms Of Geometry , 2009 .

[4]  Michael J. C. Gordon,et al.  From LCF to HOL: a short history , 2000, Proof, Language, and Interaction.

[5]  Alan Bundy,et al.  MATHsAiD: A Mathematical Theorem Discovery Tool , 2006, 2006 Eighth International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[6]  Philip Wadler Monads for Functional Programming , 1995, Advanced Functional Programming.

[7]  João Saraiva,et al.  Designing and Implementing Combinator Languages , 1998, Advanced Functional Programming.

[8]  Phil Scott,et al.  Composable Discovery Engines for Interactive Theorem Proving , 2011, ITP.

[9]  John Harrison,et al.  HOL Light: A Tutorial Introduction , 1996, FMCAD.

[10]  Jacques D. Fleuriot,et al.  Formalizing Hilbert's Grundlagen in Isabelle/Isar , 2003, TPHOLs.

[11]  David B. MacQueen,et al.  The Definition of Standard ML (Revised) , 1997 .

[12]  J. Michael Spivey Algebras for combinatorial search , 2009, J. Funct. Program..

[13]  G. Plotkin,et al.  Proof, language, and interaction: essays in honour of Robin Milner , 2000 .

[14]  David Aspinall,et al.  Formalising Java's Data Race Free Guarantee , 2007, TPHOLs.

[15]  HighWire Press Philosophical Transactions of the Royal Society of London , 1781, The London Medical Journal.

[16]  P. Scott Mechanising Hilbert's Foundations of Geometry in Isabelle , 2008 .

[17]  Toby Walsh,et al.  On the notion of interestingness in automated mathematical discovery , 2000, Int. J. Hum. Comput. Stud..

[18]  Robin Milner,et al.  Definition of standard ML , 1990 .

[19]  Thomas C. Hales,et al.  Introduction to the Flyspeck Project , 2005, Mathematics, Algorithms, Proofs.