Proving Theorems about LISP Functions
Journal of the ACM (JACM)
Algorithms + Data Structures = Programs
Algorithms + Data Structures = Programs
A Discipline of Programming
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Some transformations for developing recursive programs
Proceedings of the international conference on Reliable software
Program Transformation Systems
ACM Computing Surveys (CSUR)
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
Explaining and justifying expert consulting programs
IJCAI'81 Proceedings of the 7th international joint conference on Artificial intelligence - Volume 2
A knowledge-based system for automatic program construction
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 1
The automatic synthesis of systems of recursive programs
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 1
On program synthesis knowledge
Artificial Intelligence
Interpretable program specification language
Programming and Computing Software
Hi-index | 0.00 |
We describe a deductive technique for the automatic construction of recursive programs to meet given input-output specifications. These specifications express what conditions the output of the desired program is expected to satisfy. The deductive technique involves transforming the specifications by a collection of rules, summoned by pattern-directed function invocation. Some of these transformation rules express the semantics of the subject domain; others represent more general programming techniques. The rules that introduce conditional expressions and recursive calls into the program are discussed in some detail. The deductive techniques described are embedded in a running system called SYNSYS. This system accepts specifications expressed in high-level descriptive language and attempts to transform them into a corresponding LISP program. The transformation rules are expressed in the QLISP programming language. The synthesis of two programs performed by the system are presented. This research was supported in part by the Advanced Research Projects Agency of the Department of Defense under Contract MDA903-76-C-0206, by the National Science Foundation under Grant DCR72-03737 A01, by the Office of Naval Research under Contracts N00014-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.