Automatic Synthesis of Typed Lambda-Programs on Term Algebras

The notion of iteratively defined functions from and to heterogeneous term algebras is introduced as the solution of a finite set of equations of a special shape. Such a notion has remarkable consequences: (1) Choosing the second-order typed lamdda-calculus (Λ for short) as a programming language enables one to represent algebra elements and iterative functions by automatic uniform synthesis paradigms, using neither conditional nor recursive constructs. (2) A completeness theorem for Λ-terms with type of degree at most two and a companion corollary for Λ-programs have been proved. (3) A new congruence relation for the last-mentioned Λ-terms which is stronger than Λ-convertibility is introduced and proved to have the meaning of a Λ-program equivalence. Moreover, an extension of the paradigms to the synthesis of functions of higher complexity is considered and exemplified. All the concepts are explained and motivated by examples over integers, list- and tree-structures.