Results 1 
9 of
9
A rational reconstruction and extension of recursion analysis
 Proceedings of the Eleventh International Joint Conference on Artificial Intelligence
, 1989
"... The focus of this paper is the technique of recur8\on analysis. Recursion analysis is used by the BoyerMoore Theorem Prover to choose an appropriate induction schema and variable to prove theorems by mathematical induction. A rational reconstruction of recursion analysis is outlined, using the tech ..."
Abstract

Cited by 26 (13 self)
 Add to MetaCart
The focus of this paper is the technique of recur8\on analysis. Recursion analysis is used by the BoyerMoore Theorem Prover to choose an appropriate induction schema and variable to prove theorems by mathematical induction. A rational reconstruction of recursion analysis is outlined, using the technique of proof plans. This rational reconstruction suggests an extension of recursion analysis which frees the induction suggestion from the forms of recursion found in the conjecture. Preliminary results are reported of the automation of this rational reconstruction and extension using the CLAMOyster system.
MiddleOut Reasoning for Synthesis and Induction
, 1995
"... We develop two applications of middleout reasoning in inductive proofs: Logic program synthesis and the selection of induction schemes. Middleout reasoning as part of proof planning was first suggested by Bundy et al [Bundy et al 90a]. Middleout reasoning uses variables to represent unknown te ..."
Abstract

Cited by 26 (11 self)
 Add to MetaCart
We develop two applications of middleout reasoning in inductive proofs: Logic program synthesis and the selection of induction schemes. Middleout reasoning as part of proof planning was first suggested by Bundy et al [Bundy et al 90a]. Middleout reasoning uses variables to represent unknown terms and formulae. Unification instantiates the variables in the subsequent planning, while proof planning provides the necessary search control. Middleout reasoning is used for synthesis by planning the verification of an unknown logic program: The program body is represented with a metavariable. The planning results both in an instantiation of the program body and a plan for the verification of that program. If the plan executes successfully, the synthesized program is partially correct and complete. Middleout reasoning is also used to select induction schemes. Finding an appropriate induction scheme during synthesis is difficult, because the recursion of the program, which is un...
Coloured rippling: An extension of a theorem proving heuristic
, 1993
"... . Rippling is a type of rewriting developed in inductive theorem proving for removing differences between terms; the induction conclusion is annotated to mark its differences from the induction hypothesis and rippling attempts to move these differences. Until now rippling has been primarily employed ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
. Rippling is a type of rewriting developed in inductive theorem proving for removing differences between terms; the induction conclusion is annotated to mark its differences from the induction hypothesis and rippling attempts to move these differences. Until now rippling has been primarily employed in proofs where there is a single induction hypothesis. This paper describes an extension to rippling to deal with theorems with multiple hypotheses. Such theorems arise, for instance, when reasoning about datastructures like trees with multiple recursive arguments. The essential idea is to colour the annotation, with each colour corresponding to a different hypothesis. The annotation of rewrite rules used in rippling is similarly generalized so that rules propagate colours through terms. This annotation guides search so that rewrite rules are only applied if they reduce the differences between the conclusion and some of the hypotheses. We have tested this implementation on a number of pro...
A Recursion Planning Analysis of Inductive Completion
 ANNALS OF MATHEMATICS AND ARTIFICIAL INTELLIGENCE
, 1992
"... We use the AI proof planning techniques of recursion analysis and rippling as tools to analyze so called inductionless induction proof techniques. Recursion analysis chooses induction schemas and variables and rippling controls rewriting in explicit induction proofs. They provide a basis for explain ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
We use the AI proof planning techniques of recursion analysis and rippling as tools to analyze so called inductionless induction proof techniques. Recursion analysis chooses induction schemas and variables and rippling controls rewriting in explicit induction proofs. They provide a basis for explaining the success and failure of inductionless induction both in deduction of critical pairs and in their simplification. Furthermore, these explicit induction techniques motivate and provide insight into advancements in inductive completion algorithms and suggest directions for further improvements. Our study includes an experimental comparison of Clam, an explicit induction theorem prover, with an implementation of Huet and Hullot's inductionless induction.
The Specialization and Transformation of Constructive Existence Proofs
 PROCEEDINGS OF THE ELEVENTH INTERNATIONAL JOINT CONFERENCE ON ARTI INTELLIGENCE
, 1989
"... The transformation of constructive program synthesis proofs is discussed and compared with the more traditional approaches to program transformation. An example system for adapting programs to special situations by transforming constructive synthesis proofs has been reconstructed and is compared wit ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
The transformation of constructive program synthesis proofs is discussed and compared with the more traditional approaches to program transformation. An example system for adapting programs to special situations by transforming constructive synthesis proofs has been reconstructed and is compared with the original implementation [Goad 80]. A brief account of more general proof transformation applications is also presented. The overall moral is that constructiveexistence proofs contain more information over and above that required for simple execution and that this can be exploited by a proof transformation system.
A Theory of Modules and its Implementation in SEQUEL 11.0
, 1995
"... We discuss the nature of a module system and define the formal requirements for proving a module correct. These conclusions are implemented within the SEQUEL functional programming language using technology derived from the work done on program correctness by Boyer and Moore. 1 Introduction A ..."
Abstract
 Add to MetaCart
We discuss the nature of a module system and define the formal requirements for proving a module correct. These conclusions are implemented within the SEQUEL functional programming language using technology derived from the work done on program correctness by Boyer and Moore. 1 Introduction A module is a program which has been certified to perform according to a certain specification. Modules are, to a large extent, black boxes, clear in what they do but dark about how they do it. In the fabrication of large systems, modules allow the distribution of programming tasks to be made throughout a team and each team member can design her module as she likes it, secure in the knowledge that as long as the module specification is met that the whole should fit together assuming the project leader has designed the module structure properly. From the point of view of the project leader, module specification allows the project to be managed from a high level without getting lost in lowlevel...
Recursive Program Optimization Through Inductive Synthesis Proof Transformation
, 1999
"... The research described in this paper involved developing transformation techniques which increase the efficiency of the noriginal program, the source, by transforming its synthesis proof into one, the target, which yields a computationally more efficient algorithm. We describe a working proof tran ..."
Abstract
 Add to MetaCart
The research described in this paper involved developing transformation techniques which increase the efficiency of the noriginal program, the source, by transforming its synthesis proof into one, the target, which yields a computationally more efficient algorithm. We describe a working proof transformation system which, by exploiting the duality between mathematical induction and recursion, employs the novel strategy of optimizing recursive programs by transforming inductive proofs. We compare and contrast this approach with the more traditional approaches to program transformation, and highlight the benefits of proof transformation with regards to search, correctness, automatability and generality.
The Specialization of Constructive Existence Proofs
, 1993
"... This paper contains a discussion, and reconstruction, of Goad's proof transformation system. Information contained in constructive existence proofs, which goes beyond that needed for simple execution, is exploited in the adaption of algorithms to special situations. Goad's system is reconstructed, ..."
Abstract
 Add to MetaCart
This paper contains a discussion, and reconstruction, of Goad's proof transformation system. Information contained in constructive existence proofs, which goes beyond that needed for simple execution, is exploited in the adaption of algorithms to special situations. Goad's system is reconstructed, and extended, in the Oyster proof refinement environment and subjected to test on a number of examples. Differences in methodology between Goad's system and the reconstruction are discussed. In particular, a more active role is given to the actual proof, as opposed to the extracted algorithm, in the transformation process.