Proviola: A Tool for Proof Re-animation

  • Carst Tankink
  • Herman Geuvers
  • James McKinna
  • Freek Wiedijk
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6167)


To improve on existing models of interaction with a proof assistant (PA), in particular for storage and replay of proofs, we introduce three related concepts, those of: a proof movie, consisting of frames which record both user input and the corresponding PA response; a camera, which films a user’s interactive session with a PA as a movie; and a proviola, which replays a movie frame-by-frame to a third party.

In this paper we describe the movie data structure and we discuss a prototype implementation of the camera and proviola based on the ProofWeb system [7]. ProofWeb uncouples the interaction with a PA via a web-interface (the client) from the actual PA that resides on the server. Our camera films a movie by “listening” to the ProofWeb communication.

The first reason for developing movies is to uncouple the reviewing of a formal proof from the PA used to develop it: the movie concept enables users to discuss small code fragments without the need to install the PA or to load a whole library into it.

Other advantages include the possibility to develop a separate commentary track to discuss or explain the PA interaction. We assert that a combined camera+proviola provides a generic layer between a client (user) and a server (PA). Finally we claim that movies are the right type of data to be stored in an encyclopedia of formalized mathematics, based on our experience in filming the Coq standard library.


Formal Proof Prototype Implementation Local Copy Proof State Proof Step 
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.
    Aspinall, D., Lüth, C., Winterstein, D.: A framework for interactive proof. In: Kauers, M., Kerber, M., Miner, R., Windsteiger, W. (eds.) MKM/CALCULEMUS 2007. LNCS (LNAI), vol. 4573, pp. 161–175. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Coq-Club Mailing List: The Coq-Club mailing list. Mailing List,
  3. 3.
    Coq Development Team, T.: The Coq standard library. Library documented on, (obtained on March 5, 2010)
  4. 4.
    Corbineau, P., Kaliszyk, C.: Cooperative repositories for formal proofs. In: Kauers, M., Kerber, M., Miner, R., Windsteiger, W. (eds.) MKM/CALCULEMUS 2007. LNCS (LNAI), vol. 4573, pp. 221–234. Springer, Heidelberg (2007), CrossRefGoogle Scholar
  5. 5.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software, 1st edn. Addison-Wesley, Reading (1994)Google Scholar
  6. 6.
    Geuvers, H., Mamane, L.: A document-oriented Coq plugin for TeXmacs. In: Libbrecht, P. (ed.) MathUI Workshop, MKM 2006 Conference, Wokingham, UK (2006),
  7. 7.
    Kaliszyk, C.: Web interfaces for proof assistants. In: Autexier, S., Benzmüller, C. (eds.) Proceedings of UITP 2006, Seattle. ENTCS, vol. 174(2), pp. 49–61 (2007),
  8. 8.
    Kaliszyk, C.: Correctness and Availability. Building Computer Algebra on top of Proof Assistants and making Proof Assistants available over the Web. Ph.D. thesis, Radboud University Nijmegen (2009),
  9. 9.
    Kohlhase, M.: OMDoc – An Open Markup Format for Mathematical Documents (version 1.2). LNCS (LNAI), vol. 4180. Springer, Heidelberg (2006)Google Scholar
  10. 10.
    Matita Team: Matita interactive theorem prover. Web page, obtained from,
  11. 11.
    Pierce, B.C., Casinghino, C., Greenberg, M.: Software foundations. Course notes (2010),
  12. 12.
    Tankink, C., Geuvers, H., McKinna, J.: Narrating formal proof (work in progress). In: Submitted to UITP 2010 (2010),
  13. 13.
    Wenzel, M.: Parallel proof checking in Isabelle/Isar. In: Reis, G.D., Théry, L. (eds.) PLMMS 2009. ACM, Munich (2009), Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Carst Tankink
    • 1
  • Herman Geuvers
    • 1
    • 2
  • James McKinna
    • 1
  • Freek Wiedijk
    • 1
  1. 1.Institute for Computing and Information SciencesRadboud University NijmegenNijmegen
  2. 2.Technical UniversityEindhovenThe Netherlands

Personalised recommendations