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.
[1]
Von Kurt Gödel,et al.
ÜBER EINE BISHER NOCH NICHT BENÜTZTE ERWEITERUNG DES FINITEN STANDPUNKTES
,
1958
.
[2]
Robert L. Constable,et al.
Programs as Proofs: A Synopsis
,
1982,
Inf. Process. Lett..
[3]
J. Y. Girard,et al.
Interpretation fonctionelle et elimination des coupures dans l'aritmetique d'ordre superieur
,
1972
.
[4]
Daniel Leivant.
Reasoning about functional programs and complexity classes associated with type disciplines
,
1983,
24th Annual Symposium on Foundations of Computer Science (sfcs 1983).
[5]
Daniel Leivant,et al.
The Expressiveness of Simple and Second-Order Type Structures
,
1983,
JACM.
[6]
C. Goad.
Computational uses of the manipulation of formal proofs
,
1980
.