Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Open access

A Deductive Approach to Program Synthesis

Published: 01 January 1980 Publication History

Abstract

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.

References

[1]
BLEDSOE, W.W. Non-resolution theorem proving. Artif. Intell. J. 9, (1977), 1-35.
[2]
BoYER, R.S., AND MOOI~R, JS. Proving theorems about LISP functions J. ACM 22, 1 (Jan. 1975), 129-144.
[3]
BURSTALL, R.M., AND DARLINGTON, J. A transformation system for developing recursive programs. J. ACM 24, 1 (Jan. 1977), 44-67.
[4]
DARLINGTON, J.L. Automatic theorem proving with equality substitutions and mathematical induction. Machine Intell. 3 (Edinburgh, Scotland) (1968), 113-127.
[5]
GREEN, C.C. Application of theorem proving to problem solving, in Proc. Int. Joint Conf. on Artificial Intelligence (Washington D.C., May 1969), 219-239.
[6]
HEWiTT, C. Description and theoretical analysis (using schemata) of PLANNER: A language for proving theorems and manipulating models in a robot. Ph.D. Diss., M.I.T., Cambridge, Mass., 1971.
[7]
MANNA, Z., AND WALDiNGER, R. Synthesis: dreams ~ programs, iEEE Trans. Sofiw. Eng. SE-5, 4 (July 1979), 294-328.
[8]
MURRAY, N. A proof procedure for non-clausal fwst-order logic. Tech. Rep. Syracuse Univ., Syracuse, N.Y., 1978.
[9]
NELSON, G., AND OPPEN, D.C. A simplifier based on efficient decision algorithms. In Proc. 5th ACM Syrup. Principles of Programming Languages (Tucson, Ariz., Jan. 1978), pp. 141-150.
[10]
NiLSSON, N.J. A production system for automatic deduction. Machine Intell. 9, Ellis Horwood, Chichester, England, 1979.
[11]
NXLSSON, N.J. Problem-solving methods in artificial intelligence. McGraw-Hill, New York, 1971, pp. 165-168.
[12]
ROBINSON, J.A. A machine-oriented logic based on the resolution principle. J.4CM 12, 1 (Jan. 1965), 23-41.
[13]
WALDINGER, R.J., A~o LEE, R.C.T. PROW: A step toward automatic program writing. In Proc. Int. Joint Conf. on Artificial Intelligence (Washington D.C., May 1969), pp. 241-252.
[14]
WILKI~S, D. QUEST--A non-clausal theorem proving system. M.Sc. Th., Univ. of Essex, England, 1973.

Cited By

View all
  • (2024)What Is an Algorithm?Encyclopedia of Information Science and Technology, Sixth Edition10.4018/978-1-6684-7366-5.ch072(1-17)Online publication date: 1-Jul-2024
  • (2024)Large Language Models for Software Engineering: A Systematic Literature ReviewACM Transactions on Software Engineering and Methodology10.1145/3695988Online publication date: 20-Sep-2024
  • (2024)Boosting Compiler Testing by Injecting Real-World CodeProceedings of the ACM on Programming Languages10.1145/36563868:PLDI(223-245)Online publication date: 20-Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 1980
Published in TOPLAS Volume 2, Issue 1

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)488
  • Downloads (Last 6 weeks)49
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)What Is an Algorithm?Encyclopedia of Information Science and Technology, Sixth Edition10.4018/978-1-6684-7366-5.ch072(1-17)Online publication date: 1-Jul-2024
  • (2024)Large Language Models for Software Engineering: A Systematic Literature ReviewACM Transactions on Software Engineering and Methodology10.1145/3695988Online publication date: 20-Sep-2024
  • (2024)Boosting Compiler Testing by Injecting Real-World CodeProceedings of the ACM on Programming Languages10.1145/36563868:PLDI(223-245)Online publication date: 20-Jun-2024
  • (2024)Lifting Micro-Update Models from RTL for Formal Security AnalysisProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3620665.3640418(631-648)Online publication date: 27-Apr-2024
  • (2024)Methodology for Code Synthesis Evaluation of LLMs Presented by a Case Study of ChatGPT and CopilotIEEE Access10.1109/ACCESS.2024.340385812(72303-72316)Online publication date: 2024
  • (2024)Towards a Dynabook for verified VM constructionJournal of Computer Languages10.1016/j.cola.2024.10127580(101275)Online publication date: Aug-2024
  • (2024)Parallel Assembly SynthesisLogic-Based Program Synthesis and Transformation10.1007/978-3-031-71294-4_1(3-26)Online publication date: 9-Sep-2024
  • (2024)PyDaskShift: Automatically Convert Loop-Based Sequential Programs to Distributed Parallel ProgramsRecent Advances in Next-Generation Data Science10.1007/978-3-031-67871-4_15(214-234)Online publication date: 23-Aug-2024
  • (2024)Model Refinement: Generating Refinements for Algorithm and System DesignThe Practice of Formal Methods10.1007/978-3-031-66673-5_5(77-96)Online publication date: 4-Sep-2024
  • (2024)Partial Boolean Functions for QBF SemanticsArtificial Intelligence and Image Analysis10.1007/978-3-031-63735-3_14(236-253)Online publication date: 8-Jan-2024
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media