English
 
Help Privacy Policy Disclaimer
  Advanced SearchBrowse

Item

ITEM ACTIONSEXPORT

Released

Journal Article

Middle-out Reasoning for Synthesis and Induction

MPS-Authors
/persons/resource/persons44075

Basin,  David A.
Programming Logics, MPI for Informatics, Max Planck Society;

/persons/resource/persons44204

Bundy,  Alan
Programming Logics, MPI for Informatics, Max Planck Society;

External Resource

https://rdcu.be/dv0Jf
(Publisher version)

Fulltext (restricted access)
There are currently no full texts shared for your IP range.
Fulltext (public)
There are no public fulltexts stored in PuRe
Supplementary Material (public)
There is no public supplementary material available
Citation

Kraan, I., Basin, D. A., & Bundy, A. (1996). Middle-out Reasoning for Synthesis and Induction. Journal of Automated Reasoning, 16(1/2), 113-145. doi:10.1007/BF00244461.


Cite as: https://hdl.handle.net/11858/00-001M-0000-0014-ABE8-1
Abstract
We develop two applications of middle-out reasoning in inductive proofs: the
logic program synthesis and the selection of induction schemes. Middle-out
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. Middle-out reasoning is used for
synthesis by planning the verification of an unknown logic program: the program
body is represented with a meta-variable. 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. Middle-out reasoning is also used to select
induction schemes. In middle-out induction, we set up a schematic step case by
representing the constructors that are applied to induction variables with
meta-variables. Once the step case is complete, the instantiated variables
correspond to an induction appropriate to the recursion of the program. We have
implemented these techniques as an extension of the proof planning system CLAM,
called Periwinkle, and synthesized a variety of programs fully automatically.