VSL 2014: VIENNA SUMMER OF LOGIC 2014

Asynchronous User Interaction and Tool Integration in Isabelle/PIDE

Author: Makarius Wenzel

PapersPapers with AbstractsPrefaceAuthor IndexKeyword Index

Paper Information

Title:Asynchronous User Interaction and Tool Integration in Isabelle/PIDE
Authors:Makarius Wenzel
Proceedings:ITP 2014 LNCS Proceedings
Editors: Gerwin Klein and Ruben Gamboa
Keywords:user interfaces for interactive theorem provers, improvements in theorem prover technology, Isabelle/PIDE and Isabelle/jEdit
Abstract:

ABSTRACT. Historically, the LCF tradition of interactive theorem proving was tied to the read-eval-print loop, with sequential and synchronous evaluation of prover commands given on the command-line. This user-interface technology was adequate when R. Milner introduced his LCF proof assistant in the 1970-ies, but it severely limits the potential of current multicore hardware and advanced IDE front-ends.

Isabelle/PIDE breaks this loop and retrofits the read-eval-print phases into an asynchronous model of document-oriented proof processing. Instead of feeding a sequence of individual commands into the prover process, the primary interface works via edits over a family of document versions. Execution is implicit and managed by the prover on its own account in a timeless and stateless manner. Various aspects of interactive proof checking are scheduled according to requirements determined by the front-end perspective on the proof document, while making adequate use of the CPU resources on multicore hardware on the back-end.

Recent refinements of Isabelle/PIDE provide an explicit concept of asynchronous print functions over existing proof states. This allows to integrate long-running or potentially non-terminating tools into the document-model. Applications range from traditional proof state output (which may consume substantial time in interactive development) to automated provers and dis-provers that report on existing proof document content (e.g. Sledgehammer, Nitpick, Quickcheck in Isabelle/HOL). Moreover, it is possible to integrate query operations via additional GUI panels with separate input and output (e.g. for Sledgehammer or find-theorems). Thus the Prover IDE provides continuous proof processing, augmented by add-on tools that help the user to continue writing proofs.

Pages:16
Talk:Jul 15 17:00
Paper:
Disclaimer | Powered by EasyChair Smart Program