Abstract
We are considering a class of problems of formation type where the goal is to construct by computer a program-in a given programming language - that satisfies an infinite number of conditions in -the form of given input-output correspondences. A variety of automatic design problems, as well as problems of theory construction in empirical sciences are of this general type. The main problem in the design of procedures for the solution of formation problems are: selection of an "appropriate" grammar for specifying -the language in which candidate solutions are to be represented; formulation of evaluation procedures for ordering candidate solutions; and formulating of control strategies for generating "intelligently" a sequence of candidate solutions which converges efficiently to the desired solution. The problems of representation, evaluation and control are closely coupled; However, dominant among them is the problem of representation. A promising approach to the choice of a grammar for the solution language is to find a model corresponding to the grammar where it is relatively easy to evaluate the relative merit of candidate solutions (in terms of their satisfying the given problem conditions) by analyzing their representations in the model. In our program formation problem we have found such a model in the form of a mathematical system which is a modified algebra of relations. The atomic elements of the system correspond to elementary commands in the given programming language and its operations correspond to program composites. The rich structure of relationships in the mathematical model provides a framework for reasoning about the choice of candidate solutions during, the problem solving process. In view of our work to date, it appears that representation systems with considerable algebraic structure are necessary for computer formation procedures of reasonable power.