Case-Analysis for Rippling and Inductive Proof [chapter]

Moa Johansson, Lucas Dixon, Alan Bundy
2010 Lecture Notes in Computer Science  
Rippling is a heuristic used to guide rewriting and is typically used for inductive theorem proving. We introduce a method to support case-analysis within rippling. Like earlier work, this allows goals containing if-statements to be proved automatically. The new contribution is that our method also supports case-analysis on datatypes. By locating the case-analysis as a step within rippling we also maintain the termination. The work has been implemented in IsaPlanner and used to extend the
more » ... ng 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. 7 isabelle.in.tum.de/dist/library/HOL/index.html 8
doi:10.1007/978-3-642-14052-5_21 fatcat:njjk37j6t5gnboei52wohrjfaa