Best-First Rippling

  • Moa Johansson
  • Alan Bundy
  • Lucas Dixon
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4155)


Rippling is a form of rewriting that guides search by only performing steps that reduce the differences between formulae. Termination is normally ensured by a defined measure that is required to decrease with each step. Because of these restrictions, rippling will fail to prove theorems about, for example, mutual recursion where steps that temporarily increase the differences are necessary. Best-first rippling is an extension to rippling where the restrictions have been recast as heuristic scores for use in best-first search. If nothing better is available, previously illegal steps can be considered, making best-first rippling more flexible than ordinary rippling. We have implemented best-first rippling in the IsaPlanner system together with a mechanism for caching proof-states that helps remove symmetries in the search space, and machinery to ensure termination based on term embeddings. Our experiments show that the implementation of best-first rippling is faster on average than IsaPlanner’s version of traditional depth-first rippling, and solves a range of problems where ordinary rippling fails.


Recursive Function Reasoning State Automate Reasoning Induction Scheme Inductive Proof 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Basin, D., Walsh, T.: A calculus for and termination of rippling. Journal of Automated Reasoning 1-2(16), 147–180 (1996)CrossRefMathSciNetGoogle Scholar
  2. 2.
    Brotherston, J., Dennis, L.: LambdaClam v.4.0.1 User/Developer’s manual, Available online:
  3. 3.
    Bundy, A.: The use of explicit plans to guide inductive proofs. In: 9th International Conference on Automated Deduction, pp. 111–120 (1988)Google Scholar
  4. 4.
    Bundy, A.: The termination of rippling + unblocking. Informatics research paper 880, University of Edinburgh (1998)Google Scholar
  5. 5.
    Bundy, A., Basin, D., Hutter, D., Ireland, A.: Rippling: Meta-level Guidance for Mathematical Reasoning. Cambridge University Press, Cambridge (2005)zbMATHCrossRefGoogle Scholar
  6. 6.
    Bundy, A., van Harmelen, F., Hesketh, J., Smaill, A.: Experiments with proof plans for induction. Journal of Automated Reasoning 7, 303–324 (1992)CrossRefGoogle Scholar
  7. 7.
    Bundy, A., van Harmelen, F., Horn, C., Smaill, A.: The Oyster-Clam system. In: Stickel, M.E. (ed.) CADE 1990. LNCS (LNAI), vol. 449, pp. 647–648. Springer, Heidelberg (1990)Google Scholar
  8. 8.
    Cantu, F., Bundy, A., Smaill, A., Basin, D.: Experiments in automating hardware verification using inductive proof planning. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 94–108. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  9. 9.
    Dennis, L.A., Green, I., Smaill, A.: Embeddings as a higher-order representation of annotations for rippling. Technical Report Computer Science No. NOTTCS-WP-SUB-0503230955-5470, University of Nottingham (2005)Google Scholar
  10. 10.
    Dixon, L.: A proof-planning framework for Isabelle. PhD thesis, School of Informatics, University of Edinburgh (2005)Google Scholar
  11. 11.
    Dixon, L., Fleuriot, J.: IsaPlanner: A prototype proof planner in isabelle. In: Baader, F. (ed.) CADE 2003. LNCS, vol. 2741, pp. 279–283. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 12.
    Dixon, L., Fleuriot, J.: Higher-order rippling in IsaPlanner. In: Slind, K., Bunker, A., Gopalakrishnan, G.C. (eds.) TPHOLs 2004. LNCS, vol. 3223, pp. 83–98. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  13. 13.
    Hutter, D.: Coloring terms to control equational reasoning. Journal of Automated Reasoning 18(3), 399–442 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Ireland, A., Bundy, A.: Productive use of failure in inductive proof. Journal of Automated Reasoning 16, 79–111 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Kruskal, J.B.: Well-quasi-ordering, the tree theorem, and Vazsonyi’s conjecture. Transactions of the American Mathematical Society (1960)Google Scholar
  16. 16.
    Lacey, D., Richardson, J., Smaill, A.: Logic Program Synthesis in a Higher-Order Setting. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS, vol. 1861, pp. 87–100. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  17. 17.
    Manning, A., Ireland, A., Bundy, A.: Increasing the versatility of heuristic based theorem provers. In: Voronkov, A. (ed.) LPAR 1993. LNCS (LNAI), vol. 698, pp. 194–204. Springer, Heidelberg (1993)Google Scholar
  18. 18.
    Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  19. 19.
    Richardson, J., Smaill, A., Green, I.: System description: Proof planning in higher-order logic with Lambda-Clam. In: Kirchner, C., Kirchner, H. (eds.) CADE 1998. LNCS (LNAI), vol. 1421, pp. 129–133. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  20. 20.
    Smaill, A., Green, I.: Higher-order annotated terms for proof search. In: Theorem Proving in higher-order logics: 9th international conference. LNCS, vol. 1275, pp. 399–413. Springer, Heidelberg (1996)Google Scholar
  21. 21.
    Walsh, T., Nunes, A., Bundy, A.: The use of proof plans to sum series. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 325–339. Springer, Heidelberg (1992)Google Scholar
  22. 22.
    Wenzel, M.: Isar - a generic interpretative approach to readable formal proof documents. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 167–184. Springer, Heidelberg (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Moa Johansson
    • 1
  • Alan Bundy
    • 1
  • Lucas Dixon
    • 1
  1. 1.School of InformaticsUniversity of EdinburghEdinburghUK

Personalised recommendations