Results 1  10
of
10
READEVALPRINT in parallel and asynchronous proofchecking
 In: User Interfaces for Theorem Provers (UITP 2012). EPTCS (2013
"... The LCF tradition of interactive theorem proving, which was started by Milner in the 1970ies, appears to be tied to the classic READEVALPRINTLOOP of sequential and synchronous evaluation of prover commands. We break up this loop and retrofit the readevalprint phases into a model of parallel an ..."
Abstract

Cited by 5 (5 self)
 Add to MetaCart
The LCF tradition of interactive theorem proving, which was started by Milner in the 1970ies, appears to be tied to the classic READEVALPRINTLOOP of sequential and synchronous evaluation of prover commands. We break up this loop and retrofit the readevalprint phases into a model of parallel and asynchronous proof processing. Thus we explain some key concepts behind the implementation of the Isabelle/Scala layer for prover interaction and integration, and the Isabelle/jEdit Prover IDE as frontend technology. We hope to open up the scientific discussion about nontrivial interaction models for ITP systems again, and help getting other oldschool proofassistants on a similar track.
Ribbon Proofs for Separation Logic
"... Abstract—We present a diagrammatic system for constructing and presenting readable program proofs in separation logic. A program proof should not merely certify that a program is correct; it should explain why it is correct. By examining a proof, one should gain understanding of both the program bei ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Abstract—We present a diagrammatic system for constructing and presenting readable program proofs in separation logic. A program proof should not merely certify that a program is correct; it should explain why it is correct. By examining a proof, one should gain understanding of both the program being considered and the proof technique being used. To
Automatic Proof and Disproof in Isabelle/HOL
, 2011
"... Isabelle/HOL is a popular interactive theorem prover based on higherorder logic. It owes its success to its ease of use and powerful automation. Much of the automation is performed by external tools: The metaprover Sledgehammer relies on resolution provers and SMT solvers for its proof search, the c ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Isabelle/HOL is a popular interactive theorem prover based on higherorder logic. It owes its success to its ease of use and powerful automation. Much of the automation is performed by external tools: The metaprover Sledgehammer relies on resolution provers and SMT solvers for its proof search, the counterexample generator Quickcheck uses the ML compiler as a fast evaluator for ground formulas, and its rival Nitpick is based on the model finder Kodkod, which performs a reduction to SAT. Together with the Isar structured proof format and a new asynchronous user interface, these tools have radically transformed the Isabelle user experience. This paper provides an overview of the main automatic proof and disproof tools.
PIDE as frontend technology for Coq
"... 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 interp ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
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 frontend 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 reimplement 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 proofofconcept 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. 1
Ribbon Proofs for Separation Logic A verification pearl
"... We present ribbon proofs, a diagrammatic proof system for separation logic. Inspired by an eponymous system due to Bean, ribbon proofs emphasise the structure of a proof, so are intelligible and hence useful pedagogically. Because they contain less redundancy than proof outlines, and allow each proo ..."
Abstract
 Add to MetaCart
We present ribbon proofs, a diagrammatic proof system for separation logic. Inspired by an eponymous system due to Bean, ribbon proofs emphasise the structure of a proof, so are intelligible and hence useful pedagogically. Because they contain less redundancy than proof outlines, and allow each proof step to be checked locally, they are highly scalable (and we illustrate this with a ribbon proof of the Version 7 Unix memory manager). Where proof outlines are cumbersome to modify, ribbon proofs can be visually manoeuvred to yield proofs of variant programs. This paper introduces the ribbon proof system, proves its soundness and completeness, and outlines a prototype tool for validating the diagrams in Isabelle. 1.
Ideas for a MathWiki Editor
"... We present some functional and nonfunctional requirements and wishes for a webbased editor for formalized mathematics, in particular for use in the MathWiki project at RU Nijmegen [13]. We discuss possible implementation alternatives, and argue for a holistic design of the entire wiki with editor ..."
Abstract
 Add to MetaCart
We present some functional and nonfunctional requirements and wishes for a webbased editor for formalized mathematics, in particular for use in the MathWiki project at RU Nijmegen [13]. We discuss possible implementation alternatives, and argue for a holistic design of the entire wiki with editor features in mind. 1
Automatic Proofs and Refutations for . . .
, 2012
"... This thesis describes work on two components of the interactive theorem prover Isabelle/HOL that generate proofs and counterexamples for higherorder conjectures by harnessing external firstorder reasoners. Our primary contribution is the development of Nitpick, a counterexample generator that bui ..."
Abstract
 Add to MetaCart
This thesis describes work on two components of the interactive theorem prover Isabelle/HOL that generate proofs and counterexamples for higherorder conjectures by harnessing external firstorder reasoners. Our primary contribution is the development of Nitpick, a counterexample generator that builds on a firstorder relational model finder based on a Boolean satisfiability (SAT) solver. Nitpick supports (co)inductive predicates and datatypes as well as (co)recursive functions. A novel aspect of this work is the use of a monotonicity inference to prune the search space and to soundly interpret infinite types with finite sets, leading to considerable speed and precision improvements. In a case study, Nitpick was successfully applied to an Isabelle formalization of the C++ memory model. Our second main contribution is the further development of the Sledgehammer proof tool. This tool heuristically selects facts relevant to the conjecture to prove,
Asynchronous User Interaction and Tool Integration in Isabelle/PIDE
"... Abstract. Historically, the LCF tradition of interactive theorem proving was tied to the readevalprint loop, with sequential and synchronous evaluation of prover commands given on the commandline. This userinterface technology was adequate when R. Milner introduced his LCF proof assistant in the ..."
Abstract
 Add to MetaCart
Abstract. Historically, the LCF tradition of interactive theorem proving was tied to the readevalprint loop, with sequential and synchronous evaluation of prover commands given on the commandline. This userinterface technology was adequate when R. Milner introduced his LCF proof assistant in the 1970ies, but it severely limits the potential of current multicore hardware and advanced IDE frontends. Isabelle/PIDE breaks this loop and retrofits the readevalprint phases into an asynchronous model of documentoriented 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 frontend perspective on the proof document, while making adequate use of the CPU resources on multicore hardware on the backend. Recent refinements of Isabelle/PIDE provide an explicit concept of asynchronous print functions over existing proof states. This allows to integrate longrunning or potentially nonterminating tools into the documentmodel. Applications range from traditional proof state output (which may consume substantial time in interactive development) to automated provers and disprovers 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 findtheorems). Thus the Prover IDE provides continuous proof processing, augmented by addon tools that help the user to continue writing proofs. 1