Abstract
We present here a completion-like procedure for program synthesis from specifications. A specification is expressed as a set of equations and the program is a Noetherian set of rewrite rules that is efficient for computation. We show that the optimizations applicable for proving inductive theorems are useful for program synthesis. This improves on the use of general completion procedure for program synthesis, reported by Dershowitz, in that it generates fewer rules and terminates more often. However, there is a qualitative difference between this procedure and completion, as superposition is used not for eliminating critical overlaps but to find a complete set of cases for an inductive theorem.
This research was supported in part by NASA grant NAG-1-613 and NSF grant CCR-87-00988..
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
L. Bachmair. Proof Methods for Equational Theories. PhD thesis, Univ. Illinois at Urbana-Champaign, 1987.
R. M. Burstall and J. Darlington. A transformation system for developing recursive programs. Journal of the ACM, 24(1):44–67, January 1977.
L. Bachmair, N. Dershowitz, and J. Hsiang. Orderings for equational proofs. In Symp. on Logic in Computer Science, pages 346–357, IEEE, 1986.
G. Birkhoff. On the structure of abstract algebras. Proc. of the Cambridge Philosophical Society, 31:433–454, 1935.
N. Dershowitz. Applications of the Knuth-Bendix completion procedure. In Proc. of the Seminaire d'Informatique Theorique, Paris, pages 95–111, December 1982.
N. Dershowitz. Orderings for term-rewriting systems. Theoretical Computer Science, 17(3):279–301, 1982.
N. Dershowitz. Computing with rewrite systems. Technical Report ATR-83(8478)-1, Information Sciences Research Office, The Aerospace Corp., El Segundo, CA., January 1983.
N. Dershowitz. Synthesis by completion. In IJCAI, pages 208–214, Los Angeles, 1985.
N. Dershowitz. Completion and its applications. In 1987 MCC Colloq. on Resolution of Equations in Algebraic Structures, Austin, Texas, 1988.
N. Dershowitz and Z. Manna. Proving termination with multiset orderings. Communications of the ACM, 22(8):465–476, August 1979.
L. Fribourg. A strong restriction of the inductive completion procedure. In Intern. Conf. Aut., Lang. and Program., pages 105–115, Rennes, France, July 1986. (Springer Lecture Notes in Computer Science, Vol. 226).
D. Hammerslag. Treemacs Manual. Technical Report UIUCDCS-R-88-1427, Univ. Illinois at Urbana-Champaign, May 1988.
C. J. Hogger. Derivation of logic programs. Journal of the ACM, 23(4), 1976.
J.-P. Jouannaud and E. Kounalis. Automatic proofs by induction in equational theories without constructors. In Symp. on Logic in Computer Science, pages 358–366, IEEE, Cambridge, MA., June 1986.
D. Kapur, P. Narendran, and H. Zhang. Proof by induction using test sets. In Conf. on Automated Deduction, Oxford, U.K., 1986.
D. Kapur and M. Srivas. A rewrite rule based approach for synthesizing data types. In TAPSOFT 85, pages 188–207, Springer-Verlag, 1985.
W. Küchlin. Inductive completion by ground proof transformation. Technical Report 87-08, Department of Computer Science, Univ. of Deleware, Newark, February 1987.
W. Küchlin. Inductive completion by ground proof transformation. In Proc. 1987 MCC Colloquium on Resolution of Equations in Algebraic Structures, MCC, Austin, Texas, 1988.
U. S. Reddy. Transformational derivation of programs using the FOCUS system. In Symp. Software Development Environments, pages 163–172, ACM, December 1988.
H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In Intern. Conf. on Logic Program., pages 127–138, Uppsala, 1984.
V. F. Turchin. The concept of a supercompiler. ACM Transactions on Programming Languages and Systems, 8(3):292–325, 1986.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Reddy, U.S. (1989). Rewriting techniques for program synthesis. In: Dershowitz, N. (eds) Rewriting Techniques and Applications. RTA 1989. Lecture Notes in Computer Science, vol 355. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51081-8_121
Download citation
DOI: https://doi.org/10.1007/3-540-51081-8_121
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51081-9
Online ISBN: 978-3-540-46149-4
eBook Packages: Springer Book Archive