We say that a set A of reals is recursive in a real y together with a set B of reals if one can imagine a computing machine with an ability to perform a countably infinite sequence of program steps in finite time and with oracles for B and y so that decides membership in A for any real x input to by way of an oracle for x. We write A ≤ yB. A precise definition of this notion of recursion was first considered in Kleene [9]. In the notation of that paper, A ≤yB if there is an integer e so that χA(x) = {e}(x y, χB, 2E). Here χA is the characteristic function of A. Thus Kleene would say that A is recursive in (y, B, 2E), where 2E is the existential integer quantifier.

Gandy [5] observes that the halting problem for infinitary machines such as , as in the case of Turing machines, gives rise to a jump operator for higher type recursion. Thus given a set B of reals, the superjump B′ of B is defined to be the set of all triples 〈e, x, y〉 such that the eth machine with oracles for y and B eventually halts when given input x. A set A is said to be semirecursive in y together with B if for some integer e, A is the cross section {x: 〈e, x, y 〉 ∈ B′}. In Kleene [9] it is demonstrated that a set A is semirecursive in y alone if and only if it is