Supporting the formal verification of mathematical texts

Abstract The formal verification of mathematical texts is one of the most interesting applications for computer systems. In fact, we argue that the expert language of mathematics is the natural choice for achieving efficient mathematician–machine interaction. Our empirical approach, the analysis of carefully authored textbook proofs, forces us to focus on the language and the reasoning pattern that mathematician use when presenting proofs to colleagues and students. Enabling a machine to understand and follow such language and argumentation is seen to be the key to usable and acceptable math assistant systems. In this paper, we first perform an analysis of three textbook proofs by hand; we then describe a computational framework that aims at mechanising such an analysis. The resulting proof-of-concept implementation is capable of processing simple textbook proofs and constitutes promising steps towards a natural mathematician–machine interface for proof development and verification.

[1]  Craige Roberts Modal subordination and pronominal anaphora in discourse , 1989 .

[2]  de Ng Dick Bruijn Mathematics and computers , 1989 .

[3]  H. Kamp,et al.  On Context Dependence In Modal Constructions , 1997 .

[4]  Christoph Benzmüller,et al.  Assertion-level Proof Representation with Under-Specification , 2004, Electron. Notes Theor. Comput. Sci..

[5]  van Ls Bert Benthem Jutting,et al.  Checking Landau's “Grundlagen” in the Automath System: Appendices 3 and 4 (The PN-lines; Excerpt for “Satz 27”) , 1994 .

[6]  Henk Barendregt Towards an interactive Mathematical Proof Language , 2003 .

[7]  Christoph Benzmüller,et al.  System Description: A Dialog Manager supporting Tutorial Natural Language Dialogue on Proofs , 2005 .

[8]  James F. Allen,et al.  Arguing about Plans: Plan Representation and Reasoning for Mixed-initiative Planning , 1994, AIPS.

[9]  de Ng Dick Bruijn,et al.  The mathematical language AUTOMATH, its usage, and some of its extensions , 1970 .

[10]  Andrew Ireland,et al.  Productive use of failure in inductive proof , 1996, Journal of Automated Reasoning.

[11]  Armin Fiedler User-adaptive proof explanation , 2001 .

[12]  Helen Lowe,et al.  XBarnacle: Making Theorem Provers More Accessible , 1997, CADE.

[13]  David Aspinall,et al.  Proof General: A Generic Tool for Proof Development , 2000, TACAS.

[14]  Alan Robinson,et al.  Handbook of automated reasoning , 2001 .

[15]  Gila Hanna,et al.  Rigorous proof in mathematics education , 1983 .

[16]  Frank van Harmelen,et al.  Rippling: A Heuristic for Guiding Inductive Proofs , 1993, Artif. Intell..

[17]  Freek Wiedijk,et al.  A Comparison of Mizar and Isar , 2004, Journal of Automated Reasoning.

[18]  Aarne Ranta,et al.  An Extensible Proof Text Editor , 2000, LPAR.

[19]  Hao Wang,et al.  Toward Mechanical Mathematics , 1960, IBM J. Res. Dev..

[20]  Ian Green,et al.  System Description: Proof Planning in Higher-Order Logic with Lambda-Clam , 1998, CADE.

[21]  Matthew Stone,et al.  Anaphora and Discourse Structure , 2001, CL.

[22]  Volker Sorge,et al.  Omega: Towards a Mathematical Assistant , 1997, CADE.

[23]  Tobias Nipkow,et al.  Isabelle/HOL , 2002, Lecture Notes in Computer Science.

[24]  Donald Simon Checking Natural Language Proofs , 1988, CADE.

[25]  William Judson LeVeque Elementary Theory of Numbers , 1990 .

[26]  Uwe Reyle,et al.  From discourse to logic , 1993 .

[27]  Ivana Kruijff-Korbayová,et al.  Language phenomena in tutorial dialogs on mathematical proofs , 2003 .

[28]  E. Wright,et al.  An Introduction to the Theory of Numbers , 1939 .

[29]  Markus Wenzel,et al.  Isabelle, Isar - a versatile environment for human readable formal proof documents , 2002 .

[30]  Markus Wenzel,et al.  Isar - A Generic Interpretative Approach to Readable Formal Proof Documents , 1999, TPHOLs.

[31]  E. Landau,et al.  Grundlagen der Analysis , 1934 .

[32]  Rp Rob Nederpelt Weak Type Theory : a formal language for mathematics , 2002 .

[33]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[34]  Frank van Harmelen,et al.  The Oyster-Clam System , 1990, CADE.

[35]  Jan van Eijck,et al.  Representing Discourse in Context , 1997, Handbook of Logic and Language.

[36]  Robert L. Constable,et al.  Verbalization of High-Level Formal Proofs , 1999, AAAI/IAAI.

[37]  Christoph Weidenbach,et al.  Combining Superposition, Sorts and Splitting , 2001, Handbook of Automated Reasoning.

[38]  Fairouz Kamareddine,et al.  A Refinement of de Bruijn's Formal Language of Mathematics , 2004, J. Log. Lang. Inf..

[39]  Jacques D. Fleuriot,et al.  IsaPlanner: A Prototype Proof Planner in Isabelle , 2003, CADE.

[40]  Alan Bundy,et al.  The Use of Explicit Plans to Guide Inductive Proofs , 1988, CADE.

[41]  Lawrence C. Paulson,et al.  A comparison of the mathematical proof languages Mizar and Isar , 2002 .