Proceedings

The Automatic Synthesis of Systems of Recursive Programs

Download BibTeX Cite

Proceedings of the Fifth International Joint Conference on Artificial Intelligence. Aids to Programming. Pages 405-410.

© 1977 International Joint Conferences on Artificial Intelligence

Abstract

A technique is presented for constructi ng a program from given specifications. The basic approach is to transform the specifications repeatedly, according to certain rules, until the desired program is produced. Two important transformation rules are those responsible for introducing conditional expressions and recursion into the target program. These transformations have been introduced In previous publications, and are discussed here briefly. Often, to construct a recursive program it is necessary to define other auxilliary programs to achieve certain subtasks of the main task. The formation of such systems of auxilliary programs Is specially emphasized in this paper. The program synthesis techniques we discuss have been incorporated into a running system called SYNSYS. This system accepts high-level specifications expressed in mathematical notation, and produces recursive programs in pure LISP. The transformations are represented in the system as programs in the QLISP language, and are summoned by pattern-directed function invocations. The synthesis of two programs produced by the system are presented. This research ruas supported in part by the Advanced Research Projects Agency of the Department of Defense under Contract M DA903-76-C-0206, by the National Science Foundation under Grant DCR72-03737 AOI , by the Office of Naval Research under Contracts NOOOH-76-C-0687 and N00014-75-C-0816; and by a grant from the United States-Israel Binational Science Foundation (BSF), jerusalem, Israel . The views and conclusions contained in this -document are those of the authors and should not be interpreted as necessarily representing the official policies, either expressed or implied, of Stanford University, Stanford Research Institute, or the U.S. Government.

  1. Bledsoe, W. W., and M. Tyson [1977), Typing and proof by cases in program verification, in Machine Intelligence 8: Machine Representations of Knowledge, (E. W. Elcock and D. Michie, editors), John Wiley & Sons, New York, N.Y. (to appear).
  2. Boyer, R. S., and J S. Moore [Jan. 1975], Proving theorems about LISP junctions, JACM, Vol. 22, No. I, pp. 129-144.
  3. Burstall, R. M. and J. Darlington [April 1975], Some transformations for developing recursive programs, Proceedings of the International Conference on Reliable Software, Los Angeles, Ca., pp. 465-472.
  4. 1\uto. Pro,.,-3: ~1anna
  5. Darlington, J. [July 1975], Applications of program transformation to program synthesis, Colloques IRIA on Proving and Improving Programs, Arc-et-Senans, France, pp. I 33-I H . Manna, Z. and R. Waldinger [August 1977], The automatic synthesis of recursive programs, Proceedings of the SIGART-SIGPLAN Symposium on Artificial Intelligence and Prog•ramming Languages, Rochester, N.Y. Waldinger, R. J. [1977], Achieving several goals simultaneously, in Machine Intelligence 8: Machine Representations of Knowledge , (E. W. Elcock and D. Michie, editors), john Wiley & Sons, New York, N.Y. (to appear).
  6. Warren, D. H. D. [June 1974], WARPLAN: A system for generating plans, Technical Note, Dept. of Computational Logic, University of Edinburgh, Edingurgh, Scotland.
  7. Warren, D. H. D. [July 1976], Generating conditional plans and programs, Proceedings of Conference on Artificial Intelligence and Simulation on Behaviour, Edinburgh, Scotland, pp. 311-351.
  8. Wilber, B. M. [Mar. 1976], A QLISP reference manual, Technical note, Stanford Reserch Institute, Menlo Park, Ca.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards