Brāzma A. (1991) Inductive synthesis of dot expressions. In: Bārzdinš J., Bjørner D. (eds) Baltic Computer Science. Lecture Notes in Computer Science, vol 502. Springer, Berlin, Heidelberg
We consider the problem of the synthesis of algorithms by sample computations. We introduce a formal language, namely, the so-called dot expressions, which is based on a formalization of the intuitive notion of ellipsis (‘...’). Whilst formally the dot expressions are simply a language describing sets of words, on the other hand, it can be considered as a programming language supporting quite a wide class of programs. Equivalence and asymptotical equivalence of dot expressions are defined and proved to be decidable. A formal example of a dot expression is defined in the way that, actually, it represents a sample computation of the program presented by the given dot expression. A system of simple inductive inference rules synthesizing dot expressions (programs) by their formal examples (sample computations) is developed and proved to synthesize a correct (i.e., asymptotically equivalent to the given) expression by one sufficiently long example. Some instances of the application of the model for program inductive synthesis are also given. Particularly, there are given examples of the euclidean and bubblesort algorithm synthesis within acceptable time from completely natural sample descriptions.