Rippling is a radically new technique for the automation of mathematical reasoning. It is widely applicable whenever a goal is to be proved from one or more syntactically similar givens. It was originally developed for inductive proofs, where the goal was the induction conclusion and the givens were the induction hypotheses. It has proved to be applicable to a much wider class of tasks, from summing series via analysis to general equational reasoning. The application to induction has especially important practical implications in the building of dependable IT systems, and provides solutions to issues such as the problem of combinatorial explosion. Rippling is the first of many new search control techniques based on formula annotation; some additional annotated reasoning techniques are also described here. This systematic and comprehensive introduction to rippling, and to the wider subject of automated inductive theorem proving, will be welcomed by researchers and graduate students alike.

• Describes a brand new approach to automated reasoning • Can be used with profit by students or software engineers working in software correctness and automated theorem proving • First book on the subject

### Contents

Preface; 1. An introduction to rippling; 2. Varieties of rippling; 3. Productive use of failure; 4. A formal account of rippling; 5. The scope and limitations of rippling; 6. From rippling to a general methodology; 7. Conclusions; Appendix 1. An annotated calculus and a unification algorithm; Appendix 2. Definitions of functions used in this book; Bibliography; Index.