Abstract: Recursion in higher types was introduced by S. C. Kleene in 1959. Since that time, it has come to be recognized as a natural and important generalization of ordinary recursion theory. Unfortunately, the theory contains certain apparent anomalies, which stem from the fact that higher type computations deal with the intensions of their arguments, rather than the extensions. This causes the failure of the substitution principle (that if and are recursive, then there should be a recursive such that at least whenever is total), and of the first recursion principle (that if is a recursive functional, then the minimal solution of the equation should be recursive as well). In an effort to remove--or at least explain--these anomalies, Kleene, in 1978, developed a system for computation in higher types which was based entirely on the syntactic manipulation of formal expressions, called -expressions. As Kleene pointed out, no adequate semantics for these expressions can be based on the classical (total) type structure over . In a paper to appear in The Kleene Symposium (North-Holland), we showed that an appropriate semantics could be based on the type structure , which is obtained by adding a new object at level 0 and, at level , allowing all monotone, partial functions from type into . Over , both of the principles mentioned above do hold. There is a natural embedding to into .

In this paper, we complement the syntactic structure with a syntax-free definition of recursion over , and show that the two notions are equivalent. This system admits an enumeration theorem, in spite of the fact that the presence of partial objects complicates the coding of finite sequences. Indeed, it is not possible to code all finite sequences from type as type- objects. We use the combination of the syntactic and semantic systems to prove that, for any , the following are equivalent:

A. is recursive in the sense of Kleene [1959],

B. is recursive in the sense of Kleene [1978], and

C. is the pull-back in of some recursive .

Using these equivalences, we give a necessary and sufficient condition on , under which the substitution principle mentioned above will hold for any recursive . With one trivial exception, the condition is that if , then must contain a variable of type greater than . We feel that this result is particularly natural in the current setting.