A description is given of a technique called middle-out reasoning for the control of search in automatic theorem proving. The authors illustrate it use in the domain of automatic program synthesis. Programs can be synthesised from proofs that their logical specifications are satisfiable. Each proof step is also a program construction step. Unfortunately, a naive use of this technique requires a human or computer to produce proof steps which provide the essential structure of the desired program. It is hard to see the justification for these steps at the time that they are made; the reason for them emerges only later in the proof. Such proof steps are often call eureka steps. Middle-out reasoning enables these eureka steps to be produced, au...
We propose a novel approach to automating the synthesis of logic programs: Logic programs are synthe...
Program reasoning consists of the tasks of automatically and statically ver-ifying correctness and i...
e is a mechanism for suggesting strategies which is accomplished by automatically introducing new fu...
We develop two applications of middle-out reasoning in inductive proofs: the logic program synthesis...
We develop two applications of middle-out reasoning in inductive proofs: Logic program synthesis and...
The use of *proof plans* -- formal patterns of reasoning for theorem proving -- to control the (auto...
Logic programs can be synthesized as a by-product of the planning of their verification proofs. This...
Logic programs can be synthesized as a by-product of the planning of their verification proofs. This...
The use of proof plans -formal patterns of reasoning for theorem proving -to control the {automatic...
Systems supporting the manipulation of non-trivial program code are complex and are at best semi-aut...
The structured programming literature provides methods and a wealth of heuristic knowledge for guid...
Systems supporting the manipulation of non-trivial program code are complex and are at best semi-aut...
The use of {\em proof plans} -- formal patterns of reasoning for theorem proving -- to control the (...
A technique for incorporating automatic transformations into processes such as the application of in...
Analysis and transformation techniques developed for logic programming can be successfully applied t...
We propose a novel approach to automating the synthesis of logic programs: Logic programs are synthe...
Program reasoning consists of the tasks of automatically and statically ver-ifying correctness and i...
e is a mechanism for suggesting strategies which is accomplished by automatically introducing new fu...
We develop two applications of middle-out reasoning in inductive proofs: the logic program synthesis...
We develop two applications of middle-out reasoning in inductive proofs: Logic program synthesis and...
The use of *proof plans* -- formal patterns of reasoning for theorem proving -- to control the (auto...
Logic programs can be synthesized as a by-product of the planning of their verification proofs. This...
Logic programs can be synthesized as a by-product of the planning of their verification proofs. This...
The use of proof plans -formal patterns of reasoning for theorem proving -to control the {automatic...
Systems supporting the manipulation of non-trivial program code are complex and are at best semi-aut...
The structured programming literature provides methods and a wealth of heuristic knowledge for guid...
Systems supporting the manipulation of non-trivial program code are complex and are at best semi-aut...
The use of {\em proof plans} -- formal patterns of reasoning for theorem proving -- to control the (...
A technique for incorporating automatic transformations into processes such as the application of in...
Analysis and transformation techniques developed for logic programming can be successfully applied t...
We propose a novel approach to automating the synthesis of logic programs: Logic programs are synthe...
Program reasoning consists of the tasks of automatically and statically ver-ifying correctness and i...
e is a mechanism for suggesting strategies which is accomplished by automatically introducing new fu...