18 research outputs found
Isabelle/PIDE as Platform for Educational Tools
The Isabelle/PIDE platform addresses the question whether proof assistants of
the LCF family are suitable as technological basis for educational tools. The
traditionally strong logical foundations of systems like HOL, Coq, or Isabelle
have so far been counter-balanced by somewhat inaccessible interaction via the
TTY (or minor variations like the well-known Proof General / Emacs interface).
Thus the fundamental question of math education tools with fully-formal
background theories has often been answered negatively due to accidental
weaknesses of existing proof engines.
The idea of "PIDE" (which means "Prover IDE") is to integrate existing
provers like Isabelle into a larger environment, that facilitates access by
end-users and other tools. We use Scala to expose the proof engine in ML to the
JVM world, where many user-interfaces, editor frameworks, and educational tools
already exist. This shall ultimately lead to combined mathematical assistants,
where the logical engine is in the background, without obstructing the view on
applications of formal methods, formalized mathematics, and math education in
particular.Comment: In Proceedings THedu'11, arXiv:1202.453
Proviola: A Tool for Proof Re-animation
To improve on existing models of interaction with a proof assistant (PA), in
particular for storage and replay of proofs, we in- troduce 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 proto- type implementation of the camera and
proviola based on the ProofWeb system. 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 com- mentary 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.Comment: Accepted for the 9th International Conference on Mathematical
Knowledge Management (MKM 2010), 15 page
Advanced Proof Viewing in ProofTool
Sequent calculus is widely used for formalizing proofs. However, due to the
proliferation of data, understanding the proofs of even simple mathematical
arguments soon becomes impossible. Graphical user interfaces help in this
matter, but since they normally utilize Gentzen's original notation, some of
the problems persist. In this paper, we introduce a number of criteria for
proof visualization which we have found out to be crucial for analyzing proofs.
We then evaluate recent developments in tree visualization with regard to these
criteria and propose the Sunburst Tree layout as a complement to the
traditional tree structure. This layout constructs inferences as concentric
circle arcs around the root inference, allowing the user to focus on the
proof's structural content. Finally, we describe its integration into ProofTool
and explain how it interacts with the Gentzen layout.Comment: In Proceedings UITP 2014, arXiv:1410.785
ProofPeer - A Cloud-based Interactive Theorem Proving System
ProofPeer strives to be a system for cloud-based interactive theorem proving.
After illustrating why such a system is needed, the paper presents some of the
design challenges that ProofPeer needs to meet to succeed. Contexts are
presented as a solution to the problem of sharing proof state among the users
of ProofPeer. Chronicles are introduced as a way to organize and version
contexts
Integrating Systems around the User: Combining Isabelle, Maple, and QEPCAD in the Prover's Palette
AbstractWe describe the Proverʼs Palette, a general, modular architecture for combining tools for formal verification, with the key differentiator that the integration emphasises the role of the user. A concrete implementation combining the theorem prover Isabelle with the computer algebra systems Maple and QEPCAD-B is then presented. This illustrates that the design principles of the Proverʼs Palette simplify tool integrations while enhancing the power and usability of theorem provers
User Interfaces for Theorem Provers: Necessary Nuisance or Unexplored Potential?
This note considers the design of user interfaces for interactive theorem provers. The basic rules of interface design are reviewed, and their applicability to theorem provers is discussed, leading to considerations about the particular challenges of interface design for theorem provers. A short overview and classification of existing interfaces is given, followed by suggestions of possible future work in the area
PIDE as front-end technology for Coq
Isabelle/PIDE is the current Prover IDE technology for Isabelle. It has been
developed in ML and Scala in the past 4-5 years for this particular proof
assistant, but with an open mind towards other systems. PIDE is based on an
asynchronous document model, where the prover receives edits continuously and
updates its internal state accordingly. The interpretation of edits and the
policies for proof document processing are determined by the prover. The editor
front-end merely takes care of visual rendering of formal document content.
Here we report on an experiment to connect Coq to the PIDE infrastructure of
Isabelle. This requires to re-implement the core PIDE protocol layer of
Isabelle/ML in OCaml. The payload for semantic processing of proof document
content is restricted to lexical analysis in the sense of existing CoqIde
functionality. This is sufficient as proof-of-concept for PIDE connectivity.
Actual proof processing is then a matter of improving Coq towards timeless and
stateless proof processing, independently of PIDE technicalities. The
implementation worked out smoothly and required minimal changes to the refined
PIDE architecture of Isabelle2013.
This experiment substantiates PIDE as general approach to prover interaction.
It illustrates how other provers of the greater ITP family can participate by
following similar reforms of the classic TTY loop as was done for Isabelle in
the past few years
Web Interfaces for Proof Assistants
AbstractThis article describes an architecture for creating responsive web interfaces for proof assistants. The architecture combines current web development technologies with the functionality of local prover interfaces, to create an interface that is available completely within a web browser, but resembles and behaves like a local one. Security, availability and efficiency issues of the proposed solution are described. A prototype implementation of a web interface for the Coq proof assistant [Coq Development Team, “The Coq Proof Assistant Reference Manual Version 8.0,” INRIA-Rocquencourt (2005), URL: http://coq.inria.fr/doc-eng.html] created according to our architecture is presented. Access to the prototype is available on http://hair-dryer.cs.ru.nl:1024/