Results 1  10
of
16
The Use of Explicit Plans to Guide Inductive Proofs
 9th Conference on Automated Deduction
, 1988
"... We propose the use of explicit proof plans to guide the search for a proof in automatic theorem proving. By representing proof plans as the specifications of LCFlike tactics, [Gordon et al 79], and by recording these specifications in a sorted metalogic, we are able to reason about the conjectures ..."
Abstract

Cited by 267 (38 self)
 Add to MetaCart
We propose the use of explicit proof plans to guide the search for a proof in automatic theorem proving. By representing proof plans as the specifications of LCFlike tactics, [Gordon et al 79], and by recording these specifications in a sorted metalogic, we are able to reason about the conjectures to be proved and the methods available to prove them. In this way we can build proof plans of wide generality, formally account for and predict their successes and failures, apply them flexibly, recover from their failures, and learn them from example proofs. We illustrate this technique by building a proof plan based on a simple subset of the implicit proof plan embedded in the BoyerMoore theorem prover, [Boyer & Moore 79]. Keywords Proof plans, inductive proofs, theorem proving, automatic programming, formal methods, planning. Acknowledgements I am grateful for many long conversations with other members of the mathematical reasoning group, from which many of the ideas in this paper e...
Rippling: A Heuristic for Guiding Inductive Proofs
, 1993
"... We describe rippling: a tactic for the heuristic control of the key part of proofs by mathematical induction. This tactic significantly reduces the search for a proof of a wide variety of inductive theorems. We first present a basic version of rippling, followed by various extensions which are neces ..."
Abstract

Cited by 162 (39 self)
 Add to MetaCart
We describe rippling: a tactic for the heuristic control of the key part of proofs by mathematical induction. This tactic significantly reduces the search for a proof of a wide variety of inductive theorems. We first present a basic version of rippling, followed by various extensions which are necessary to capture larger classes of inductive proofs. Finally, we present a generalised form of rippling which embodies these extensions as special cases. We prove that generalised rippling always terminates, and we discuss the implementation of the tactic and its relation with other inductive proof search heuristics.
Productive Use of Failure in Inductive Proof
 Journal of Automated Reasoning
, 1995
"... Proof by mathematical induction gives rise to various kinds of eureka steps, e.g. missing lemmata, generalization, etc. Most inductive theorem provers rely upon user intervention in supplying the required eureka steps. ..."
Abstract

Cited by 97 (22 self)
 Add to MetaCart
Proof by mathematical induction gives rise to various kinds of eureka steps, e.g. missing lemmata, generalization, etc. Most inductive theorem provers rely upon user intervention in supplying the required eureka steps.
Experiments with Proof Plans for Induction
 Journal of Automated Reasoning
, 1992
"... The technique of proof plans, is explained. This technique is used to guide automatic inference in order to avoid a combinatorial explosion. Empirical research is described to test this technique in the domain of theorem proving by mathematical induction. Heuristics, adapted from the work of Boye ..."
Abstract

Cited by 95 (33 self)
 Add to MetaCart
The technique of proof plans, is explained. This technique is used to guide automatic inference in order to avoid a combinatorial explosion. Empirical research is described to test this technique in the domain of theorem proving by mathematical induction. Heuristics, adapted from the work of Boyer and Moore, have been implemented as Prolog programs, called tactics, and used to guide an inductive proof checker, Oyster. These tactics have been partially specified in a metalogic, and the plan formation program, clam, has been used to reason with these specifications and form plans. These plans are then executed by running their associated tactics and, hence, performing an Oyster proof. Results are presented of the use of this technique on a number of standard theorems from the literature. Searching in the planning space is shown to be considerably cheaper than searching directly in Oyster's search space. The success rate on the standard theorems is high. Keywords Theorem prov...
A Science of Reasoning
, 1991
"... This paper addresses the question of how we can understand reasoning in general and mathematical proofs in particular. It argues the need for a highlevel understanding of proofs to complement the lowlevel understanding provided by Logic. It proposes a role for computation in providing this high ..."
Abstract

Cited by 74 (19 self)
 Add to MetaCart
This paper addresses the question of how we can understand reasoning in general and mathematical proofs in particular. It argues the need for a highlevel understanding of proofs to complement the lowlevel understanding provided by Logic. It proposes a role for computation in providing this highlevel understanding, namely by the association of proof plans with proofs. Proof plans are defined and examples are given for two families of proofs. Criteria are given for assessing the association of a proof plan with a proof. 1 Motivation: the understanding of mathematical proofs The understanding of reasoning has interested researchers since, at least, Aristotle. Logic has been proposed by Aristotle, Boole, Frege and others as a way of formalising arguments and understanding their structure. There have also been psychological studies of how people and animals actually do reason. The work on Logic has been especially influential in the automation of reasoning. For instance, resolution...
Difference Unification
, 1992
"... We extend previous work on difference identification and reduction as a technique for automated reasoning. We generalize unification so that terms are made equal not only by finding substitutions for variables but also by hiding term structure. This annotation of structural differences serves to dir ..."
Abstract

Cited by 27 (4 self)
 Add to MetaCart
We extend previous work on difference identification and reduction as a technique for automated reasoning. We generalize unification so that terms are made equal not only by finding substitutions for variables but also by hiding term structure. This annotation of structural differences serves to direct rippling, a kind of rewriting designed to remove structural differences in a controlled way. On the technical side, we give a rulebased algorithm for difference unification, and analyze its correctness, completeness, and complexity. On the practical side, we present a novel search strategy (called leftfirst search) for applying these rules in an efficient way. Finally, we show how this algorithm can be used in new ways to direct rippling and how it can play an important role in theorem proving and other kinds of automated reasoning. 1 Introduction Heuristics for judging similarity between terms and subsequently reducing differences have been applied to automated deduction since the ...
Higherorder Annotated Terms for Proof Search
 THEOREM PROVING IN HIGHER ORDER LOGICS: 9TH INTERNATIONAL CONFERENCE, TPHOLSâ€™96
, 1996
"... A notion of embedding appropriate to higherorder syntax is described. This provides a representation of annotated formulae in terms of the difference between pairs of formulae. We define substitution and unification for such annotated terms. Using this representation of annotated terms, the proof s ..."
Abstract

Cited by 20 (3 self)
 Add to MetaCart
A notion of embedding appropriate to higherorder syntax is described. This provides a representation of annotated formulae in terms of the difference between pairs of formulae. We define substitution and unification for such annotated terms. Using this representation of annotated terms, the proof search guidance technique of rippling can be extended to higherorder theorems. We illustrate this by several examples based on an implementation of these ideas in Prolog.
Difference Matching
, 1992
"... Difference matching is a generalization of firstorder matching where terms are made identical both by variable instantiation and by structure hiding. After matching, the hidden structure may be removed by a type of controlled rewriting, called rippling, that leaves the rest of the term unaltered. R ..."
Abstract

Cited by 19 (4 self)
 Add to MetaCart
Difference matching is a generalization of firstorder matching where terms are made identical both by variable instantiation and by structure hiding. After matching, the hidden structure may be removed by a type of controlled rewriting, called rippling, that leaves the rest of the term unaltered. Rippling has proved highly successful in inductive theorem proving. Difference matching allows us to use rippling in other contexts, e.g., equational, inequational, and propositional reasoning. We present a difference matching algorithm, its properties, several applications, and suggest extensions.
The Many Disguises of Accumulation
, 1991
"... Several descriptions of basically one transformation technique, viz. accumulation, are compared. Their basis, viz. the associativity and the existence of a neutral element inherent in a monoid, is identified. Keywords transformational programming, factorial, fast reverse, accumulation, continuation ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Several descriptions of basically one transformation technique, viz. accumulation, are compared. Their basis, viz. the associativity and the existence of a neutral element inherent in a monoid, is identified. Keywords transformational programming, factorial, fast reverse, accumulation, continuations, lambda abstraction, generalisation, tail recursion, implementation of lists. This research has been sponsored by the Netherlands Organisation for Scientific Research (NWO), under grant NF 63/62518 (the STOP  Specification and Transformation Of Programs  project). 1 Introduction One of the first program transformations that appeared in the literature was the accumulation transformation. The transformation is now classic, although not everyone may know it under exactly this name. In this note, I try to relate several descriptions of this program transformation technique. In a purely algebraic view, it is the exploitation of the properties of a monoid. In literature, it can be fou...
Using Rippling for Equational Reasoning
 In Proceedings 20th German Annual Conference on Artificial Intelligence KI96
, 1996
"... . This paper presents techniques to guide equational reasoning in a goal directed way. Suggested by rippling methods developed in the field of inductive theorem proving we use annotated terms to represent syntactical differences of formulas. Based on these annotations and on hierarchies of function ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
. This paper presents techniques to guide equational reasoning in a goal directed way. Suggested by rippling methods developed in the field of inductive theorem proving we use annotated terms to represent syntactical differences of formulas. Based on these annotations and on hierarchies of function symbols we define different abstractions of formulas which are used for planning of proofs. Rippling techniques are used to refine single planning steps, e.g. the application of a bridge lemma, on a next planning level. Fachbeitrag. Keywords: Automated reasoning, Theorem Proving, Rippling 1 Introduction Heuristics for judging similarities between formulas and subsequently reducing differences have been applied to automated deduction since the 1950s, when Newell, Shaw, and Simon built their first "logic machine" [NSS63]. Since the later 60s, a similar theme of difference identification and reduction appears in the field of resolution theorem proving [Mor69], [Dig85], [BS88]. Partial unifica...