Results 1  10
of
12
Conjecture Synthesis for Inductive Theories
 JOURNAL OF AUTOMATED REASONING
, 2010
"... We have developed a program for inductive theory formation, called IsaCoSy, which synthesises conjectures ‘bottomup’ from the available constants and free variables. The synthesis process is made tractable by only generating irreducible terms, which are then filtered through counterexample checkin ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
We have developed a program for inductive theory formation, called IsaCoSy, which synthesises conjectures ‘bottomup’ from the available constants and free variables. The synthesis process is made tractable by only generating irreducible terms, which are then filtered through counterexample checking and passed to the automatic inductive prover IsaPlanner. The main technical contribution is the presentation of a constraint mechanism for synthesis. As theorems are discovered, this generates additional constraints on the synthesis process. We evaluate IsaCoSy as a tool for automatically generating the background theories one would expect in a mature proof assistant, such as the Isabelle system. The results show that IsaCoSy produces most, and sometimes all, of the theorems in the Isabelle libraries. The number of additional uninteresting theorems are small enough to be easily pruned by hand.
A proofcentric approach to mathematical assistants
 Journal of Applied Logic: Special Issue on Mathematics Assistance Systems
, 2005
"... We present an approach to mathematical assistants which uses readable, executable proof scripts as the central language for interaction. We examine an implementation that combines the Isar language, the Isabelle theorem prover and the IsaPlanner proof planner. We argue that this synergy provides a f ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
We present an approach to mathematical assistants which uses readable, executable proof scripts as the central language for interaction. We examine an implementation that combines the Isar language, the Isabelle theorem prover and the IsaPlanner proof planner. We argue that this synergy provides a flexible environment for the exploration, certification, and presentation of mathematical proof.
CaseAnalysis for Rippling and Inductive Proof
"... Abstract. Rippling is a heuristic used to guide rewriting and is typically used for inductive theorem proving. We introduce a method to support caseanalysis within rippling. Like earlier work, this allows goals containing ifstatements to be proved automatically. The new contribution is that our me ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Abstract. Rippling is a heuristic used to guide rewriting and is typically used for inductive theorem proving. We introduce a method to support caseanalysis within rippling. Like earlier work, this allows goals containing ifstatements to be proved automatically. The new contribution is that our method also supports caseanalysis on datatypes. By locating the caseanalysis as a step within rippling we also maintain the termination. The work has been implemented in IsaPlanner and used to extend the existing inductive proof method. We evaluate this extended prover on a large set of examples from Isabelle’s theory library and from the inductive theorem proving literature. We find that this leads to a significant improvement in the coverage of inductive theorem proving. The main limitations of the extended prover are identified, highlight the need for advances in the treatment of assumptions during rippling and when conjecturing lemmas. 1
BestFirst Rippling
, 2006
"... Rippling is a form of rewriting that guides search by only performing steps that reduce the syntactic differences between formulae. Termination is normally ensured by a measure that is decreases with each rewrite step. Because of this restriction, rippling will fail to prove theorems about, for exam ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Rippling is a form of rewriting that guides search by only performing steps that reduce the syntactic differences between formulae. Termination is normally ensured by a measure that is decreases with each rewrite step. Because of this restriction, rippling will fail to prove theorems about, for example, mutual recursion as steps that temporarily increase the differences are necessary. Bestfirst rippling is an extension to rippling where the restrictions have been recast as heuristic scores for use in bestfirst search. If nothing better is available, previously illegal steps can be considered, making bestfirst rippling more flexible than ordinary rippling. We have implemented bestfirst rippling in the IsaPlanner system together with a mechanism for caching proofstates that helps remove symmetries in the search space, and machinery to ensure termination based on term embeddings. Our experiments show that the implementation of bestfirst rippling is faster on average than IsaPlanner’s version of traditional depthfirst rippling, and solves a range of problems where ordinary rippling fails.
IsaPlanner 2: A Proof Planner for Isabelle
"... Abstract. We describe version 2 of IsaPlanner, a proof planner for the Isabelle proof assistant and present the central design decisions and their motivations. The major advances are the support for a declarative presentation of the proof plans, reasoning with metavariables to support middleout re ..."
Abstract
 Add to MetaCart
Abstract. We describe version 2 of IsaPlanner, a proof planner for the Isabelle proof assistant and present the central design decisions and their motivations. The major advances are the support for a declarative presentation of the proof plans, reasoning with metavariables to support middleout reasoning, new proof critics for lemma speculation and case analysis, the ability to mix search strategies, and the inclusion of a higherorder version of rippling that can use bestfirst search. The result is a more flexible and powerful proof planner for exploring proof automation in Isabelle. 1
Lemma Discovery and MiddleOut Reasoning for Automated Inductive Proofs
"... Abstract. Lemma speculation has long been considered a promising technique to automate the discovery of missing lemmas for inductive proofs. This technique involves speculating a schematic lemma that becomes incrementally instantiated by unification as the proof continues. This synthesis process is ..."
Abstract
 Add to MetaCart
Abstract. Lemma speculation has long been considered a promising technique to automate the discovery of missing lemmas for inductive proofs. This technique involves speculating a schematic lemma that becomes incrementally instantiated by unification as the proof continues. This synthesis process is known as middleout reasoning. We have extended lemma speculation, and more generally middleout reasoning, to dynamic rippling for higherorder domains, implemented it in the IsaPlanner system and improved the technique to ensure termination. This provides a practical basis for exploring the applications of middleout reasoning. We demonstrate such an application by performing a critical and comparative evaluation of lemma speculation. This shows that when lemma speculation is applied it often finds the needed lemmas to complete the proof, but it is not applicable as often as initially expected. In comparison, we show that simpler proof methods combined with theory formation methods offer an effective alternative. 1
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
 Add to MetaCart
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
Basic Elements of Logical Graphs
, 2009
"... We considers how a particular kind of graph corresponds to multiplicative intuitionistic linear logic formula. The main feature of the graphical notation is that it absorbs certain symmetries between conjunction and implication. We look at the basic definitions and present details of an implementati ..."
Abstract
 Add to MetaCart
We considers how a particular kind of graph corresponds to multiplicative intuitionistic linear logic formula. The main feature of the graphical notation is that it absorbs certain symmetries between conjunction and implication. We look at the basic definitions and present details of an implementation in the functional programming language Standard ML. This provides a functional approach to graph traversal and demonstrates how graph isomorphism be implemented in just a few lines of readable code. This works takes the initial steps towards a graphical language and toolkit for working with logic formula and derivations. 1
Dynamic Rippling, MiddleOut Reasoning and Lemma Discovery
"... Abstract. We present a succinct account of dynamic rippling, a technique used to guide the automation of inductive proofs. This simplifies termination proofs for rippling and hence facilitates extending the technique in ways that preserve termination. We illustrate this by extending rippling with a ..."
Abstract
 Add to MetaCart
Abstract. We present a succinct account of dynamic rippling, a technique used to guide the automation of inductive proofs. This simplifies termination proofs for rippling and hence facilitates extending the technique in ways that preserve termination. We illustrate this by extending rippling with a terminating version of middleout reasoning for lemma speculation. This supports automatic speculation of schematic lemmas which are incrementally instantiated by unification as the rippling proof progresses. Middleout reasoning and lemma speculation have been implemented in higherorder logic and evaluated on typical libraries of formalised mathematics. This reveals that, when applied, the technique often finds the needed lemmas to complete the proof, but it is not as frequently applicable as initially expected. In comparison, we show that theory formation methods, combined with simpler proof methods, offer an effective alternative. 1
Reflecting Data: Formally Correct Results for Efficient (and Dirty) Algorithms
"... Abstract. We describe an approach to writing efficient algorithms in fully formal proof systems by reflecting the data the algorithm uses, but not the algorithm itself. We illustrate the approach with an efficient algorithm for normalisation of arithmetic terms. Our approach ensures the correctness ..."
Abstract
 Add to MetaCart
Abstract. We describe an approach to writing efficient algorithms in fully formal proof systems by reflecting the data the algorithm uses, but not the algorithm itself. We illustrate the approach with an efficient algorithm for normalisation of arithmetic terms. Our approach ensures the correctness of the algorithm’s result without extending the trusted code of the proof system and without having to prove any properties about the algorithm itself, such as its termination. This approach allows correct results to be ensured even for ‘dirty ’ algorithms such as those which lack a proof of termination. 1