Hilfe Wegweiser Datenschutzhinweis Impressum Kontakt





Middle-out reasoning for synthesis and induction


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

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

Externe Ressourcen
Es sind keine Externen Ressourcen verfügbar
Volltexte (frei zugänglich)
Es sind keine frei zugänglichen Volltexte verfügbar
Ergänzendes Material (frei zugänglich)
Es sind keine frei zugänglichen Ergänzenden Materialien verfügbar

Kraan, I., Basin, D. A., & Bundy, A. (1996). Middle-out reasoning for synthesis and induction. Journal of Automated Reasoning, 16(1/2), 113-145.

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.