Proviola: a tool for proof re-animation

C. Tankink, J.H. Geuvers, J. McKinna, F. Wiedijk

Research output: Book/ReportReportAcademic

14 Citations (Scopus)
1 Downloads (Pure)

Abstract

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 webinterface (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.
Original languageEnglish
Publishers.n.
Number of pages15
Publication statusPublished - 2010

Publication series

NamearXiv.org [cs.DL]
Volume1005.2672

Fingerprint Dive into the research topics of 'Proviola: a tool for proof re-animation'. Together they form a unique fingerprint.

  • Cite this

    Tankink, C., Geuvers, J. H., McKinna, J., & Wiedijk, F. (2010). Proviola: a tool for proof re-animation. (arXiv.org [cs.DL]; Vol. 1005.2672). s.n.