PROGRAM SYNTHESIS / 141
–AI Classics/files/AI/classics/Webber-Nilsson-Readings/Rdgs-NW-Manna-Waldinger.pdf
Program synthesis is the systematic derivation of a program from a given specification. A deductive approach to program synthesis is presented for the construction of recursive programs. This approach regards program synthesis as a theorem-proving task and relies on a theorem-proving method that combines the features of transformation rules, unification, and mathematical induction within a single framework. MOTIVATION The early work in program synthesis relied strongly on mechanical theoremproving techniques. The work of Green [5] and Waldinger and Lee [13], for example, depended on resolution-based theorem proving; however, the difficulty of representing the principle of mathematical induction in a resolution framework hampered these systems in the formation of programs with iterative or recursive loops. More recently, program synthesis and theorem proving have tended to go their separate ways. Newer theorem-proving systems are able to perform proofs by mathematical induction (e.g., Boyer and Moore [2]) but are useless for program synthesis because they have sacrificed the ability to prove theorems involving existential quantifiers. In this paper we describe a framework for program synthesis that again relies on a theorem-proving approach. This approach combines techniques of unification, mathematical induction, and transformation rules within a single deductive system. We outline the logical structure of this system without considering the strategic aspects of how deductions are directed. Although no implementation exists, the approach is machine oriented and ultimately intended for implementation in automatic synthesis systems. In the next section we give examples of specifications accepted by the system. In the succeeding sections we explain the relation between theorem proving and our approach to program synthesis. SPECIFICATION The specification of a program allows us to express the purpose of the desired program, without indicating an algorithm by which that purpose is to be achieved.
Jan-25-2015, 22:28:53 GMT
- Country:
- North America > United States (1.00)
- Industry:
- Government > Regional Government (0.46)
- Technology: