Results 1 
5 of
5
A Proof Planning Framework for Isabelle
, 2005
"... Proof planning is a paradigm for the automation of proof that focuses on encoding intelligence to guide the proof process. The idea is to capture common patterns of reasoning which can be used to derive abstract descriptions of proofs known as proof plans. These can then be executed to provide fully ..."
Abstract

Cited by 14 (9 self)
 Add to MetaCart
Proof planning is a paradigm for the automation of proof that focuses on encoding intelligence to guide the proof process. The idea is to capture common patterns of reasoning which can be used to derive abstract descriptions of proofs known as proof plans. These can then be executed to provide fully formal proofs. This thesis concerns the development and analysis of a novel approach to proof planning that focuses on an explicit representation of choices during search. We embody our approach as a proof planner for the generic proof assistant Isabelle and use the Isar language, which is humanreadable and machinecheckable, to represent proof plans. Within this framework we develop an inductive theorem prover as a case study of our approach to proof planning. Our prover uses the difference reduction heuristic known as rippling to automate the step cases of the inductive proofs. The development of a flexible approach to rippling that supports its various modifications and extensions is the second major focus of this thesis. Here, our inductive theorem prover provides a context in which to evaluate rippling experimentally. This work results in an efficient and powerful inductive theorem prover for Isabelle as well as proposals for further improving the efficiency of rippling. We also draw observations in order
Connectiondriven inductive theorem proving
 Studia Logica
"... Abstract. We present a method for integrating ripplingbased rewriting into matrixbased theorem proving as a means for automating inductive specification proofs. The selection of connections in an inductive matrix proof is guided by symmetries between induction hypothesis and induction conclusion. ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
Abstract. We present a method for integrating ripplingbased rewriting into matrixbased theorem proving as a means for automating inductive specification proofs. The selection of connections in an inductive matrix proof is guided by symmetries between induction hypothesis and induction conclusion. Unification is extended by decision procedures and a rippling/reverserippling heuristic. Conditional substitutions are generated whenever a uniform substitution is impossible. We illustrate the integrated method by discussing several inductive proofs for the integer square root problem as well as the algorithms extracted from these proofs.
Matrixbased Inductive Theorem Proving
 TABLEAUX2000, LNAI 1847
, 2000
"... We present an approach to inductive theorem proving that integrates ripplingbased rewriting into matrixbased logical proof search. ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
We present an approach to inductive theorem proving that integrates ripplingbased rewriting into matrixbased logical proof search.
Inductive Proof Automation for Coq
"... We introduce inductive proof automation for Coq that supports reasoning about inductively defined data types and recursively defined functions. This includes support for proofs involving case splits and situations where multiple inductive hypotheses appear in step case proofs. The automation uses th ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
We introduce inductive proof automation for Coq that supports reasoning about inductively defined data types and recursively defined functions. This includes support for proofs involving case splits and situations where multiple inductive hypotheses appear in step case proofs. The automation uses the rippling heuristic to control rewriting in step case proofs and uses heuristics for generalising goals. Additionally, the automation caches lemmas found during proof attempts so that these lemmas may be reused in future proofs. We show that the techniques we present provide a highlevel of automation for inductive proofs that improves upon what is already available in Coq. We also discuss a technique that, by inspecting finished proofs, can identify and then remove irrelevant subformulae from cached lemmas, making the latter more reusable. Finally, we compare our work to related research in the field. 1
Research Statement
"... My principal research interest lies in developing a theoretical and practical foundation for building and reasoning about reliable software. To achieve this goal, I combine theoretical research in programming languages and verification with system building and realworld experiments. In particular, ..."
Abstract
 Add to MetaCart
(Show Context)
My principal research interest lies in developing a theoretical and practical foundation for building and reasoning about reliable software. To achieve this goal, I combine theoretical research in programming languages and verification with system building and realworld experiments. In particular, I apply techniques from logic, type theory, and automated deduction to find rigorous solutions to problems exposed in practice. The main focus of my work has been the logical framework Twelf, which provides an experimental platform to specify, implement, and execute formal systems. Such formal systems, described by axioms and inference rules, include operational semantics of programming languages, type systems, or different logics. To concisely model many features prevalent in these formal systems the Twelf system supports a typed higherorder logic programming language. The high expressive power of this programming language together with its declarative nature makes Twelf an ideal foundation for prototyping and building reliable software. Recently, Twelf has been applied to mobile code security in largescale projects at Princeton and Carnegie Mellon. To provide guarantees about the behavior of mobile code, programs are equipped with a certificate (proof) that asserts certain safety properties. These safety properties are represented as higherorder logic programs. Twelfâ€™s logic programming interpreter then executes