Abstract
The deductive synthesis of programs from formal specifications can be aided by various forms of induction: Summative, or complete, induction is the deductive technique of reasoning by cases and plays an important role in creating conditionals. Recursive, or mathematical, induction is a deductive technique for reasoning about an infinite number of cases; it is used in the creation of loops, and is often necessary for establishing properties of data types. Eduction, or analogical reasoning, helps reduce the amount of work needed to generate a program, when similar programs already exist. Ampliative, or incomplete, induction is the process by which one generalizes from a finite number of instances; it can help the synthesizer guess what statement is needed and to verify the correctness of suggestions.
Research supported in part by the U. S. National Science Foundation under Grants CCR-90-07195 and CCR-90-24271
This is a preview of subscription content, log in via an institution.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dershowitz, N. (1994). From specifications to programs: Induction in the service of synthesis. In: Arikawa, S., Jantke, K.P. (eds) Algorithmic Learning Theory. AII ALT 1994 1994. Lecture Notes in Computer Science, vol 872. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58520-6_48
Download citation
DOI: https://doi.org/10.1007/3-540-58520-6_48
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58520-6
Online ISBN: 978-3-540-49030-2
eBook Packages: Springer Book Archive