Explorer Middle - Out Reasoning for Logic Program Synthesis
نویسندگان
چکیده
General rights Copyright for the publications made accessible via the Edinburgh Research Explorer is retained by the author(s) and / or other copyright owners and it is a condition of accessing these publications that users recognise and abide by the legal requirements associated with these rights. Take down policy The University of Edinburgh has made every reasonable effort to ensure that Edinburgh Research Explorer content complies with UK legislation. If you believe that the public display of this file breaches copyright please contact [email protected] providing details, and we will remove access to the work immediately and investigate your claim. Abstract We propose a novel approach to automating the synthesis of logic programs: Logic programs are synthesized as a by-product of the planning of a veriication proof. The approach is a two-level one: At the object level, we prove program veriication conjectures in a sorted, rst-order theory. The conjectures are of the form 8args ????! : prog(args ????!) $ spec(args ????!). At the meta-level, we plan the object-level veriication with an unspeciied program deenition. The deenition is represented with a (second-order) meta-level variable, which becomes instantiated in the course of the planning.
منابع مشابه
Middle - Out Reasoning for Synthesis and InductionIna
We develop two applications of middle-out reasoning in inductive proofs: Logic program synthesis and the selection of induction schemes. Middle-out reasoning as part of proof planning was rst suggested by Bundy et al Bundy et al 90a]. Middle-out reasoning uses variables to represent unknown terms and formulae. Uniication instantiates the variables in the subsequent planning, while proof plannin...
متن کاملUsing Middle-out Reasoning to Control the Synthesis of Tail-recursive Programs 1
We describe a novel technique for the automatic synthesis of tail-recursive programs. The technique is to specify the required program using the standard equations and then synthesise the tail-recursive program using the proofs as programs technique. This requires the speciication to be proved realisable in a constructive logic. Restrictions on the form of the proof ensure that the synthesised ...
متن کاملMax-planck-institut F Ur Informatik Middle-out Reasoning for Logic Program Synthesis K I N F O R M a T I K Im Stadtwald D 66123 Saarbr Ucken Germany Authors' Addresses
Logic programs can be synthesized as a by-product of the planning of their veri cation proofs. This is achieved by using higher-order variables at the proof planning level, which become instantiated in the course of planning. We illustrate two uses of such variables in proof planning for program synthesis, one for synthesis proper and one for the selection of induction schemes. We demonstrate t...
متن کاملUsing Middle-Out Reasoning to Control the Synthesis of Tail-Recursive Programs
We describe a novel technique for the automatic synthesis of tail-recursive programs. The technique is to specify the required program using the standard equations and then synthesise the tail-recursive program using the proofs as programs technique. This requires the speciication to be proved realisable in a constructive logic. Restrictions on the form of the proof ensure that the synthesised ...
متن کاملMiddle-Out Reasoning for Logic Program Synthesis
Logic programs can be synthesized as a by-product of the planning of their verification proofs. This is achieved by using higher-order variables at the proof planning level, which become instantiated in the course of planning. We illustrate two uses of such variables in proof planning for program synthesis, one for synthesis proper and one for the selection of induction schemes. We demonstrate ...
متن کامل