Rippling

Rippling

Rippling [Rippling: Meta-Level Guidance for Mathematical Reasoning, Alan Bundy, David Basin, Dieter Hutter, Andrew Ireland,Cambridge University Press, 2005. ISBN 052183449X] refers to a group of meta-level heuristics, developed primarily in the Mathematical Reasoning Group in the School of Informatics at the University of Edinburgh, and most commonly used to guide inductive proofs in automated theorem proving systems. Rippling may be viewed as a restricted form of rewrite system, where special object level annotations are used to ensure fertilization upon the completion of rewriting, with a measure decreasing requirement ensuring termination for any set of rewrite rules and expression.

History

Raymond Aubin was the first person to use the term "rippling out" whilst working on his 1976 PhD thesis at the University of Edinburgh. He recognised a common pattern of movement during the rewriting stage of inductive proofs. Alan Bundy later turned this concept on its head by defining rippling to be this pattern of movement, rather than a side effect.

Since then, "rippling sideways", "rippling in" and "rippling past" were coined, so the term was generalised to rippling. Rippling continues to be developed at Edinburgh, and elsewhere, to this day.

Rippling has been applied to many problems traditionally viewed as being hard in the inductive theorem proving community, including Bledsoe's limit theorems and a proof of the Gordon microprocessor, a miniature computer developed by Mike Gordon and his team at Cambridge.

Overview

Very often, when attempting to prove a proposition, we are given a source expression and a target expression, which differ only by the inclusion of a few extra syntactic elements.

This is especially true in inductive proofs, where the given expression is taken to be the inductive hypothesis, and the target expression the inductive conclusion. Usually, the differences between the hypothesis and conclusion are only minor, perhaps the inclusion of a successor function (e.g., +1) around the induction variable.

At the start of rippling the differences between the two expressions, known as wave-fronts in rippling parlance, are identified. Typically these differences are prevent the completion of the proof and need to be "moved away". The target expression is annotated to distinguish the wavefronts (differences) and skeleton (common structure) between the two expressions. Special rules, called wave rules, can then be used in a terminating fashion to manipulate the target expression until it the source expression can be used to complete the proof.

One common form of rippling, rippling out, has the wave rules move the differences in between the two terms outwards "like the ripples on a lake" giving rise to the name rippling.

Example

We aim to show that the addition of natural numbers is commutative. This is an elementary property, and the proof is by routine induction. Nevertheless, the search space for finding such a proof may become quite large.

Typically, the base case of any inductive proof is solved by methods other than rippling. For this reason, we will concentrate on the step case.Our step case takes the following form, where we have chosen to use x as the induction variable:

We may also possess several rewrite rules, drawn from lemmas, inductive definitions or elsewhere, that can be used to form wave-rules.Suppose we have the following three rewrite rules:

then these can be annotated, to form:

Note that all these annotated rules preserve the skeleton (x + y = y + x, in all cases). Now, annotating the inductive step case, gives us:

And we are all set to perform rippling:

Note, the final rewrite causes all wave-fronts to disappear, and we may now apply fertilization, the application of the inductive hypotheses, to complete the proof.

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Rippling — Ripple Rip ple, v. i. [imp. & p. p. {Rippled}; p. pr. & vb. n. {Rippling}.] [Cf. {Rimple}, {Rumple}.] 1. To become fretted or dimpled on the surface, as water when agitated or running over a rough bottom; to be covered with small waves or… …   The Collaborative International Dictionary of English

  • rippling — adj. Rippling is used with these nouns: ↑muscle …   Collocations dictionary

  • rippling — noun A motion or sound that ripples …   Wiktionary

  • rippling — (Roget s Thesaurus II) adjective Emitting a murmuring sound felt to resemble a laugh: babbling, bubbling, burbling, gurgling, laughing. See LAUGHTER, SOUNDS …   English dictionary for students

  • rippling — adj. with a second mixed flavor or marbled (of food such as ice cream) rip·ple || rɪpl n. small wave, small undulation; small wave like formation; rough finished surface; ice cream that has wavy lines of colored flavored syrup; tool in the… …   English contemporary dictionary

  • rippling — noun a small wave on the surface of a liquid • Syn: ↑ripple, ↑riffle, ↑wavelet • Derivationally related forms: ↑wave (for: ↑wavelet), ↑riffle ( …   Useful english dictionary

  • rippling muscle disease — a rare, autosomal dominant condition characterized by myotonia and contractions of skeletal muscles, particularly in the lower limbs …   Medical dictionary

  • Shep Fields — Infobox musical artist Name = Img capt = Img size = Landscape = Background = Birth name = Alias = Born = birth date|1910|9|12|mf=y Brooklyn, New York Died = death date and age|1981|2|23|1910|9|12|mf=y Heart attack Los Angeles Origin = Instrument …   Wikipedia

  • Shep Fields — (links) und Tex Beneke, Glen Island Casino, New York, Mai 1947. Fotografie von William P. Gottlieb. Shep Fields (* 12. September 1910 in …   Deutsch Wikipedia

  • IsaPlanner — [IsaPlanner 2: A Proof Planner in Isabelle. Lucas Dixon and Moa Johansson. System Description/Technical Report. 2007.] is a proof planner for the interactive proof assistant, Isabelle. Originally developed by Lucas Dixon [A Proof Planning… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”