{"type":"ScholarlyArticle","title":"The Roles of Knowledge and Deduction in Program Synthesis","authors":[{"name":"David R. Barstow","slug":"david-r-barstow","given":"David R.","family":"Barstow","affiliation":""}],"abstract":"In the earliest attempts to apply artificial intelligence techniques to program synthesis, deduction (that is, the use of a general purpose mechanism such as a theorem prover) played a central role. Some recent systems have relied almost exclusively on knowledge about programming in particular domains, with no significant role for deduction. Even in such knowledge-based systems, however, there seems to be an important role for deduction in testing the applicability conditions of specific programming rules. This auxiliary role for deduction can be seen clearly in a hypothetical synthesis of a breadth-first enumeration algorithm. The hypothetical synthesis also demonstrates the utility of detailed programming knowledge for dealing with non-algorithmic specifications.","doi":null,"url":"https://ijcai.org/proceedings/1979/10","pdf":"https://ijcai.org/proceedings/1979/0010.pdf","markdown":"https://ijcai.org/proceedings/1979/10.md","bibtex":"https://ijcai.org/proceedings/1979/bibtex/10","volume":{"slug":"1979","title":"Proceedings of the Sixth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 1979","url":"https://ijcai.org/proceedings/1979/","year":1979,"location":"Tokyo, Japan","dates":"August 20-23, 1979","editors":"Bruce G. Buchanan","isbn":"","publisher":"International Joint Conferences on Artificial Intelligence","doi_prefix":""},"section":null,"track":"","number":10,"pages":{"first":null,"last":null},"keywords":[],"videos":[],"references":[],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}