Advertisement

Literate Proving: Presenting and Documenting Formal Proofs

  • Paul Cairns
  • Jeremy Gow
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3863)

Abstract

Literate proving is the analogue for literate programming in the mathematical realm. That is, the goal of literate proving is for humans to produce clear expositions of formal mathematics that could even be enjoyable for people to read whilst remaining faithful representations of the actual proofs. This paper describes maze, a generic literate proving system. Authors markup formal proof files, such as Mizar files, with arbitary XML and use maze to obtain the selected extracts and transform them for presentation, e.g. as LATEX. To aid its use, maze has built in transformations that include pretty printing and proof sketching for inclusion in LATEX documents. These transformations challenge the concept of faithfulness in literate proving but it is argued that this should be a distinguishing feature of literate proving from literate programming.

Keywords

Formal Language Formal Proof Literate Programming Proof Step Proof Script 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Asperti, A., Buchberger, B., Davenport, J.H. (eds.): MKM 2003. LNCS, vol. 2594. Springer, Heidelberg (2003)Google Scholar
  2. 2.
    Asperti, A., et al.: Mathematical Knowledge Management in HELM. Annals of Mathematics and Artificial Intelligence 38(1), 27–46 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Bertot, Y., Castéran, P.: Coq’Art: The Calculus of Inductive Constructions. Springer, Heidelberg (2004), See also http://coq.inria.fr/
  4. 4.
    Cairns, P., Gow, J.: A theoretical analysis of hierarchical proofs. In: [1], pp. 175–187 (2003)Google Scholar
  5. 5.
    Cairns, P., Gow, J.: Using and parsing Mizar. Electronic Notes in Theoretical Computer Sci. 93, 60–69 (2004)CrossRefGoogle Scholar
  6. 6.
    Cairns, P., Gow, J., Collins, P.: On dynamically presenting a topology course. Annals of Mathematics and Artificial Intelligence 38, 91–104 (2003)zbMATHCrossRefGoogle Scholar
  7. 7.
    Cruz-Filipe, L., Geuvers, H., Wiedijk, F.: C-CoRN, the constructive Coq repository at Nijmegen. In: Asperti, A., Bancerek, G., Trybulec, A. (eds.) MKM 2004. LNCS, vol. 3119, pp. 88–103. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 8.
    Knuth, D.E.: Literate programming. The Computer Journal 27, 97–111 (1984)zbMATHCrossRefGoogle Scholar
  9. 9.
    McConnell, S.: Code Complete: A practical handbook of software construction. Microsoft Press, Redmond (1993)Google Scholar
  10. 10.
    The Mizar Mathematical Library, http://mizar.org
  11. 11.
    Paulson, L.: Isabelle: a generic theorem prover. Springer, Heidelberg (1994)zbMATHGoogle Scholar
  12. 12.
    Raffalli, C., David, R.: Computer Assisted Teaching in Mathematics. In: Proc. Workshop on 35 Years of Automath, Edinburgh (2002)Google Scholar
  13. 13.
    Thimbleby, H.: Experiences of ‘literate programming’ using cweb (a variant of Knuth’s WEB). The Computer Journal 29(3), 201–211 (1986)zbMATHCrossRefGoogle Scholar
  14. 14.
    Thimbleby, H.: Explaining code for publication. Software — Practice and Experience 33, 975–1001 (2003)CrossRefGoogle Scholar
  15. 15.
    Wiedijk, F.: Irrationality of e. Journal of Formalized Mathematics 11(42) (1999)Google Scholar
  16. 16.
    Wiedijk, F. (2000), The De Bruijn Factor, Poster at TPHOL (2000)Google Scholar
  17. 17.
    Wiedijk, F.: Formal Proof Sketches. In: Berardi, S., Coppo, M., Damiani, F. (eds.) TYPES 2003. LNCS, vol. 3085, pp. 378–393. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Wysocki, M., Darmochwał, A.: Subsets of topological spaces. Journal of Formalized Mathematics 1(28) (1989)Google Scholar
  19. 19.
    Zinn, C.: Understanding Informal Mathematical Discourse. PhD Thesis, Arbeitsberichter des Instituts für Informatik, Friedrich-Alexander-Universität, 37(4) (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Paul Cairns
    • 1
  • Jeremy Gow
    • 1
  1. 1.UCL Intereaction CentreUniversity College LondonLondonUK

Personalised recommendations