Assisted Proof Document Authoring

  • David Aspinall
  • Christoph Lüth
  • Burkhart Wolff
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3863)


Recently, significant advances have been made in formalised mathematical texts for large, demanding proofs. But although such large developments are possible, they still take an inordinate amount of effort and time, and there is a significant gap between the resulting formalised machine-checkable proof scripts and the corresponding human-readable mathematical texts. We present an authoring system for formal proof which addresses these concerns. It is based on a central document format which, in the tradition of literate programming, allows one to extract either a formal proof script or a human-readable document; the two may have differing structure and detail levels, but are developed together in a synchronised way. Additionally, we introduce ways to assist production of the central document, by allowing tools to contribute backflow to update and extend it. Our authoring system builds on the new PG Kit architecture for Proof General, bringing the extra advantage that it works in a uniform interface, generically across various interactive theorem provers.


Formal Proof Authoring System Case Distinction Literate Programming Proof General 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrial, J.-R., Cansell, D.: Click’n’prove: Interactive proofs within set theory. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 1–24. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. 2.
    Aspinall, D., Lüth, C.: Commentary on PGIP (September 2003), Available from
  3. 3.
    Aspinall, D., Lüth, C.: Proof General meets IsaWin. In: Aspinall, D., Lüth, C. (eds.) User Interfaces for Theorem Provers UITP 2003. ENTCS, vol. 103(C) (2003)Google Scholar
  4. 4.
    Aspinall, D., Lüth, C.: Parsing, editing, proving: The PGIP display protocol. In: User Interfaces for Theorem Provers UITP 2005 (April 2005)Google Scholar
  5. 5.
    Autexier, S., Benzmüller, C., Fiedler, A., Horacek, H., Bao Vo, Q.: Assertion level proof representation with underspecification. In: Kamareddine, F. (ed.) Proc. MKM Symposium MKM 2003, Edinburgh (November 2003)Google Scholar
  6. 6.
    Avigad, J.: Notes on a formalization of the prime number theorem. Technical report, Carnegie Mellon (2004)Google Scholar
  7. 7.
    Bertot, Y., Kahn, G., Théry, L.: Proof by pointing. In: Hagiya, M., Mitchell, J.C. (eds.) TACS 1994. LNCS, vol. 789, pp. 141–160. Springer, Heidelberg (1994)Google Scholar
  8. 8.
    Brucker, A.D., Rittinger, F., Wolff, B.: HOL-Z 2.0: A proof environment for Z-specifications. Journal of Universal Computer Science 9(2), 152–172 (2003)Google Scholar
  9. 9.
    de Bruijn, N.G.: A survey of project Automath. In: Hindley, J.R., Curry, H.B. (eds.) Essays in Combinatory Logic, Lambda Calculus and Formalism, pp. 589–606. Academic Press, London (1980)Google Scholar
  10. 10.
    Dixon, L., Fleuriot, J.: A proof-centric approach to mathematical assistants. Journal of Applied Logic: Special Issue on Mathematics Assistance Systems (2005) (to appear)Google Scholar
  11. 11.
    Gonthier, G.: A computer-checked proof of the four colour theorem. Technical report, Microsoft Research Cambridge (2004),
  12. 12.
    Grundy, J.: Transformational hierarchical reasoning. Computer Journal 39, 291–302 (1996)CrossRefGoogle Scholar
  13. 13.
    Hales, T.C.: The Flyspeck project page.,
  14. 14.
    Kamareddine, F., Maarek, M., Wells, J.B.: Flexible encoding of mathematics on the computer. In: Asperti, A., Bancerek, G., Trybulec, A. (eds.) MKM 2004. LNCS, vol. 3119, pp. 160–174. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  15. 15.
    Kamareddine, F., Nederpelt, R.: A refinement of deBruijn’s formal language of mathematics. Journal of Logic, Language and Information 13(3), 287–340 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Knuth, D.E.: Literate programming. The Computer Journal 27(2), 97–111 (1984)zbMATHCrossRefGoogle Scholar
  17. 17.
    Kohlhase, M.: Semantic markup for TeX/LaTeX. In: Informal Proc. Mathematical User Interfaces, Math UI 2004 (2004)Google Scholar
  18. 18.
    Lüth, C., Wolff, B.: Functional design and implementation of graphical user interfaces for theorem provers. Journal of Functional Programming 9(2), 167–189 (1999)zbMATHCrossRefGoogle Scholar
  19. 19.
    Lüth, C., Wolff, B.: TAS — a generic window inference system. In: Aagaard, M.D., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 405–422. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  20. 20.
    Mackenzie, D.: What in the name of Euclid is going on here? Science 307, 1402–1403 (2005)MathSciNetGoogle Scholar
  21. 21.
    Relax Ng Xml schema language (2003), Home page at
  22. 22.
    Théry, L.: Formal proof authoring: An experiment. In: Informal Proc. User Interfaces for Theorem Provers, UITP 2003 (2003)Google Scholar
  23. 23.
    Trybulec, A., et al.: The Mizar project. University of Bialystok, Poland (1973), See web page hosted at
  24. 24.
    Wenzel, M.: Isar — a generic interpretative approach to readable formal proof documents. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, p. 167. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  25. 25.
    Wenzel, M.: Isabelle/Isar — a versatile environment for human-readable formal proof documents. PhD thesis, Technische Universität München (2001)Google Scholar
  26. 26.
    Winterstein, D., Aspinall, D., Lüth, C.: Proof General/Eclipse. In: User Interfaces for Theorem Provers UITP 2005 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • David Aspinall
    • 1
  • Christoph Lüth
    • 2
  • Burkhart Wolff
    • 3
  1. 1.LFCS, School of InformaticsThe University of EdinburghU.K.
  2. 2.Department of Mathematics and Computer ScienceUniversität BremenGermany
  3. 3.Department of Computer ScienceETH ZürichSwitzerland

Personalised recommendations