Rippling: a heuristic for guiding inductive proofs
Artificial Intelligence
An Industrial Strength Theorem Prover for a Logic Based on Common Lisp
IEEE Transactions on Software Engineering
Automatic Synthesis of Recursive Programs: The Proof-Planning Paradigm
Automated Software Engineering
Higher-Order Annotated Terms for Proof Search
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
Proceedings of the 10th International Conference on Automated Deduction
System Description: Proof Planning in Higher-Order Logic with Lambda-Clam
CADE-15 Proceedings of the 15th International Conference on Automated Deduction: Automated Deduction
Journal of Functional Programming
Rippling: meta-level guidance for mathematical reasoning
Rippling: meta-level guidance for mathematical reasoning
Improvements in Formula Generalization
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Constructing Induction Rules for Deductive Synthesis Proofs
Electronic Notes in Theoretical Computer Science (ENTCS)
Automation for Dependently Typed Functional Programming
Fundamenta Informaticae - Dependently Typed Programming
Automating induction with an SMT solver
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Zeno: an automated prover for properties of recursive data structures
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Automating inductive proofs using theory exploration
CADE'13 Proceedings of the 24th international conference on Automated Deduction
Hi-index | 0.00 |
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 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.