skip to main content
10.5555/1624435.1624526guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

The automatic synthesis of systems of recursive programs

Published: 22 August 1977 Publication History

Abstract

A technique is presented for constructing, 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.

References

[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 8c Sons, New York, N.Y. (to appear).
[2]
Boyer, R. S., and J. S. Moore [Jan. 1975], Proving theorems about LISP functions, JACM, Vol. 22, No. 1, 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]
Darlington, J. [July 1975], Applications of program transformation to program synthesis, Colloques IRIA on Proving and Improving Programs, Arc-et-Senans, France, pp. 133-144.
[5]
Manna, Z. and R. Waldinger [August 1977], The automatic synthesis of recursive programs, Proceedings of the SICART-SIGPLAN Symposium on Artificial Intelligence and Programming Languages, Rochester, N.Y.
[6]
Waldinger, R. J. [1977], Achieving several goals simultaneously, in Machine Intelligence S: Machine Representations of Knowledge, (E. W. Elcock and D. Michie, editors), John Wiley 8c Sons, New York, N.Y. (to appear).
[7]
Warren, D. H. D. [June 1974], WARPLAN: A system for generating plans, Technical Note, Dept. of Computational Logic, University of Edinburgh, Edingurgh, Scotland.
[8]
Warren, D. H. D. [July 1976], Generating conditional plans and programs, Proceedings of Conference on Artificial Intelligence and Simulation on Behaviour, Edinburgh, Scotland, pp. 344-354.
[9]
Wilber, B. M. [Mar. 1976], A QLISP reference manual, Technical note, Stanford Reserch Institute, Menlo Park, Ca.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
IJCAI'77: Proceedings of the 5th international joint conference on Artificial intelligence - Volume 1
August 1977
568 pages

Sponsors

  • The International Joint Conferences on Artificial Intelligence, Inc.

Publisher

Morgan Kaufmann Publishers Inc.

San Francisco, CA, United States

Publication History

Published: 22 August 1977

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Nov 2024

Other Metrics

Citations

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media