Supporting User-Defined Notations When Integrating Scientific Text-Editors with Proof Assistance Systems

In order to foster the use of proof assistance systems, we integrated the proof assistance system i¾?mega with the standard scientific text-editor ${\rm\kern-.15em T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}$ $_{\rm {\sc MACS}}$. We aim at a document-centric approach to formalizing and verifying mathematics and software. Assisted by the proof assistance system, the author writes her document entirely inside the text-editor in a language she is used to, that is a mixture of natural language and formulas in ${\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}$ style. We present a basic mechanism that allows the author to define her own notation inside a document in a natural way, and use it to parse the formulas written by the author as well as to render the formulas generated by the proof assistance system. To make this mechanism effectively usable in an interactive and dynamic authoring environment, we extend it to efficiently accommodate modifications of notations, to track dependencies to ensure the right order of notations and formulas, to use the hierarchical structure of theories to prevent ambiguities, and to reuse concepts together with their notation from other documents.

[1]  Claudio Sacerdoti Coen,et al.  Efficient Ambiguous Parsing of Mathematical Formulae , 2004, MKM.

[2]  Michael Kohlhase,et al.  OMDoc - An Open Markup Format for Mathematical Documents [version 1.2] , 2006, Lecture Notes in Computer Science.

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

[4]  Christoph Benzmüller,et al.  PlatOmega: A Mediator between Text-Editors and Proof Assistance Systems , 2007, UITP@FLoC.

[5]  Reinhard Wilhelm,et al.  Übersetzerbau - Theorie, Konstruktion, Generierung , 1992 .

[6]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

[7]  Michael Kohlhase,et al.  MathDox : mathematical documents on the web , 2006 .

[8]  Joris Van der Hoeven GNU TeXmacs, A free, structured, wysiwyg and technical text editor , 2001 .

[9]  William M. Waite,et al.  Compiler Construction , 1984, Lecture Notes in Computer Science.

[10]  Stephen M. Watt,et al.  Mathematical Markup Language (MathML) Version 3.0 , 2001, WWW 2001.

[11]  Fairouz Kamareddine,et al.  Toward an Object-Oriented Structure for Mathematical Text , 2005, MKM.

[12]  Reinhard Wilhelm,et al.  Übersetzerbau - Theorie, Konstruktion, Generierung, 2. Auflage , 1997 .

[13]  Andrea Asperti,et al.  User Interaction with the Matita Proof Assistant , 2007, Journal of Automated Reasoning.

[14]  Dieter Hutter,et al.  Development graphs - Proof management for structured specifications , 2006, J. Log. Algebraic Methods Program..

[15]  Luca Padovani,et al.  From Notation to Semantics: There and Back Again , 2006, MKM.