Algorithmic Learning Theory pp 6-7
From specifications to programs: Induction in the service of synthesis
- First Online:
- Cite this paper as:
- Dershowitz N. (1994) From specifications to programs: Induction in the service of synthesis. In: Arikawa S., Jantke K.P. (eds) Algorithmic Learning Theory. Lecture Notes in Computer Science (Lecture Notes in Artificial Intelligence), vol 872. Springer, Berlin, Heidelberg
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.