recursive functions (stanford encyclopedia of philosophy) · non-computability. this includes the...

71
Recursive Functions (Stanford Encyclopedia of Philosophy) * Walter Dean [email protected] Department of Philosophy University of Warwick The recursive functions are a class of functions on the natural numbers studied in computability theory, a branch of mathematical logic initiated in the 1930s which was originally known as recursive function theory. Such functions take their name from the process of recursion by which the value of a function may be defined in terms of the same function applied to smaller arguments. This process may be illustrated by considering the familiar factorial function x! – i.e. the function which returns the product 1 × 2 × ... × x if x > 0 and 1 otherwise. An alternative recursive definition of this function is as follows: fact (0)= 1 (1) fact (x + 1)=(x + 1fact (x) Such a definition might at first appear circular in virtue of the fact that the value of fact (x) on the left hand side is defined in terms the same function on the righthand side. However a characteristic feature of recursive definitions is that they allow for the values of functions which they describe to be calculated by successively “unwinding” the clause for x > 0 until the clause for x = 0 (the so-called base case ) is reached. For instance the value of f act(4) may be calculated as follows: (2) fact (4)= 4 × fact (3)= 4 ×(3 × fact (2)) = 4 ×(3 ×(2 × fact (1))) = 4 ×(3 ×(2 × 1 ×(fact (0)))) = 4 ×(3 ×(2 ×(1 × 1))) = 24 Understood in this way, the definition (1) provides an algorithm for computing the values of fact (x). This is one of the reasons why recursive functions have traditionally been understood as effectively computable – i.e. their values may be calculated by a mechanical computing agent or device within a finite number of steps. It is also for this reason that a class of recursive definitions similar to that exemplified by (1) – i.e. the so-called general recursive functions – were employed as the basic model of computation on which recursive function theory was originally founded. Section 1 of this entry provides an overview of the foundational developments in logic and mathe- matics which led to the definition of the general recursive functions and the founding of recursive * Forthcoming in the Stanford Encyclopdedia of Philosophy. Please do not cite without permission. 1

Upload: others

Post on 10-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Recursive Functions

(Stanford Encyclopedia of Philosophy)∗

Walter [email protected]

Department of PhilosophyUniversity of Warwick

The recursive functions are a class of functions on the natural numbers studied in computabilitytheory, a branch of mathematical logic initiated in the 1930s which was originally known as recursivefunction theory. Such functions take their name from the process of recursion by which the valueof a function may be defined in terms of the same function applied to smaller arguments.

This process may be illustrated by considering the familiar factorial function x! – i.e. the functionwhich returns the product 1×2× . . .×x if x > 0 and 1 otherwise. An alternative recursive definitionof this function is as follows:

fact(0) = 1(1)

fact(x + 1) = (x + 1) × fact(x)

Such a definition might at first appear circular in virtue of the fact that the value of fact(x) on theleft hand side is defined in terms the same function on the righthand side. However a characteristicfeature of recursive definitions is that they allow for the values of functions which they describeto be calculated by successively “unwinding” the clause for x > 0 until the clause for x = 0 (theso-called base case) is reached. For instance the value of fact(4) may be calculated as follows:

(2)fact(4) = 4 × fact(3) = 4 × (3 × fact(2)) = 4 × (3 × (2 × fact(1))) =

4 × (3 × (2 × 1 × (fact(0)))) = 4 × (3 × (2 × (1 × 1))) = 24

Understood in this way, the definition (1) provides an algorithm for computing the values of fact(x).This is one of the reasons why recursive functions have traditionally been understood as effectivelycomputable – i.e. their values may be calculated by a mechanical computing agent or device withina finite number of steps. It is also for this reason that a class of recursive definitions similar tothat exemplified by (1) – i.e. the so-called general recursive functions – were employed as the basicmodel of computation on which recursive function theory was originally founded.

Section 1 of this entry provides an overview of the foundational developments in logic and mathe-matics which led to the definition of the general recursive functions and the founding of recursive

∗Forthcoming in the Stanford Encyclopdedia of Philosophy. Please do not cite without permission.

1

Page 2: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

function theory in the 1930s. Section 2 surveys different forms of recursive definitions, inclusive ofthe primitive and partial recursive functions which are most central to the classical developmentof this subject. Section 3 provides an overview of the properties of the partial recursive functionswhich make them suitable as a model for the development of a general theory of computability andnon-computability. This includes the so-called Recursion Theorem (Section 3.4), a result whichhighlights the centrality of recursion to computation as well as its relationship to self-reference.Subsequent updates to this entry will provide an overview of subrecursive hierarchies employed inproof theory and computer science as well as a more comprehensive treatment of modern com-putability theory.

Contents

1 Historical Background 3

1.1 The early history of recursive definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 The origins of primitive recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Arithmetical representability and Godel’s First Incompleteness Theorem . . . . . . . 7

1.4 The Ackermann-Peter function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.5 The general recursive functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.6 Church’s Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.7 The Entscheidungsproblem and undecidability . . . . . . . . . . . . . . . . . . . . . . . 16

1.8 The origins of Recursive Function Theory and Computability Theory . . . . . . . . . 18

2 Forms of recursion 19

2.1 The primitive recursive functions (PR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.1.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.1.2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.1.3 Additional closure properties of the primitive recursive functions . . . . . . . . 28

2.2 The partial recursive functions (PartREC) and the recursive functions (REC) . . . 30

2.2.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.2.2 The Normal Form Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3 Computability theory 34

3.1 Indexation, the s-m-n Theorem, and universality . . . . . . . . . . . . . . . . . . . . . . 34

3.2 Non-computable functions and undecidable problems . . . . . . . . . . . . . . . . . . . 35

3.3 Computable and computably enumerable sets . . . . . . . . . . . . . . . . . . . . . . . . 38

3.4 The Recursion Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2

Page 3: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

3.5 Reducibilities and degrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.5.1 The many-one degrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.5.2 The Turing degrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.6 The arithmetical and analytical hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.6.1 The arithmetical hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.6.2 The analytical hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4 Further reading 63

1 Historical Background

NB: This section assumes familiarity with some of the terminology introduced in Section 2 andSection 3. Readers looking for a contemporary overview of recursive functions or computabilitytheory are advised to start there.

1.1 The early history of recursive definitions

Examples of recursive definitions can be found intermittently in the history of ancient and medievalmathematics. A familiar illustration is the sequence Fi of Fibonacci numbers 1,1,2,3,5,8,13, . . .given by the recurrence F0 = 1, F1 = 1 and Fn = Fn−1 + Fn−2 (see Section 2.1.3). The definition ofthis sequence has traditionally been attributed to the 13th century Italian mathematician Leonardoof Pisa (also known as Fibonacci) who introduced it in his Liber Abaci (1202) in the context ofan example involving population genetics (see Sigler, 2003, pp. 404-405). However, descriptionsof similar sequences can be found in Greek, Egyptian, and Sanskrit sources dating as early as 700BCE (see, e.g., Singh, 1985).

General interest in recursion as a mode of function definition originated in the mid-nineteenthcentury as part of the broader program of arithmetizing analysis and the ensuing discussions ofthe foundations of arithmetic. In this context, the availability of recursive definitions for numbertheoretic functions was closely tied to the isolation of mathematical induction as a mode of reasoningabout the natural numbers. It was in this setting in which Grassmann (1861) and Peirce (1881)first formulated the familiar recursive definitions of addition and multiplication:1

(3) i) x + 0 = xii) x + (y + 1) = (x + y) + 1

(4) i) x × 0 = 0

1Grassmann and Peirce both employed the old convention of regarding 1 as the first natural number. They thusformulated the base cases differently in their original definitions – e.g. “By x + y is meant, in case x = 1, the numbernext greater than y; and in other cases, the number next greater than x′ + y, where x′ is the number next smallerthan x.” (Peirce, 1881, p. 87)

3

Page 4: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

ii) x × (y + 1) = (x × y) + x

They then used these definition to prove the associative, commutative, and distributive laws forthese operations.2

The first person to employ the expression “definition by recursion” appears to have been Dedekindin his (1888) essay Was find und was sollen die Zahlen. This work presents a set theoretic foundationfor arithmetic wherein Dedekind demonstrated that it was possible to state and prove the existenceand uniqueness of functions defined by primitive recursion as mathematical theorems (§125-126).He formulated recursive definitions of addition (§135), multiplication (§147), and exponentiation(§155) and then also formally proved by induction that the functions so defined satisfy the expectedalgebraic identities. The first two of these definitions would later be adopted by Peano (1889) asdefining the symbols + and × in the direct axiomatization of arithmetic he based on Dedekind’smonograph.

1.2 The origins of primitive recursion

The first work devoted exclusively to recursive definability was Skolem’s (1923) paper “The foun-dations of elementary arithmetic established by the recursive mode of thought, without the use ofapparent variables ranging over infinite domains”. This work is significant with respect to the sub-sequent development of computability theory for at least three reasons. First, it contains a informaldescription of what we now call the primitive recursive functions. Second, it can be regarded asthe first place where recursive definability is linked to effective computability. And third, it demon-strates that the extent of such functions goes substantially beyond those considered by previousauthors in a manner which anticipates Godel’s (1931) subsequent use of primitive recursion for thearithmetization of syntax.

One of Skolem’s stated goals was to present a logical foundation for number theory without theuse of unbounded quantifers. He was inspired in this regard by the observation that it is possibleto develop much of elementary arithmetic without the use of the unbounded quantifiers “always”(i.e. for all) and “sometimes” (i.e. there exists) which were involved in the formalization of numbertheory given by Russell and Whitehead in Principia Mathematica (1910–1913). He accomplishedthis by formulating arithmetical theorems as what he referred to as functional assertions. Thesetook the form of identities between terms defined by primitive recursive operations which Skolemreferred to as descriptive functions. For instance, the commutativity of addition is expressed inthis form as

(5) x + y = y + x

In the case that such statements are provable in the system Skolem describes, the intended inter-pretation was that the claim holds universally for all natural numbers – e.g. ∀x∀y(x + y = y + x).However in Skolem’s system there is no means of negating such a statement to express a bareexistential proposition without producing a witness.

Statements like (5) would later be referred to by Hilbert and Bernays (1934) as verifiable in the sensethat their individual instances can be verified computationally by replacing variables with concrete

2See (Wang, 1957) for a reconstruction of Grassmann’s and Peirce’s treatments.

4

Page 5: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

numerals. This is accomplished by what Skolem referred to as the “recursive mode of thought”.Although Skolem provides no precise definition of this phrase, its sense is clarified by the followingproperties of the system of definitions which is described in (1923): i) the natural numbers are takenas basic objects together with the successor function x+1; ii) it is assumed that descriptive functionsproven to be equal may be substituted for one another in other expressions; iii) all definitions offunctions and relations on natural numbers are given by recursion; iv) functional assertions suchas (5) must be proven by induction. Taking these principles as a foundation, Skolem showed howto obtain recursive definitions similar to those given in Section 2.1.2 below of the predecessor andsubtraction functions, the less than divisbility, and primality relations, greatest common divisors,least common multiples, and bounded sums and products.

The various examples considered by Skolem include instances of what we would now refer to asprimitive recursion, course of values recursion, double recursion, and recursion on functions of typeN→ N. He did not, however, explicitly identify schema corresponding to these modes of definition.Nonetheless, properties i) - ii) of Skolem’s treatment provide a means of assimilating calculationslike (2) to derivations in quantifier-free first-order logic. And when combined with properties iii) -iv), it is thus not difficult to discern in (Skolem, 1923) the kernel of the system we now know asPrimitive Recursive Arithmetic (as later defined by Hilbert and Bernays, 1934, §7).

The next important steps in the development of a general theory of recursive function arose asa consequence of the interaction between the Hilbert Program and Godel’s (1931) proof of theIncompleteness Theorems for axiomatic systems such as Peano arithmetic. With respect to theformer, recall that Hilbert (1900) had announced the goal of proving the consistency of arithmetic(and ultimately also analysis and set theory) in the face of the set theoretic paradoxes. His initialplans for carrying out such a proof are described in a series of papers in the 1910s-1920s whichprovide a description of what would come to be called the finitary standpoint – i.e. the fragmentof mathematical reasoning pertaining to finite combinatorial objects which was intended to serveas the intuitively secure basis for a consistency proof. The proof itself was to be carried out usingthe methods of what Hilbert referred as metamathematics – i.e. the formal study of axiom systemsand derivations which would grow into the subject now known as proof theory .

In one of his initial descriptions of this program in “Uber die grundlagen der logik und der arith-metik” (1905) Hilbert sketched the basic form which a metamathematical proof of consistencymight take. Suppose, for instance, that T is a mathematical theory about which it is possible toprove the following conditional:

i) If n applications of the axioms and rules of inference of a given system T do not lead to acontradiction, then n + 1 applications also do not lead to a contradiction.

Were it possible to provide a mathematical demonstration of i), it might seem possible to conclude

ii) T is consistent.

However Poincare (1906) observed that Hilbert’s approach evidently relies on mathematical induc-tion in inferring ii) from i). And he thus objected that this renders Hilbert’s method circular inthe case that the system T in question itself subsumed principles intended to formalize induction.3

3A version of the method which Hilbert (1905, pp. 10-13) describes would later come to play a role in formalized

5

Page 6: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Together with his collaborators Ackermann and Bernays, Hilbert developed metamathematics con-siderably during the 1910-1920s. This served as the basis of his lecture “Neubegrundung der Math-ematik: Erste Mitteilung” (1922) wherein he replied to Poincare by making a systematic distinctionbetween “formal” occurrences of mathematical induction in the object language of the system Twhich is to be proven consistent and the metamathematical use of induction as a “contentual” (or“intuitive”) principle used to reason about proofs regarded as finite combinatorial objects. It wasalso in this context in which Hilbert first connected the latter form of induction to the “constructionand deconstruction of number signs” (1922, p. 1123).

As is made clear in subsequent presentations, Hilbert understood “number signs” to be unarynumerals written in stroke notation of the form

∣, ∣∣, ∣∣∣, . . .

Such expressions can be operated on concretely by adjoining or removing strokes in a manner whichmirrors the arithmetical operations of successor and predecessor which figure in Skolem’s “recursivemode of thought”. This observation in turn informed his explanation of the meaning of functionalassertions such as (5) as equations between symbolic formulas which can be derived in a logicalcalculus on the basis of a recursive definitions which also govern the derivation of correct equationswhen numerals are substituted by terms (Hilbert, 1920, pp. 54-55).

Hilbert first described a logical calculus for finitary number theory including “recursion and intuitiveinduction for finite totalities” in (1923, p. 1139).4 Although this presentation also included adiscussion of definition by simultaneous recursion, a more extensive treatment of what we wouldnow recognize as different forms of recursion schemes is given in (1926), inclusive of what Hilbertcalls ordinary recursion (which is similar to Skolem’s description of primitive recursion), transfiniterecursion, as well as recursion at higher types. However the influence of Hilbert’s presentations wasdiminished in light of the more precise presentation of the primitive recursion scheme which Godelwould soon present.5

Godel’s (1931, pp. 157-159) definition was as follows:

A number-theoretic function φ(x1, . . . , xn) is said to be recursively defined in terms ofthe number-theoretic functions ψ(x1, x2, . . . , xn−1) and µ(x1, x2, . . . , xn+1) if

(6) i) φ(0, x2, . . . , xn) = ψ(x2, . . . , xn)ii) φ(k + 1, x2, . . . , xn) = µ(k,φ(k, x2, . . . , xn), x2, . . . , xn)

holds for all x2, . . . , xn, k.

consistency proofs following its subsequent redescription by Tarski (1935) in terms of a truth predicate. But although(Hilbert and Bernays, 1939, §5.2e) returned to discuss this method, they ultimately concluded that it was beyondthe scope of their finitary standpoint. See (Dean, 2019, §5) for additional discussion.

4See (Hilbert and Bernays, 1934, pp. 23-26) for a more extended discussion of the relationship between numerals,induction, and recursion within a mature formulation of the finitary standpoint. See also (Tait, 1981) for a modernreconstruction.

5The influence of Hilbert’s presentation was further limited by the connection which he appears to draw betweentransfinite recursion and the Continuum Hypothesis (which was deemed obscure by his contemporaries). See vanHeijenoort’s introductory remarks to Hilbert (1926) for discussion.

6

Page 7: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

A number-theoretic function φ is said to be recursive if there is a finite sequence ofnumber-theoretic functions φ1, φ2, . . . φn that ends with φ and has the property thatevery function φk of the sequence is recursively defined in terms of two of the precedingfunctions, or results from any of the preceding functions by substitution, or, finally, isa constant or the successor function x + 1 . . . A relation R(x1, ..., xn) between naturalnumbers is said to be recursive if there is a recursive function φ(x1 . . . , xn) such that,for all x1, x2, . . . , xn

(7) R(x1, . . . , xn)↔ φ(x1, . . . , xn) = 0

Modulo Godel’s use of the term “recursive” instead of “primitive recursive” (which will be ex-plained below), this exposition comes close to coinciding with the contemporary definition of theprimitive recursive functions given in Section 2.1.6 Godel’s definition also improved upon thoseof his predecessors by clearly defining the class of initial functions which are allowed in primitiverecursive definitions and by stating that each primitive recursive function possesses a definitioncorresponding to a sequence of functions which shows how it is built up from the initial functions.This makes clear that the primitive recursive functions constitute a mathematically well-definedsubclass PR of functions of type ⋃k∈N(Nk → N). Godel additionally proved that the primitiverecursive relations – defined as characteristic functions via (7) – are closed under propositionaloperations and quantification bounded by a primitive recursive function (see Section 2.1.2).

1.3 Arithmetical representability and Godel’s First Incompleteness Theorem

The foregoing definition appears in Godel’s well known (1931) paper “On formally undecidablepropositions of Principia mathematica and related systems I”. As he observes immediately beforepresenting it, the definition of primitive recursion is in fact a digression from the main focus of thepaper – i.e. proving the incompleteness of the axiomatic system he calls P. It will be useful to attendboth to some features of this system and to Godel’s proof of the First Incompleteness Theorem whichcontributed to the subsequent study of recursive functions and computability theory. (Additionaldetails and context are provided in the entry on Godel’s Incompleteness Theorems.)

System P is obtained from that of Whitehead and Russell’s Principia Mathematica (1910–1913)by adding the second-order Peano axioms for arithmetic at the ground type. It is hence a fixedformal system with finitely many non-logical axioms sufficient for the development of elementarynumber theory.7 The form of the first incompleteness theorem which Godel proves states that if Pis ω-consistent, then there exists a formula GP which is undecidable in P – i.e. neither provable norrefutable from its axioms. His construction of such a formula can be understood to proceed in twophases. First, Godel demonstrates how it is possible to encode various syntactic and metatheoretic

6Although Godel’s original definition also omits the projection functions and composition operation, he soon addedthese in his subsequent Godel (1934, p. 347) lectures on the incompleteness theorems.

7In fact P also contains the axiom scheme of comprehension at arbitrary types. But since Godel makes no useof classes of type 2 or higher, the fragment of P which is employed in (Godel, 1931) is similar to the contemporarysystem ACA0 which is in turn axiomatizable using a finite number of instances of comprehension (cf. Simpson, 2009,§3). But as Godel (1931, p. 181) was also clearly aware, the second-order features of this system are not required forthe proof – e.g. we now know following (Tarski et al., 1953) a version of the first incompleteness theorem will holdfor any recursively axiomatizable theory in which it is possible to interpret the weak first-order theory Q (Robinsonarithmetic).

7

Page 8: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

properties of P-formulas and proofs as primitive recursive relations via a technique which has cometo be known as the arithmetization of syntax. Second, he then shows for every primitive recursiverelation R(x1, . . . , xk) there exists a “class sign” (i.e. formula) ϕR(x1, . . . , xn) of P such that thefact that R(x1, . . . , xn) holds of (or does not hold of) a given tuple of numbers n1, . . . , nk is mirroredby the provability (or refutability) of the corresponding instance of ϕR(x1, . . . , xn) with the formalnumeral ni substituted for xi – i.e.

(8) i) if R(n1, . . . , nk), then P ⊢ ϕR(n1, . . . , nk)ii) if ¬R(n1, . . . , nk), then P ⊢ ¬ϕR(n1, . . . , nk)

According to the terminology Godel introduced in (1934), in such a case ϕR(x1, . . . , xn) representsR(x1, . . . , xn). In this later presentation, he also generalized this definition to say that a functionf(x1, . . . , xn) is representable in P just in case there exists a formula ϕf(x1, . . . , xk, y) such that forall n1, . . . , xk,m ∈ N,

(9) f(n1, . . . , nk) =m if and only if P ⊢ ϕf(n1, . . . , nk,m)

Godel’s arithmetization of syntax provides a means of assigning to each primitive symbol, term,formula, and proof α of P a unique Godel number ⌜α⌝ ∈ N according to its syntactic structure. Thistechnique takes advantage of the familiar observation that a finite sequence of numbers n1, . . . , nkcan be encoded as a product of prime powers 2n1 ⋅3n2 ⋅ . . . pnkk so that various correlative operationson sequences can be shown to be primitive recursive – e.g. that which takes two sequence numbersx and y and returns the code x ∗ y of the result of concatenating x followed by y. Godel proceedson this basis to show that a sequence of metatheoretic notions are primitive recursive – e.g. thefunction Neg(x) which returns the Godel number of the formula coded by x can be defined as⌜¬⌝ ∗ x. The availability of the relevant recursive definitions thus falls out naturally since theinductive definitions of syntactic notions like well-formed formula generalize the “construction anddeconstruction of number signs” in the sense described by Hilbert.8

The penultimate definition in Godel’s list is the relation ProofS(x, y) which holds between the Godelnumber of a P-formula ϕ and the Godel number of a finite sequence of P-formulas ψ1, . . . , ψn justin case the latter is a correctly formed derivation of the former from the axioms of P – i.e.

(10) ProofP(⌜ψ1, . . . , ψn⌝, ⌜ϕ⌝) iff P ⊢ ϕ via a derivation ψ1, . . . , ψn in which each ψi is either anaxiom of P or follows from prior formulas via its rules of inference

From (8) it follows that there exists a formula ProofP(x, y) of P which represents ProofP(x, y)and thus also a formula ProvP(y) =df ∃xProofP(x, y). Godel famously named the latter formulaBew(x) (for beweisbar) as it can be understood to express that there exists a proof from the axiomsof P of the formula with Godel number x. But unlike the other formulas representing primitiverecursive relations which figure in its definition, ProvP(x) contains an unbounded quantifier. Andthus as Godel is careful to observe, there is no reason to expect that it defines a primitive recursiverelation.

8Although Godel does not cite Skolem by name, the sequence of definitions leading up to his demonstration thatthe primality relation is primitive recursive also closely follows that given in (Skolem, 1923).

8

Page 9: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Nonetheless, it is this formula which Godel uses to construct a sentence which is undecidable in P.This can be accomplished by the application of the so-called Diagonal Lemma which states thatfor every formula ϕ(x) of P, there exists a sentence ψφ such that

(11) P ⊢ ψ↔ ϕ(⌜ψϕ⌝)

When applied to the formula ¬ProvP(x), the Diagonal Lemma yields a sentence GP – i.e. theso-called Godel sentence for P – such that P ⊢ GP ↔ ¬ProvP(⌜GP⌝). GP may thus famously beinterpreted as “saying of itself” that it is unprovable in P and in fact it is this sentence which Godelshows to have the following properties: i) if P is consistent, then P /⊢ GP; ii) if P is ω-consistent,then P /⊢ ¬GP. This constitutes what is now known as Godel’s First Incompleteness Theorem.

As we have just seen, the proof of this fact relies explicitly on the representability of the relationProofP(x, y) in P and this in turn derives from its primitive recursiveness. The techniques on whichGodel’s proof relies contributed to the subsequent development of computability theory in severaladditional ways. First, it follows from our ability to Godel number the formulas of P that wemay also effectively enumerate them as ϕ0(x), ϕ1(x), ϕ2(x), . . . – e.g. in increasing order of ⌜ϕi⌝.This provides a mechanism for referring to forumlas via their indices which in turn served as animportant precedent for Kleene’s (1936) use of a similar indexation of general recursive definitionsin his proof of the Normal Form Theorem (see Section 2.2.2). Second, the proof of the DiagonalLemma also demonstrates how it is possible to formalize the substitution of terms for free variablesin a manner which may be understood to yield an effective form of Cantor’s diagonal argument.This technique served as an important precedent for the use of diagonalization in results such asthe undecidability of the Halting Problem (Turing, 1936, see Section 3.2), the Recursion Theorem(Kleene, 1938, see Section 3.4), and the Hierarchy Theorem (Kleene, 1943, see Section 3.6).

A third significant contribution of Godel’s paper derives from the fact that after proving the incom-pleteness of P, he took several steps towards isolating the general features of an axiomatic theoryT such that it satisfies analogous undecidability results. In addition to being sufficiently strongto satisfy (8), the other requirement which he identifies is that “the class of axioms and the rulesof inference . . . are recursively definable” (1931, p. 181). As he notes, these features hold bothof Zermelo-Fraenkel set theory [ZF] and a first-order arithmetical system similar to what we nowcall first-order Peano arithmetic [PA], relative to an appropriate Godel numbering of their axioms.In particular, while neither of these systems is finitely axiomatizable, they may be axiomatized bya finite number of schemes (e.g. of induction or comprehension) such that the relation ⌜ϕ⌝ is theGodel number of an axiom of T is primitive recursive.

This observation set the stage for Godel’s subsequent revisiting of the incompleteness theoremsin the lectures (1934) wherein he suggests a significant generalization of his original (1931) defini-tion of recursiveness. Godel starts out by providing the following informal characterization of therequirements of the theories just described:

We require that the rules of inference, and the definitions of meaningful formulas andaxioms, be constructive; that is, for each rule of inference there shall be a finite procedurefor determining whether a given formula B is an immediate consequence (by that rule) ofgiven formulas A1, . . . ,An and there shall be a finite procedure for determining whethera given formula A is a meaningful formula or an axiom. (Godel, 1934, p. 346)

9

Page 10: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

He also makes clear that what he calls “recursiveness” is to be initially regarded as an informalnotion which he is attempting to make precise:

Recursive functions have the important property that, for each given set of values of thearguments, the value of the function can be computed by a finite procedure. Similarly,recursive relations (classes) are decidable in the sense that, for each given n-tuple ofnatural numbers, it can be determined by a finite procedure whether the relation holdsor does not hold (the number belongs to the class or not), since the representing functionis computable. (Godel, 1934, p. 348)

One of Godel’s goals was thus to provide a mathematical definition of the term “recursive” whichgeneralizes prior examples of recursive definability in a manner which analyses to as great an extentas possible computability by a finite procedure. This led him to define the so-called general recursivefunctions (see Section 1.5) whose isolation in turn played an important role in the formulation ofChurch’s Thesis (see Section 1.6). However Godel’s definition also took place against the backdropof other work which had been inspired by Hilbert’s original consideration of different forms ofrecursive definitions. It will be useful to examine these developments first.

1.4 The Ackermann-Peter function

Already at the time of (1926), Hilbert had anticipated that it would be possible to formulatefunctional definitions whose values could be computed in a recursive manner but which are notthemselves primitive recursive. In order to illustrate how such a definition might be obtained, hepresented a heuristic argument involving the following sequence of functions:

(12) α0(x, y) = x + 1 (sucessor)α1(x, y) = x + y (addition)α2(x, y) = x × y (multiplication)α3(x, y) = xy (exponentiation)

α4(x, y) = xx⋰x

±y times

(super-exponentiation)

The functions in this sequence are defined so that αi+1(x, y + 1) is obtained by primitive recursionas αi(αi+1(x, y), x), together with an appropriate base case. It thus makes sense mathematicallyto consider the function

(13) α(i, x, y) = αi(x, y)

wherein the first argument i represents the position of the function αi(x, y) in the prior list. For fixedi, n,m ∈ N it is thus possible to effectively compute the value of α(i, n,m) by first constructing thedefinition of αi(x, y) and then evaluating it at n,m. However, it is also easy to see that αi+1(x,x)will eventually dominate αi(x,x) for sufficiently large x. This in turn suggests that α(i, x, y)cannot be defined by a finite number of applications of the primitive recursion scheme and is thusnot primitive recursive.

10

Page 11: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

The specification of α(i, x, y) just given does not itself have the form of a recursive definition. Butit is possible to define similar functions in a manner which generalizes the format of the scheme(6). One means of doing so is to first use recursion on the type N→ N – a simple form of recursionat higher types as envisioned by Hilbert – to define an iteration functional as follows:

Iter(φ,0) = φ(14)

Iter(φ,x + 1) = φ(I(φ), x)

Iter takes as arguments a function φ ∶ N → N as well as a number x ∈ N and is defined so thatIter(φ,n) = φn+1(x) – i.e. the function which is the nth iterate of φ. We may now define a functionβ of type N→ (N→ N) as follows:

β(0) = x + 1 (i.e. the successor function)(15)

β(x + 1) = Iter(β,x)

It then can be verified that β(0) = x+1, β(1) = 2+(x+3)−3 = x+2, β(2) = 2×x−3, β(3) = 2x+3−3,

β(4) = 22⋰2

±x times

−3, . . .

We may now define a variant of the so-called Ackermann-Peter function as π(i, x) = β(i)(x) – i.e.the result of applying the function β(i) to the argument x. π(i, x) has the same order of growthas αi(x,x) and it is possible to prove via the argument sketched above that π(i, x) is not primitiverecursive (see, e.g., Peter, 1967, §9). Based on earlier work of Ackermann (1928), Peter (1935) alsoshowed that π(i, x) may also be defined by a so-called doubly recursive definition of the followingform which takes only natural numbers as arguments:9

π(0, x) = x + 1(16)

π(i + 1,0) = π(i,1)π(i + 1, x + 1) = π(i, π(i + 1, x))

The third clause in this definition defines the value of π(i, x) in terms of the value π(i, x−1) ratherthan π(i−1, x−1) in analogy with the scheme (6). It may thus not be immediately obvious that thedefinition (16) describes an algorithm for computing the values of π(i, x) which always terminatesin the manner illustrated by the calculation (2). Note, however, with each recursive applicationeither i decreases, or i remains the same and x decreases. It thus follows that each time x reaches0, i will start to decrease so that the base case is eventually reached. Thus although the value ofπ(i, x) grows very rapidly – e.g. π(4,3) = 22

65536−3 – it is still reasonable to regard (16) as satisfyingGodel’s requirement that a recursively defined function is computable by a finite procedure.

Systematic consideration of such alternative recursion schemes exemplified by (16) was initiated byPeter (1932). It was also she who introduced the term “primitive recursive” to describe the class offunctions given by Godel’s scheme (6), a choice which would become standard after its adoption by

9A contemporaneous definition of a recursively defined function on ordinal numbers which is not primitive recursivewas given by Sudan (1927). See (Calude et al., 1979) for discussion of the relationship between Ackermann and Sudan’sdefinitions in light of Hilbert’s presentation of recursion in (1926).

11

Page 12: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Kleene (1936). Peter additionally showed that Hilbert’s (1926) formulation of “ordinary recursion”is equivalent to primitive recursion, and that the primitive recursive functions are closed undercourse of values recursion, as well as so-called nested recursions on one variable. Such studies ledto her book (Peter, 1967), whose original German edition Rekursive Funktionen (1951) was the firstmonograph devoted to recursive functions. Together with the later work of Grzegorczyk (1953),these developments also inspired the formulation of various subrecursive hierarchies which wouldlater play a role in proof theory and computer science.10

1.5 The general recursive functions

Godel’s immediate source in (1934) was not Ackermann or Peter’s work but rather a private com-munication with Herbrand, who in two previous papers (1930; 1931) had suggested a related meansof liberalizing recursive definitions. Godel’s informal description of Herbrand’s suggestion was asfollows:

If φ denotes an unknown function, and ψ1, . . . , ψk are known functions, and if the ψ’sand φ are substituted in one another in the most general fashions and certain pairs ofthe resulting expressions are equated, then, if the resulting set of functional equationshas one and only one solution for φ, φ is a recursive function. (Godel, 1934, p. 308)

As an illustration, consider the following set of equations:

φ(0) = 0(17)

ψ(x) = φ(x) + 1

φ(x + 1) = ψ(x) + 1

In this case, the “unknown” function denoted by φ(x) is specified in terms of the auxiliary functionψ(x) in such a way that φ(x) appears only once on the lefthand side of the equations (other thanthe base case). Nonetheless, such a system of equations is unlike a primitive recursive definition inthat it does not specify a unique means for computing the values of φ(n) by “deconstructing” n inthe deterministic manner illustrated by calculations such as (2).

In the general case there is indeed no guarantee that there will exist a unique extensional functionsatisfying such a definition. However in the case at hand it can be shown that 2 × x is the uniquefunction of type N→ N satisfying φ(x) in the system of equations (17). This may be illustrated byconsidering the following calculation of φ(2):

(18) i) φ(2) = ψ(1) + 1

ii) ψ(1) = φ(1) + 1

iii) φ(1) = ψ(0) + 1

iv) ψ(0) = φ(0) + 1

v) φ(0) = 0

10Such hierarchies will be described in a subsequent update to this entry. See, e.g., (Rose, 1984), (Odifreddi, 1999a,§6-7), (Clote, 2002, §6-7), and (Schwichtenberg and Wainer, 2011).

12

Page 13: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

vi) ψ(0) = 0 + 1

vii) φ(1) = (0 + 1) + 1

viii) ψ(1) = ((0 + 1) + 1) + 1

ix) φ(2) = (((0 + 1) + 1) + 1) + 1 (= 4)

As Godel notes, such a calculation may be understood as a derivation in quantifier-free first-orderlogic wherein the only rules which are allowed are the substitution of numerals for variables and thereplacement of a term on the righthand side of an equation by a numeral for which the correspondingidentity has already been derived.

Godel introduced the term general recursive to describe a function defined in this manner. Followingthe modernized presentation of Odifreddi (1989, §I.2) this class may be specified on the basis ofthe following initial definitions:11

Definition 1.1. i) The class of numerals is the smallest set containing 0 and closed under thesuccessor function x↦ s(x). We write n for the numeral s(s(. . . s(0))) n-times.

ii) The class of terms is the smallest set containing the numerals, variables x0, x1, . . . and closedunder the operations t ↦ s(t) and t1, . . . , tn ↦ ψni (t1, . . . , tn) where t, t1, . . . , tn are terms andψni is a primitive n-ary functional symbol.

iii) If t and u are terms and t is of the form ψni (t1, . . . , tn) where t1, . . . , tn do not contain anyfunctional symbols other than s, then t = u is an equation.

iv) A system of equations is a finite set of equations. E(ψ1, . . . , ψn, x) will be used to denote asystem of equations containing primitive functional symbols ψ1, . . . , ψn and variables amongx = x1, . . . , xk

Herbrand (1931) gave a semantic characterization of what it means for a number theoretic functionf to be defined by a system of equations E(ψ1, . . . , ψn, x) by requiring both that there is a solutionto the system and that f coincides with the function determined as ψ1 for every solution. He alsosuggested that this fact should be proved intuitionistically, which might in turn be thought to yieldan effective procedure for computing the values of f .12 However, he did not specify a formal systemin which such a proof should be carried out. And thus Godel suggested (essentially) the followingsyntactic replacement for Herbrand’s definition:

Definition 1.2. A function f ∶ Nk → N is general recursive if there is a system of equationsE(ψ1, . . . , ψn, x) such that if ψki is the leftmost functional symbol in the last equation of E then forall n1, . . . , nk,m ∈ N

f(n1, . . . , nk) =m11See also (Kleene, 1952, §XI) for a more extensive presentation. The term “general recursive function” has also

subsequently been used by some authors to refer either to a recursive function as defined in Section 2.2 (e.g. Enderton,2010) or to one defined by minimization applied to a so-called regular function – i.e. a function g(x, y) which bothtotal and also such that for each x there exist a y such that g(x, y) = 0 (e.g. Epstein and Carnielli, 2008).

12In fact it was later shown by Grzegorczyk et al. (1958, §3.3) that the class of functions satisfying the semanticversion of Herbrand’s definition (as understood classically) corresponds not to the recursive functions but rather tothe hyperarithmetical functions (see Section 3.6.2).

13

Page 14: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

if and only if the equation

ψki (n1, . . . , nk) =m

is derivable from the equations comprising E via the following two rules:

R1: Substitution of a numeral for every occurrence of a particular variable in an equation.

R2: Replacement in the righthand side of an equation of a term of the form ψjl (n1, . . . , nj) with

a numeral q provided that ψjl (n1, . . . , nj) = q has already been derived.

In such a case we say that E defines f with respect to ψki .

It can be verified that the system of equations (17) and the derivation (18) exhibited above satisfythe foregoing requirements, thus exhibiting an instance in which it is possible to mechanicallycalculate using systems of general recursive equations. However certain systems – e.g. {φ(x) =0, φ(x) = s(0)} – are inconsistent in the sense of not being satisfied by any (extensional) functionon the natural numbers, while others – e.g. {φ(x) = φ(x)} – are not satisfied uniquely. One evidentdrawback of Godel’s definition of general recursiveness is thus that there is no apparent means ofestablishing whether a given system of equations E determines (even a partial) function. This isone of the reasons why Godel’s characterization was supplanted by Kleene’s definition of the partialrecursive functions (see Section 2.2) in the subsequent development of computability theory.

1.6 Church’s Thesis

By formalizing his informal characterization of recursiveness via Definition 1.2, Godel succeededin formulating a definition which subsumes the primitive recursion scheme (6), the definition ofthe Ackermann-Peter function, as well as several other schemes considered by Hilbert. Godel’sdefinition of general recursiveness thus also defined a class GR of functions of type Nk → N whichproperly subsumes PR. Moreover, we now know that the class of functions representable in P (orin fact in far weaker arithmetical systems) corresponds not to the primitive recursive functions,but rather to the general recursive functions. Weakening the hypothesis that the set of (Godelnumbers) of the axioms of a formal system to the requirement that they be general recursive ratherthan primitive recursive thus indeed provides a generalization of the First Incompleteness Theoremthe manner in which Godel envisioned.

The definition of GR is also of historical importance because it was the first among several equiv-alent (and essentially contemporaneous) definitions of what were originally called the recursivefunctions but are now often referred to as the computable functions (see Section 2.2). These de-velopments also contributed to the final chapter in the study of recursive functions prior to theinitiation of computability theory as an independent subject – i.e. the isolation and eventualadoption of what is now known as Church’s Thesis.

Church’s Thesis corresponds to the claim that the class of functions which are computable by afinite mechanical procedure – or, as it is traditionally said, are effectively computable – coincideswith the class of general recursive functions – i.e.

14

Page 15: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

(CT) f ∶ Nk → N is effectively computable if and only if f ∈ GR.

It may appear that Godel already proposed a version of Church’s Thesis in (1934). However, he didnot immediately endorse it upon its original articulation by Church.13 And since the surroundinghistory is complex it will be useful to record the following observations as a prelude to Sections 2and 3.14 (See also the articles on Church’s Thesis and Computational Complexity Theory.)

Godel delivered the lectures (Godel, 1934) while he was visiting Princeton in the spring of 1934.Already at that time Church, together with his students Kleene and Rosser, had made substantialprogress in developing the formal system of function application and abstraction now known asthe untyped lambda calculus. This system also provides a means of representing natural numbersas formal terms – i.e. as so-called Church numerals. This leads to a notion of a function beinglambda-definable in the calculus which is similar in form to (9). Church’s definitions thus alsocharacterize a class L of lambda-definable functions which is similar in form to that of GR. Duringthis period, Kleene demonstrated that a wide range of number theoretic functions were includedin L in a manner which can be understood as showing how it is possible to implement primitiverecursion in the lambda calculus. This ultimately led Church to conjecture in early 1934 that thelambda-definable functions coincide with those possessing the property which he called “effectivecalculability”.15

A natural conjecture was thus that lambda-definability coincided extensionally with general re-cursiveness. Unlike (CT) – which equates an informally characterized class of functions with amathematically defined one – the statement GR = L potentially admits to formal demonstration.Such a proof was given by Church (1936b) (and in greater detail by Kleene, 1936) providing thefirst of several extensional equivalence results which Kleene (1952, §62) would eventually cite asevidence of what he proposed to call “Church’s Thesis”.

Church’s Thesis underlies contemporary computability theory in the sense that it justifies theassumption that by studying which functions can and cannot be computed relative to a singlemodel of computation (such as GR or L) we are thereby providing a general account of whatfunctions can and cannot be effectively computed in principle. In light of this, it will be useful tocatalog some additional evidence for Church’s Thesis in the form of the equivalence of GR withseveral other models of computation presented in the Stanford Encyclopedia:

(19) i) Let T be a consistent, computably axiomatizable theory extending Q (i.e. Robinsonarithmetic). Then the class of functions FT which is representable in T in the sense ofDefinition 9 (with T replacing P) is such that FT = GR. See here and (Odifreddi, 1989,§I.3).

13For more on Godel’s evaluation of Church’s Thesis see the introduction and postscript to (Godel, 1934) in (Davis,1965) and also (Davis, 1982).

14Another complicating factor is that it is sometimes claimed that the version of Church’s Thesis stated here cannotserve to analyze the understanding of a computable function as it is understood within constructive mathematics.For note that in order for a system of equations E(ψ1, . . . , ψn, x) to a determine a function f(x) requires that forall arguments n, there exists a derivation of the equation ψki (n) = m. But since this is a mathematical proposition,a constructivist will not accept that it is true unless it can itself be proven constructively. On this basis Peter(1959) argued that general recursiveness cannot be non-circularly employed to provide an analysis of a constructivelycomputable function.

15See (Adams, 2011, §6) for a detailed reconstruction of the timeline leading to Church’s various announcementsand formulations of Church’s Thesis.

15

Page 16: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

ii) The class REC consisting of the total functions which are members of the class ofpartial recursive functions (formed by closing the class PR under the unboundedminimization operation) is such that REC = GR. See Section 2.2.1 and (Odifreddi,1989, §I.2).

iii) The class CL of functions representable in Combinatory Logic (a formal system relatedto the lambda calculus) is such that CL = GR. See here and (Bimbo, 2012, §5.3).

iv) The class T of functions computable by a Turing machine (under several variants of itsdefinition) is such that T = GR. See here and (Odifreddi, 1989, §I.4).

v) The class U of functions computable by Unlimited Register Machines introduced byShepherdson and Sturgis (1963) is such that U = GR. See (Cutland, 1980, §1-3) and(Cooper, 2004, §2).

Equivalence results of these forms testify to the mathematical robustness of the class GR andthereby also to the notion of effective computability itself (and thus “recursiveness” in Godel’ssense). As we have seen, Godel was originally led to the formulation of general recursiveness byattempting to analyze the background notion of recursive definition as a model of effective com-putation as inspired by the foundational developments of the late 19th and early 20th centuries.16

Further discussion of how the work of Church, Turing, and Post can be seen as providing inde-pendent motivated analyses of computability which also support Church’s Thesis can be found in(Gandy, 1980) and (Sieg, 1994, 1997, 2009).

1.7 The Entscheidungsproblem and undecidability

In addition to the dual goals of widening the scope of Godel’s Incompleteness Theorems, anothermotivation for work on recursive functions during the 1930s was the study of so-called undecidable(or unsolvable) problems. The original example of such a problem was that of determining whethera given formula ϕ of first-order logic is valid – i.e. true in all of its models. This was originallydescribed as the Entscheidungsproblem (or decision problem) for first-order logic by Hilbert andAckermann (1928):

The Entscheidungsproblem is solved if one knows a procedure, which permits the de-cision of the universality [i.e. validity] or satisfiability of a given logical expression byfinitely many operations. The solution of the problem of decision is of fundamentalimportance to the theory of all domains whose propositions can be logically describedusing finitely many axioms. (Hilbert and Ackermann, 1928, p. 73)17

This passage illustrates another sense in which the question of the decidability of logical deriv-ability is connected to the concerns which had initiated Hilbert’s study of metamathematics. For

16Godel’s characterization of “recursiveness” (1.2) in terms of systems of equations and formal derivability wouldalso inform work in computer science related to functional programming languages. See, e.g., (McCarthy, 1963),(Greibach, 1975), and (Moschovakis, 1989).

17See (Hilbert, 1929, p. 8) for another of Hilbert’s contemporaneous formulations. Note also that the questionof whether a formula ϕ is satisfiable (i.e. true in some model) is equivalent to the invalidity of ¬ϕ which is turnequivalent to the existence of a model in which ϕ is false. The “satisfiability problem” for first-order logic is thusdual to the Entscheidungsproblem in the sense that a decision algorithm for one would lead immediately to a decisionmethod for the other.

16

Page 17: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

note that if Γ is a finite set of axioms {γ1, . . . , γk}, then the question of whether ψ is a logicalconsequence of Γ is equivalent to whether the sentence ϕ =df (γ1 ∧ . . . ∧ γk) → ψ is logically valid.By Godel’s Completeness Theorem for first-order logic, this is equivalent to the derivability of ϕfrom Hilbert & Ackermann’s (1928) axiomatization of first-order logic. A positive answer to theEntscheidungsproblem could thus be interpreted as suggesting that it is possible to mechanize thesearch for proofs in mathematics in at least the sense of allowing us to algorithmically determineif formulas expressing open questions (e.g. the Riemann Hypothesis) are derivable from a suitablypowerful finitely axiomatized theory (e.g. Godel-Bernays set theory).

In addition to analyzing the notion of effective computability itself, the mathematical goal of bothTuring (1936) and Church (1936b,a) was to provide a mathematically precise negative answer to theEntscheidungsproblem. The answers which they provided can be understood as proceeding in threephases: 1) via the method of the arithmetization of syntax described in Section 1.3, Turing andChurch showed how the Entscheidungsproblem could be associated with a set of natural numbers V ;2) they then showed mathematically that V is not decidable – i.e. its characteristic function is notcomputable in the formal sense, respectively relative to the models T and L; 3) they finally offeredfurther arguments to the effect that these models subsumed all effectively computable functions.

The first of these steps can be undertaken by defining

V = {⌜ϕ⌝ ∶ ϕ is logically valid} = {⌜ϕ⌝ ∶M ⊧ ϕ for all Lϕ-models M}(20)

where ⌜⋅⌝ is a Godel numbering of the language of ϕ as described in Section 1.3. The secondstep of Turing and Church’s negative answer to the Entscheidungsproblem relied on their priorspecification of similar decision problems for the models T, L, and GR. Together with Kleene(1936), they showed the following:

Proposition 1.1. The characteristic functions of the following sets are not computable with respectto the given model:

i) HPT = {⟨i, n⟩ ∶ the Turing machine Ti halts on input n}

ii) HPL = {⌜M⌝ ∶ the untyped λ-term M has a normal form}

iii) HPGR = {⌜E⌝ ∶ the system of equations E-term determines a general recursive function}

For instance, Part i) of Proposition 1.1 shows that there is no Turing machine which outputs 1 if Tihalts on n and 0 otherwise. This is thus a formulation of Turing’s well-known unsolvability of theHalting Problem. Part ii) and iii) would also now be described as expressing that the sets HPT ,HPL and HPGR are all undecidable. By taking into account the equivalence results summarized inSection 1.6, Proposition 1.1 thus shows that membership in these sets cannot be decided relativeto any of the models in question.

On this basis, Turing (for T) and Church (for L and GR) then proved the following:

Proposition 1.2. If V were decidable (with respect to any of the models in question), thenHPT ,HPC , and HPR would be as well.

17

Page 18: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

The proofs which Turing and Church gave of these facts are constructive in the sense that they showhow to effectively transform an individual instance of one of the models into a first-order formulasuch that the formula is valid if and only if the instance possesses the property in question – e.ggiven a Turing machine Ti and input n ∈ N, we construct a formula ϕi,n such that the computationTi(n) halts if and only if ϕi,n is valid. This method thus anticipates the definition of a many-onereduction defined in Section 3.5.1 below.

In conjunction with the other arguments which Church and Turing had already offered in favorof Church’s Thesis (see Section 1.6), Propositions 1.1 and 1.2 can thus be taken to show thatthe Entscheidungsproblem is indeed not decidable in the informal sense described by Hilbert andAckermann (1928) – i.e. not decidable by a “mechanical procedure using finitely many operations”.As we will see in Section 3, the desire to develop a general theory of such undecidability resultsand their interrelations was an important motivation for the development of computability theorystarting in the 1940s.

1.8 The origins of Recursive Function Theory and Computability Theory

The developments just described form part of the prehistory of the subfield of mathematical logicwhich was originally known as recursive function theory (or more simply as recursion theory). Thissubject was initiated in earnest by Kleene, Turing, and Post starting in the late 1930s, directly on thebasis of the papers containing the equivalence and undecidability results summarized in Section 1.6and Section 1.7. Of particular importance are the papers (1936; 1938; 1943; 1955a; 1955b; 1955c)of Kleene. These respectively contain the definition of the partial recursive functions, the proof oftheir equivalence to GR, the Normal Form Theorem, the Recursion Theorem, and the definitionsof the arithmetical and analytical hierarchies. Of equal importance are the papers (1936; 1939) ofTuring – which respectively contain the undecidability of the Halting Problem and the definitionof Turing reducibility – and the paper (1944) of Post – which introduced many-one and one-onereducibility, productive and creative sets, and formulated what would come to be known as Post’sProblem.

These developments will be surveyed in Section 3. As we will see there, an important theme in theearly stages of computability theory was the characterization of a notion of effective computabilitywhich is capable of supporting rigorous proofs grounded in intuitions about algorithmic calculabil-ity but which abstracts away from the details of the models mentioned in Section 1.6. To this end,Godel’s original definition of the general recursive equations was replaced in early textbook treat-ments (e.g. Shoenfield, 1967, Rogers, 1987) by Kleene’s definition of the partial recursive functionsin terms of the unbounded minimization operator introduced in Section 2.2. This characterizationhas in turn been replaced by machine-based characterizations such as those of Turing (1936) orShepherdson and Sturgis (1963) in later textbooks (e.g. Soare, 1987, Cutland, 1980) which arecloser in form to informally described computer programs.

What is retained in these treatments is an understanding of computation as a means of operatingin an effective manner on finite combinatorial structures which can still be understood to fall underthe “recursive mode of thought” as understood by early theorists such as Hilbert, Skolem, Godel,and Peter. But at the same time, many of the basic definitions and results in recursive functiontheory are only indirectly related to recursive definability in the informal sense described in thissection and presented formally in Section 2. In light of this, Soare (1996) proposed that the subject

18

Page 19: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

should be renamed as computability theory and that we should accordingly refer to what havetraditionally known as the recursive functions as the computable functions.

Such a change in terminology has been largely adopted in contemporary practice and is reflected inrecent textbooks such as (Cooper, 2004) and (Soare, 2016). Nonetheless, both sets of terminologyare still widely in use, particularly in philosophical and historical discussions. The reader is thusadvised to keep in mind the terminological discussion at the beginning of Section 3.

2 Forms of recursion

NB: Readers looking for a mathematic overview of recursive functions are advised to start here.Attributions and historical context for the major definitions and results of this section can be foundin Section 1.

This section presents definitions of the major classes of recursively defined functions studied incomputability theory. Of these the primitive recursive functions PR and the recursive functionsREC are the most fundamental. The former are based on a formalization of the process of recursiondescribed in the introduction to this entry and include virtually all number theoretic functionsstudied in ordinary mathematics. The recursive functions are formed by closing the primitiverecursive functions under the operation of unbounded minimization – i.e. that of searching for thesmallest witness to a decidable predicate – and are traditionally taken to correspond via Church’sThesis (Section 1.6) to those which can be effectively computed in principle.

The following notional conventions will be employed in the remainder of this entry:

- N = {0,1,2, . . .} denotes the set of natural numbers, Nk denotes the cross product N × . . . ×Nk-times, and n denotes a vector of fixed numbers n0, . . . , nk−1 (when the arity is clear fromcontext).

- Lowercase Roman letters f, g, h, . . . denote functions of type Nk → N (for some k) – i.e. theclass of functions with domain Nk and range N. For a fixed j, f ∶ Nj → N expresses that f isa j-ary function (or has arity j) – i.e. f has domain Nj and range N.

- x0, x1, x2, . . . are used as formal variables over N in indicating the argument of functions.x, y, z, . . . will also be used informally for arbitrary variables from this list. x will be used toabbreviate a vector of variables x0, . . . , xk−1 (when the arity is clear from context).

- Boldface letters X,Y,Z, . . . (or abbreviations like PR) will be used to denote classes offunctions which are subsets of ⋃k∈N(Nk → N).

- Calligraphic letters F,G,H, . . . (or abbreviations like Compjk) will be used to denote function-

als on Nk → N – i.e. operations which map one or more functions of type Nk → N (possiblyof different arities) to another function.

- Uppercase letters R,S,T, . . . will be used to denote relations – i.e. subsets of Nk – with therange A,B,C, . . . reserved to denote unary relations – i.e. subsets of N.

19

Page 20: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

- The characteristic functions of a relation R ⊆ Nk is denoted by χR(x0, . . . , xk−1) – i.e.

χR(x0, . . . , xk−1) =⎧⎪⎪⎨⎪⎪⎩

1 if R(x0, . . . , xk−1)0 if ¬R(x0, . . . , xk−1)

2.1 The primitive recursive functions (PR)

2.1.1 Definitions

A class X of recursively defined functions may be specified by giving a class of initial functions IXwhich is then closed under one or more functionals from a class OpX. It is in general possible todefine a class in this manner on an arbitrary set of objects. However, all of the function classesconsidered in this entry will determine functions of type Nk → N – i.e. they will take k-tuples ofnatural numbers as inputs and (if defined) return a single natural number as output.

In the case of the primitive recursive functions, the initial functions include the zero function 0which returns the value 0 for all inputs (and is often treated as a constant symbol), s(x) denotesthe unary successor function x↦ x + 1, and πki denotes the k-ary projection function on to the ithargument (where 0 ≤ i < k) – i.e.

(21) πki (x0, . . . , xi, . . . xk−1) = xi

This class of functions will be denoted by IPR = {0, s, πki }. It should be noted, however, that sinceπki is a distinct function for each i, k ∈ N, IPR already contains infinitely many functions.

The functionals of PR are those of composition and primitive recursion. Composition takes jfunctions g0, . . . , gj−1 of arity k and a single function f of arity j and returns their composition –i.e. the function

(22) h(x0, . . . , xk−1) = f(g0(x0, . . . , xk−1), . . . , gj(x0, . . . , xk−1))

of type Nk → N. As an example, suppose that f is the binary function mult(x, y) (i.e. multiplication– which we will see below is primitive recursive), g0 is the constant 3 function (which we will also seeis primitive recursive), and g1(x) is the successor function s(x). Then the composition of f with g0and g1 is the unary function h(x) = f(g0(x), g1(x)) =mult(3, s(x)) which we would conventionallywrite as 3 × (x + 1).The operation of composition may thus be understood as a class of functionals which for eachj, k ∈ N takes a single j-ary function f and j k-ary functions g0, . . . , gj−1 as inputs and returnsas output the k-ary function h which composes these functions in the manner just illustrated. Aformal means of referring to this operation is as follows:

Definition 2.1. Suppose that f ∶ Nj → N and g0, . . . , gj−1 ∶ Nk → N. Then the term

Compjk[f, g0, . . . , gj−1] denotes the function f(g0(x0, . . . , xk−1), . . . , gj(x0, . . . , xk−1)) of type

Nk → N.

20

Page 21: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Primitive recursion is also a functional operation. In the simplest case, it operates by taking asingle unary function g(x) and a natural number n ∈ N and returns the unary function defined by

h(0) = n(23)

h(x + 1) = g(h(x))

In such a definition, the first clause (known as the base case) determines the value of h at 0, whilethe second clause determines how its value at x+1 depends on its value at x. In this case it is easyto see that the value of x determines how many times the function g is iterated (i.e. applied toitself) in determining the value of h. For instance, if n = 3 and g(x) =mult(x,x), then h(x) = 3x+1

– i.e. the x + 1st iterate of the map x↦ 3 × x.

The full primitive recursion scheme generalizes (23) in two ways. First, it allows the value of thefunction h at x+1 to be defined not just on its own value at x, but also on the value of the variablex itself. This leads to the scheme

h(0) = n(24)

h(x + 1) = g(x,h(x))

For instance, the definition of the factorial function fact(x) defined in the introduction to thisarticle can be obtained via (24) with n = 1 and g(x0, x1) = times(s(x0), x1).A second possible generalization to (23) results from allowing the value of h to depend on a finitesequence of auxiliary variables known as parameters which may also be arguments to the base case.In the case of a single parameter x, this leads to the scheme

h(x,0) = f(x)(25)

h(x, y + 1) = g(x,h(x, y))

For instance, the addition function add(x, y) may be defined in this way by taking f(x0) = x0 andg(x0, x1) = s(x1). This definition can also be thought of as specifying that the sum x + y is thevalue obtained by iterating the function ax(y) which applies the successor function y times in themanner of (23) starting from the initial value x. Similarly, mult(x, y) may be defined by takingf(x0) = 0 and g(x0, x1) = add(x0, x1). This defines the product x × y as the value obtained byiterating the function ax(y) which adds x to its argument y times starting from the initial value 0.

Such definitions may thus be understood to provide algorithms for computing the values of thefunctions so defined.18 For observe that each natural number n is either equal to 0 or is of theform m + 1 for some m ∈ N. If we now introduce the abbreviation n = s(s(s . . . (s(0)))) n-times,the result of applying the successor function s to a number denoted by n thus yields the numberdenoted by n + 1. We may thus compute the value of x + y using the prior recursive definition ofaddition as follows:

18This illustrates how the choice of the zero and successor functions in IPR relates to the historical origin of primitiverecursion in Skolem’s (1923) “recursive mode of thought” and in Hilbert & Bernays’s (1934)“finitary standpoint” (seeSection 1.2). In this setting, natural numbers are understood to be represented by unary numerals of the formε, ∣, ∣∣, ∣∣∣, . . . where ε (the empty string) denotes 0 and the operation x ↦ ∣ ⋅ x of adjoining a stroke to a numeralcorresponds a term denoting the successor of x. The need to explicitly include the projection (or “generalizedidentity”) functions among IPR was realized only later by Godel (1934) (see Section 1.3).

21

Page 22: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

(26) add(2,3) = s(add(2,2)) = s(s(add(2,1))) = s(s(s(add(2,0)))) = s(s(s(2))) =s(s(s(s(s(0))))) = 5

The full definition of the primitive recursion operation combines both generalizations of (23) intoa single scheme which takes as arguments a k-ary function f , a k + 2-ary function g, and returns ak + 1-ary function h defined as follows

h(x0, . . . , xk−1,0) = f(x0, . . . , xk−1)(27)

h(x0, . . . , xk−1, y + 1) = g(x0, . . . , xk−1, y, h(x0, . . . , xk−1, y))

Here the first k arguments x0, . . . , xk−1 to g are the parameters, the k + 1st argument y is therecursion variable, and the k + 2nd argument h(x0, . . . , xk−1, y) gives the prior value of h. Anelementary set theoretic argument shows that for each k ∈ N, if f is k-ary and g is k + 2-ary, thena there is a unique k + 1-ary function h satisfying (27) – see, e.g., (Moschovakis, 1994, §5).

It will again be useful to introduce names for functions defined in this manner:

Definition 2.2. Suppose that f ∶ Nk → N and g ∶ Nk+2 → N. Then the term PrimReck[f, g] denotesthe unique function of type Nk+1 → N satisfying (27).

We may now formally define the class PR of primitive recursive functions as follows:

Definition 2.3. The class of primitive recursive functions PR is the smallest class of func-tions containing the initial functions IPR = {0, s, πki } and closed under the functionals OpPR ={Compij ,PrimReck}.

With the definition of PR in place, we may also define what it means for a relation R ⊆ Nk to beprimitive recursive:

Definition 2.4. R ⊆ Nk is a primitive recursive relation just in case its characteristic function

χR(x0, . . . , xk−1) =⎧⎪⎪⎨⎪⎪⎩

1 if R(x0, . . . , xk−1)0 if ¬R(x0, . . . , xk−1)

is a primitive recursive function.

Definition 2.4 thus conventionalizes the characterization of a primitive recursive relation R ⊆ Nk asone for which there exists an algorithm similar to that illustrated above which returns the output1 on input n if R holds of n and the output 0 if R does not hold of n. As will become clear below,most sets and relations on the natural numbers which are considered in everyday mathematics – e.g.the set PRIMES of prime numbers or the relation DIV = {⟨n,m⟩ ∶ n divides m without remainder}– are primitive recursive.

The foregoing definition specifies PR as the minimal closure of IPR under the functions in OpPR.In other words, PR may be equivalently defined as the subclass of ⋃k∈N(Nk → N) satisfying thefollowing properties:

(28) i) IPR ⊆ PR

22

Page 23: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

ii) For all j, k ∈ N and f, g0, . . . , gk−1 ∈ PR, if f is j-ary and gi is k-ary (for 1 ≤ i ≤ n) thenComp

jk[f, g0, . . . , gj−1] ∈ PR.

iii) For all k ∈ N and f, g ∈ PR, if f is k-ary and g is k + 1-ary then PrimReck[f, g] ∈ PR.

iv) No functions are members of PR unless they can be defined by i) - iii).

Another consequence of Definition 2.3 is thus that each function f ∈ PR possesses a specificationwhich shows how it may be defined from the initial functions IPR in terms of a finite number ofapplications of composition and primitive recursion. This process may be illustrated by furtherconsidering the further the definitions of the functions add(x, y) and mult(x, y) given above.

Note first that although the familiar recursive definitions of addition (3) and multiplication (4) fitthe format of (25), they do not fit the format of (27) which in this case requires that the argumentg to the primitive recursion scheme be a 3-ary function. It is, however, possible to provide a defi-nition of add(x, y) in the official form by taking f(x0) = π10(x0) – i.e. the identity function – andg(x0, x1, x2) = Comp11[s, π31] – i.e. the function which results from composing the successor functionwith the 3-ary projection function on to its second argument. The expression Pr1[π10,Comp11[s, π31]]may then be understood as a syntactic term which encodes the definition we have provided for addi-tion. Multiplication can then be defined via (27) with f = 0 and g(x0, x1, x2) = Comp21[add, π30, π32].Thus Pr1[0,Comp21[add, π30, π32]] – or in explicit form Pr1[0,Comp21[Pr1[π10,Comp11[s, π32]], π30, π32]]– can be taken as a similar term encoding the definition of multiplication we have abbreviated bymult(x, y).These examples illustrate that the simpler recursion schemes which are employed in many informalrecursive definitions may be assimilated to Definition 2.3 – e.g. the function h(x, y) defined in (25)maybe obtained as Pr1[f,Comp21[g, π31, π33]]. Repeated use of this and similar observations will bemade (generally without comment) in Section 2.1.2.

Another consequence of the fact that every f ∈ PR is defined by a term given by (28) is thefollowing:

Proposition 2.1. The class of functions PR is countable.

This can be demonstrated by showing that it is possible to enumerate PR as f0, f1, f2, . . . byintroducing a Godel numbering of terms formed from the expressions 0, s, πki ,Comp

jk and Prk in

the manner described in Section 1.3. Since there are uncountably many functions of type Nk → N forall k > 0, this observation also provides a non-constructive demonstration that there exist numbertheoretic functions which are not primitive recursive.

2.1.2 Examples

Most number theoretic functions and relations familiar from ordinary mathematics can be shownto be primitive recursive. In order to illustrate the extent of these classes, we will present here astandard sequence of definitions which can be traced historically to Skolem (1923). This can beused to show that the sequence coding ⟨. . .⟩ and decoding (⋅)i operations defined below are primitiverecursive which is in turn required for Godel’s arithmetization of syntax (see Section 1.3) as wellas results like the Normal Form Theorem (2.3) below.

23

Page 24: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Constant functions

For each k ∈ N the constant k-function defined as constk(x) = k is primitive recursive. This isbecause we can inductively define

const0(x) = 0 and constk+1(x) = Comp11[s, constk] = s(s(s . . . (s(0)))) =df k(29)

Exponentiation, super-exponentiation, . . .

We have already seen that the addition function x + y can be defined by primitive recursion interms of repeated application of the successor function as add(x, y) and that the multiplicationfunction x× y can be defined by primitive recursion in terms of repeated application of addition asmult(x, y). We can continue this sequence by observing that the exponentiation function xy canbe defined by primitive recursion in terms of repeated multiplication as follows:

exp(x,0) = 1(30)

exp(x + 1, y) = mult(x, exp(x, y))

The super-exponentiation function x ↑ y = xx⋰x

±y times

can be defined by primitive recursion in terms of

repeated exponentiation as as follows:

supexp(x,0) = 1(31)

supexp(x + 1, y) = exp(x, supexp(x, y))

The sequence of functions α0(x, y) = x + y,α1(x, y) = x × y,α2(x, y) = xy, α3(x, y) = x ↑ y, . . . whosei + 1st member is defined in terms of primitive recursion of the ith member form a hierarchy offunctions whose values grow increasingly quickly in proportion to their inputs. While each functionin this sequence is primitive recursive, the function α(x, y) defined as αx(y, y) – a version of theso-called Ackermann-Peter function defined in section Section 1.4 – whose values are not boundedby any fixed function αi. As it can be shown on this basis that α(x, y) cannot be defined by anyfinite number of applications of the scheme PrimRec1, this provides a constructive proof that thereexist functions of type N2 → N which are not primitive recursive.

Predecessor and proper subtraction

The proper predecessor function is given by

(32) pred(y) =⎧⎪⎪⎨⎪⎪⎩

0 if y = 0

y − 1 otherwise

This function is primitive recursive since it may be defined as

pred(y) = 0(33)

pred(y + 1) = y

The second clause of (33) does not depend on the prior value of pred(y). But this definition canstill be conformed to the scheme (27) by taking f(x0) = 0 and g(x0, x1, x2) = π31.

24

Page 25: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

The proper subtraction function is given by

(34) x � y =⎧⎪⎪⎨⎪⎪⎩

x − y if y ≤ x0 otherwise

This function is also primitive recursive since it may be defined as

x � 0 = x(35)

x � (y + 1) = pred(x � y)

Absolute difference, signum, minimum, and maximum

The absolute difference function is defined as

(36) ∣x − y∣ =⎧⎪⎪⎨⎪⎪⎩

x − y if y ≤ xy − x otherwise

∣x−y∣ may be defined by composition as (x�y)+ (y�x) and is hence primitive recursive since � is.

The signum function is defined as

(37) sg(x) =⎧⎪⎪⎨⎪⎪⎩

1 if x ≠ 0

0 otherwise

This function may be defined by composition as sg(x) = 1� (1�x) and is hence primitive recursiveas is the inverted signum function defined by sg(x) = 1 � sg(y) which returns 1 if x = 0 and 1otherwise.

The minimum and maximum functions may be similarly defined by composition from functionspreviously seen to be primitive recursive as follows:

min(x, y) = sg(x � y) × x + sg(y � x) × y(38)

max(x, y) = sg(x � y) × x + sg(y � x) × y(39)

Order and identity

The characteristic functions of the less than relation (<) and equality relation (=) on the naturalnumbers are definable as follows:

χ<(x, y) = sg(y � x)(40)

χ=(x, y) = 1 � (sg(x � y) + sg(y � x))

These relations are hence primitive recursive.

As the less than or equal to relation (≤) is logically equivalent to x < y ∨ x = y it will follow fromthe next set of observations that this relation is also primitive recursive. The is additionally trueof as are x > y, x ≥ y and x ≠ y.

Closure under propositional operations

25

Page 26: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

The set of primitive recursive relations is closed under boolean operations. In other words, if P (x)and Q(x) are primitive recursive, then so are ¬P (x), P (x) ∧Q(x), P (x) ∨Q(x), P (x) → Q(x),and P (x)↔ Q(x).Given the interdefinability of the classical connectives, this follows upon noting the following:

χ¬P (x) = 1 � χP (x)(41)

χP∧Q(x) = χP (x) × χQ(x)

Bounded sums and products

Suppose that f(x, z) is primitive recursive. Then the bounded sum g(x, y) = Σyi=0f(x, i) and the

bounded product h(x, y) = Πyi=0f(x, i) are both primitive recursive as they may be respectively

defined as follows:

g(x,0) = f(x,0)(42)

g(x, y + 1) = g(x, y) + f(x, y + 1)h(x,0) = f(x,0)

h(x, y + 1) = g(x, y) × f(x, y + 1)

Closure under bounded quantification

The set of primitive recursive relations is also closed under bounded quantification – i.e. if R(x, z)is a primitive recursive relation, then so are the relations ∀z ≤ yR(x, z) and ∃z ≤ yR(x, z). Thesemay be respectively defined as follows as follows:

u(x, y) =df χ∀z≤yR(x,z)(x) = Πyi=0χR(x, i)(43)

e(x, y) =df χ∃z≤R(x,z)(x) = sg(Σyi=0χR(x, i))

Closure under bounded minimization

The set of primitive recursive relations is also closed under bounded minimization. This is to saythat if R(x, z) is a primitive recursive relation, then so is the function mR(x, y) which returns theleast z less than y such that R(x, z) holds if such a z exists and y + 1 otherwise – i.e.

mR(x, y) =⎧⎪⎪⎨⎪⎪⎩

the least z ≤ y such that R(x, z) if such a z exists

y + 1 otherwise(44)

To see this, observe that if R(x, z) is primitive recursive, then so is ∀z ≤ y¬R(x, z). It is then notdifficult to verify that mR(x, y) = Σy

i=0χ∀z≤y¬R(x,z)(x, i).Divisibility and primality

A natural number y is said to be divisible by x just in case there exists a z such that x × z = y –i.e. x divides y without remainder. In this case we write x ∣ y. Note that if x ∣ y holds, then thismust be witnessed by a divisor z ≤ y such that x× z = y. We may thus define x ∣ y in the followingmanner which shows that it is primitive recursive:

x ∣ y⇐⇒ ∃z ≤ y(x × z = y)(45)

26

Page 27: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

We may also define the non-divisibility relations x /∣ y as ¬(x ∣ y) which shows that it too isprimitive recursive.

Next recall that a natural number x is prime just in case it is greater than 1 and is divisible byonly 1 and itself. We may thus define the relation Prime(x) in the following manner which showsthat it is primitive recursive:

Prime(x)⇐⇒ 1 < x ∧ ∀z ≤ x(z ∣ x→ (z = 1 ∨ z = x))(46)

The primes form a familiar infinite sequence p0 = 2, p1 = 3, p2 = 5, p3 = 7, p4 = 11, . . . Let p(x) = px –i.e. the function which returns the xth prime number. p(x) can be defined by primitive recursionrelative to the function nextPrime(x) which returns the least y > x such that y is prime as follows:

p(0) = 2(47)

p(x + 1) = nextPrime(p(x))

Recall that Euclid’s Theorem states that there is always a prime number between x and x!+ 1 andalso that x! = fact(x) is primitive recursive. It thus follows that nextPrime(x) can be defined viabounded minimization as follows:

nextPrime(x) =mx<z ∧ Prime(z)(x, fact(x) + 1)(48)

It thus follows that p(x) is primitive recursive.

Sequences and coding

The foregoing sequence of definitions provides some evidence for the robustness of the class of prim-itive recursive relations and functions. Further evidence is provided by the fact that it is possible todevelop the machinery for coding and decoding finite sequences of natural numbers and for perform-ing various combinatorial operations on sequences – e.g. adjunction of an element, concatenation,extracting a subsequence, substituting one element for another, etc. The primitive recursivenessof these operations underpins Godel’s arithmetization of syntax as described in Section 1.3. Wepresent here only the basic definitions required to demonstrate the primitive recursiveness of thek-tupling and projection functions which are required for results in computability theory such asthe Normal Form Theorem (2.3) discussed below.

Given a finite sequence of natural numbers n0, n1, . . . , nk−1 we define its code to be the number

pn0+10 × pn1+1

1 × pn2+12 × . . . × pnk−1+1k−1(49)

where pi is the ith prime number as defined above. In other words, the code of n0, n1, . . . , nk−1 isthe natural number resulting from taking the product of the numbers pni+1i for 0 ≤ i ≤ k − 1. Thiswill be denote by ⟨n0, n1, . . . , nk−1⟩ – e.g. ⟨3,1,4,1,5⟩ = 24 × 32 × 55 × 72 × 116 = 39062920050000.(Note that 1 is added to each exponent so that, e.g., 3,1,4,1,5 has a distinct code from that of3,1,4,1,5,0, etc. – i.e. so that the coding operation is injective.)

The operation which takes a sequence of arbitrary length to its code does not have a fixed arity andhence is not given by a single primitive recursive function. But it is not hard to see that if we restrictattention to sequences of given length k, then ⟨n0, n1, . . . , nk−1⟩ ∶ Nk → N is primitive recursive as itis simply the bounded product given by (49). Consider next the function element(s, i) = ni where

27

Page 28: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

s = ⟨n0, n1, . . . , nk−1⟩ and 0 ≤ i ≤ k − 1 and which returns 0 when i is not in this range or s = 0 or 1(and thus not a code of a sequence). In order to see that element(s, i) is also primitive recursive,first observe that it is possible to recover len(s) – i.e. the length of the sequence coded by s – bysearching for the least i < s such that pi ∣ s and pi+1 /∣ s. Noting that s also bounds all the primespi which divide it we may thus define

len(s) =⎧⎪⎪⎨⎪⎪⎩

0 if s = 0 or s = 1

1 +mpz∣s∧pz+1/∣s(s, s) otherwise(50)

It is straightforward to see that a function defined by cases with primitive recursive conditions isprimitive recursive. So len(s) is primitive recursive as well.

Finally observe that element(s, i) is equal to the smallest exponent n such that pn+1i ∣ s butpn+2i /∣ s and that such an exponent is also bounded by s. We may thus provide a primitiverecursive definition of element(s, i) as follows:

element(s, i) =⎧⎪⎪⎨⎪⎪⎩

0 if len(s) ≤ i or s = 0 or s = 1

mpz+1i ∣s∧pz+2i /∣s(s, s) � 1 otherwise(51)

The conventional abbreviation (s)i = element(s, i) will be employed for this function below.

2.1.3 Additional closure properties of the primitive recursive functions

The primitive recursive functions and relations encompass a broad class including virtually all thoseencountered in ordinary mathematics outside of logic or computability theory. This is illustrated inpart by the fact that PR contains functions such as supexp(x, y) which grow far faster than thosewhose values we can feasibly compute in practice in the sense studied in Computational ComplexityTheory. But the robustness of the class PR is also attested by the fact that its definition is invariantwith respect to a variety of modifications – e.g. with respect to the classes of initial functions IPR

and functionals OpPR on which its definition is based.

As an initial illustration, consider the following scheme of so-called pure iteration:

h(0, y) = y(52)

h(x + 1, y) = g(h(x, y))

It is easy to see that the function h defined by (52) from g in this matter is gx(y) – i.e. thex-iterate of g corresponding to g(g(. . . g(y))) x-times with the convention that g0(y) = y which wewill denote by the functional Iter[g, x]. The scheme (52) thus generalizes (23) by making the valueof base case an argument to h. But it is an apparent restriction of (27) in the sense that h cannotdepend on either the recursion variable or additional parameters in the manner of the full scheme(27).

Suppose we now consider an alternative class of initial functions InIT containing s, πki , the binarycoding function ⟨x, y⟩, and the decoding functions (x)0 and (x)1 defined in Section 2.1.2 (notethat these analogous to the first and second production functions π20 and π21 operating on codesof ordered pairs). Now define IT to be the smallest class of functions containing InIT and closedunder the functionals OpIT = {Compij ,Iter}.

28

Page 29: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Theorem 2.1. (Robinson, 1947) The class IT is equal to the class PR of primitive recursivefunctions.

This illustrates that if we slightly enlarge the class of initial functions, it is still possible to obtainthe entire class PR via a scheme of functional iteration which at first appears less general thanprimitive recursion. See (Odifreddi, 1989, §I.5) for an account of further improvements which canbe obtained in this direction.

Other results show that the class PR also remains stable if primitive recursion is replaced withother schemes which may initially appear more powerful. The most familiar of these is the schemeof course of values recursion which is traditionally illustrated using the so-called Fibonacci functionfib(x) which was briefly discussed at the beginning of Section 1. This may be defined as follows:

fib(0) = 0(53)

fib(1) = 1

fib(y + 1) = fib(y) + fib(y − 1)

This definition can readily be used to calculate the values of fib(x) in a recursive manner – e.g.

(54)fib(4) = fib(3) + fib(2) =(fib(2) + fib(1)) + (fib(1) + fib(0)) =

((fib(1) + fib(0)) + 1) + (1 + 1) = ((1 + 1) + 1) + (1 + 1) = 5

This gives rises to the familiar sequence 0,1,1,2,5,8,13,21,34,55,89,144, . . . wherein F0 = 0, F1 = 1and Fi+2 = Fi+1 + Fi. Note, however, the definition (53) cannot be directly assimilated to theprimitive recursion scheme (27) since the third clause defines the value of fib(y + 1) in terms ofboth fib(y) and fib(y − 1). It is, however, still possible to show that fib ∈ PR. One means ofdoing this is to again make use of the binary coding and projection functions to first define anauxiliary function g(0) = ⟨0,1⟩ and g(y + 1) = ⟨(g(y))1, (g(y))0 + (g(y))1⟩ which enumerates thepairs ⟨F0, F1⟩, ⟨F1, F2⟩, . . . It is then easy to see that fib(y) = (g(y))0.(53) is thus an instance where the value of the function h at y depends on the values h(y − 1) andh(y − 2) of its graph (for y ≥ 2). It is, of course, also possible to consider cases where h(y) dependson an arbitrary number of its preceding values h(0), . . . , h(y−1). To this end, suppose we are given

h(x, y) and then define h(x, y) = Πyi=0p

h(x,i)+1i = ⟨h(x,0), . . . , h(x, y)⟩. We then say that h(x, y) is

defined by course of values recursion from f(x) and g(x, y, z) if

h(x,0) = f(x)(55)

h(x, y + 1) = g(x, y, h(x, y))

Suppose that we now let CVk[f, g] denote the corresponding functional operation and let CV bethe smallest class of functions containing InPR and closed under Comp

jk and CVk. Then since it is

easy to see that h(x, y) is primitive recursive if h(x, y) is, we also have the following:

Theorem 2.2 (Peter, 1935). The class CV is equal to the class PR of primitive recursive functions.

As course of values recursion is used in common mathematical practice, it is significant that it doesnot lead outside the class of primitive recursive functions. There are, however, a number of other

29

Page 30: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

possible ways in which the scheme (27) might also be generalized, including what are known asdouble recursion and nested recursion. The definition of the Ackermann-Peter function π(x, y) inSection 1.4 exhibits the former since its value at x, y depends on its value at both x−1 and y−1 andalso the latter since the occurrence of the defined function π(x, y) is “nested” within itself (ratherthan an auxiliary function) on the righthand side of the third clause. Although such definitionsarise less often in practice, they are important historically due to their occurrence in Hilbert’soriginal discussion of recursion (see Section 1.3). Such schemes were considered systematically byPeter (1967) who showed that unnested double recursion on its own also does not lead outside theclass of primitive recursive functions.

2.2 The partial recursive functions (PartREC) and the recursive functions(REC)

We have now seen two ways of showing that there exist number theoretic functions which are notpartial recursive – i.e. by observing that while there are only countably many primitive recursivefunctions there are uncountably many functions of type Nk → N (k > 0) and also by constructinga function such as α(x, y) = αx(y, y) which grows faster than any primitive recursive function. Athird proof – originally due to Hilbert and Bernays (1934, §7) – is based on the observation thatit is possible to enumerate the class PR as g0(x), g1(x), g2(x), . . . – e.g. by Godel numbering thesorts of definitions considered at the end of Section 2.1.1. If we then consider the modified diagonalfunction

δ(x) = gx(x) + 1(56)

it is easy to see that this also cannot be primitive recursive. For if δ(x) coincided with some functiongj(x) in the enumeration, then we would have gj(j) = δ(j) = gj(j) + 1, a contradiction. Note thatthis also shows that relative to such an enumeration the universal function u1(i, x) = gi(x) forunary primitive recursive functions cannot itself be primitive recursive as we could otherwise defineδ(x) = u1(x,x) + 1. Hilbert and Bernays (1939, §5) would later discuss this observation in regardto what has become known as their denotational paradox – see, e.g. Priest (1997).

On the other hand, there are intuitively effective procedures for computing each of these functions.For instance, in the case of δ(x) we can proceed as follows: i) use x to construct the definition ofgx(y); ii) compute the value of gx(x) by performing the corresponding primitive recursive calcula-tion; iii) add 1 and halt. This illustrates that although α(x, y), δ(x), and u1(i, x) are not primitiverecursive, they are still effectively computable in the sense discussed in Section 1.6. There is thusa natural motivation for seeking to expand the definition of the class PR so as to encompass suchintuitively computable functions.

One means by which this can be accomplished builds on the observation that the bounded min-imization operation mR(x, y) admits to a straightforward algorithmic characterization – i.e. tocompute the value of mR(x, y) successively check R(x,0),R(x,1), . . . ,R(x, z), . . . giving output zand halting as soon as R(x, z) holds and y + 1 if no positive instance is found before z = y. Thiscan be generalized to the so-called unbounded search operation. In particular, given a relationR(x, y) we can define the operation µR(x, z) which returns the least z such that R(x, z) if sucha z exists and is undefined otherwise. Note that if R(x, y) is primitive recursive, then it is stillpossible to effectively search for the value of µR(x, y) by successively checking R(x,0),R(x,1), . . .

30

Page 31: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

But since no upper bound is specified in advance, we are not guaranteed that this procedure willalways terminate. In particular, if there is no z ∈ N such that R(x, z) holds, then the procedure willcontinue indefinitely. In this case, we stipulate that µR(x, y) is undefined, from which it followsthat µR(x, y) will correspond to what is known as a partial function – a notion which is madeprecise by the following sequence of definitions.

2.2.1 Definitions

The class of so-called partial recursive functions is obtained from our prior definition of PR byclosing under an operation similar to µR(x, z) which is applied to functions rather than relations.In order to define this class, we first introduce the following conventions regarding partial functionsextending those given at the beginning of Section 2:

- A function f ∶ Nk → N is called total if f(n) is defined for all n ∈ Nk. Otherwise f(x) is calledpartial.

- We write f(n) ↓ to express that f(x) is defined at n and additionally f(n) ↓= m if f(n) isdefined at n and equal to m. Otherwise we write f(n) ↑ to express that f(x) is undefined atn.

- The domain of f(n) is the set dom(f) = {n ∈ Nk ∶ f(n) ↓}.

- We write f(x) ≃ g(x) just in case for all n ∈ N, either f(n) and g(n) are both undefined orare both defined and equal.

Suppose we are given a partial function f(x0, . . . , xk−1, y). We now introduce terms of the formµyf(x0, . . . , xk−1, y) as follows:

µyf(x0, . . . , xk−1, y) =⎧⎪⎪⎨⎪⎪⎩

z if z is such that f(x0, . . . , xk−1, z) = 0 and ∀w < z(f(x0, . . . , x1,w) ↓≠ 0)↑ otherwise

(57)

In other words, µyf(n, y) is equal to the least m such that f(n,m) = 0 provided that such an mexists and also that f(n, i) is defined but not equal to 0 for all 0 ≤ i < m. On the other hand,µyf(n, y) is undefined just in case either there is no m such that f(n,m) = 0 or there is such a mbut f(n, i) is undefined for some i <m.

Since this definition determines µyf(x, y) uniquely, (57) can also be regarded as defining a functionalMink which maps k+1-ary partial functions into k-ary partial functions. We now define the classesof functions PartREC and REC as follow:

Definition 2.5. The class of partial recursive functions PartREC (also known as the µ-recursivefunctions) is the smallest class of partial functions of type Nk → N containing the initial functionsIPR = {0, s, πik} and closed under the functionals OpPartREC = {Compij ,PrimReck,Mink}. We say

that a function f ∶ Nk → N is partial recursive if f ∈ PartREC. Additionally we say that f isrecursive if f ∈ PartREC and f is total. The set of recursive functions will be denoted by REC.

31

Page 32: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Note that despite its name, the class of partial recursive functions contains total functions. Inparticular, a recursive function is, by definition, one which is partial recursive while also beingtotal. We will see in Section 3.2, there also exist partial recursive functions which are not total andtotal functions which are not recursive.

Note finally that if f(x) is recursive it may be defined via some finite number of applications ofcomposition, primitive recursion, and unbounded minimization in a manner which preserves thetotality of intermediate functions in its definition. Thus although the specification of f(x) mayinvolve one or more applications of unbounded search, each search required to compute its value isguaranteed to terminate in a finite number of steps. It thus follows that all of functions in RECare computable by an algorithm (despite the fact that we will soon see that this class containsfunctions which are not primitive recursive). This constitutes part of the evidence for Church’sThesis – i.e. the claim that REC coincides with the class of effectively computable functions –which was surveyed in Section 1.6.

2.2.2 The Normal Form Theorem

A question which naturally arises at this stage is whether more than one application of unboundedminimization is required to obtain all partial recursive functions. The fact that a single applicationis sufficient is a consequence of the Kleene Normal Form Theorem. In order to formulate this result,it is convenient to officially extend the application of the µ-operator to relations in the followingmanner which generalizes (44):

µyR(x, y) =⎧⎪⎪⎨⎪⎪⎩

the least y such that R(x, y) if such a y exists

↑ otherwise(58)

Theorem 2.3 (Kleene, 1936). For all k ∈ N there exists a k+2-ary primitive recursive relationTk(e, x, s) – the so-called Kleene T -predicate – and a primitive recursive function u(s) (which doesnot depend on k) satisfying the following condition: for all k-ary partial recursive functions f(x)there exists e ∈ N such that for all n ∈ Nk

f(n) ≃ u(µsTk(e, n, s))

Since µyR(x, y) ≃ µyχ¬R(x, y), it is easy to see that the class PartREC can also be obtained byclosing the primitive recursive functions under the operation defined by (58). One consequence ofTheorem 2.3 is thus that it is indeed possible to define any k-ary partial recursive function f(x)by a single application of unbounded search applied to the relation Tk(e, x, s) for an appropriatechoice of e. More generally, the Normal Form Theorem illustrates how any such function may bedefined from a single relation Tk(e, x, s) wherein the value of e serves as a description of the mannerin which f(x) is defined in terms of the basis functions IPR and the operations OpPartRec. Suchan e is known as an index for f(x). As we will see in Section 3, the availability of such indices isone of the central features of the partial recursive functions which allows them to provide the basisfor a general theory of computability and non-computability.

The complete details of the proof of Theorem 2.3 are involved. But the basic idea may be summa-rized as follows:

32

Page 33: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

1) Every partial recursive function f(x) is defined by a term τ over the language

0, s, πij ,Compjk,PrimReck,Mink

in the manner which extends the notation scheme for partial recursive function introduced atthe end of Section 2.1.1. By associating the atomic expressions of this language with naturalnumbers in the manner of Godel numbering ⌜⋅⌝ described in Section 1.3 and then employing thecoding machinery described at the end of Section 2.1.2, it is then possible to associate τ with anatural number ⌜τ⌝ = e which can serve as an index for f(x).

2) The definition of Tk(e, n, s) can now be constructed by formalizing the following decision al-gorithm: i) on input e, n, s construct a term τ defining f(x) from e; ii) understanding s as apotential code for a sequence of intermediate computational steps similar to that exemplifiedby the calculation (26), check whether the result of carrying out the computation described byτ on input n for len(s) steps corresponds to s; iii) if so, accept – i.e. Tk(e, n, s) holds – and ifnot reject – i.e. ¬Tk(e, n, s) holds.

3) By performing an unbounded search over codes of computation sequences in this manner, weachieve the dual purposes of both determining if the computation described by τ on input nhalts after a finite number of steps and, if so, also finding a code s of a computation sequencewhich witnesses this fact. The function u(s) can then be defined by formalizing the operationwhich extracts the output of the computation from the last step (s)len(s)−1 encoded by s. Inthe case that Tk(e, n, s) holds, u(s) will thus correspond to the value f(n). Since the foregoingsteps require only performing bounded search and checking the local combinatorial propertiesof finite sequences, it can additionally be shown that Tk(e, n, s) is a primitive recursive relation.

The techniques used in this proof can also be used to show that α(x, y), the universal k-aryprimitive recursive evaluation function uk(i, x), and the modified diagonal function δ(x) are allrecursive (despite the fact that we have seen above that they are not primitive recursive). For notethat the coding of definitions of k-ary partial recursive functions described above also allows usto uniformly enumerate all primitive recursive functions g0(x), g1(x), . . . by considering the codesof terms not containing Mink. We can define in this manner a primitive recursive function r(i)enumerating the indices for these functions such that we can obtain the universal function for k-aryprimitive recursive function as uk(i, x) = u(µsT1(r(i), x, s)) = gi(x). But note that since gi(x) isalways defined, u1(i, x) is not only partial recursive but also total, and hence recursive.

Taking into account the equivalences between models of computation summarized in Section 1.6,it is also possible to formulate a version of Theorem 2.3 for each of the models of computationmentioned there. For instance, in the case of the Turing Machine model T, the analogous versionof the Normal Form Theorem can be used to show that there is a single universal Turing machineU such that every partial recursive function f(x) corresponds to that computed by U(e, x) forsome e ∈ N. Complete proofs of this sort are given by Turing (1936, §6) for T, by Kleene (1936,§2) for the general recursive functions GR (see also Kleene, 1952, §58), by Shoenfield (1967, §7.4)for the class FPA of functions representable in Peano Arithmetic, and by Cutland (1980, §5) for theUnlimited Register Machine model U.

33

Page 34: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

3 Computability theory

Computability Theory is a subfield of mathematical logic devoted to the classification of functionsand sets of natural numbers in terms of their absolute and relative computability and definability-theoretic properties. This subject is closely related in both origin and content to the study ofrecursive functions. This is reflected by the fact that computability theory was known as recursivefunction theory (or simply recursion theory) from the time of its foundation in the 1930s until thelate 1990s. It is also reflected in the formulation and proof of the so-called Recursion Theoremwhich provides a fundamental link between recursive definability and the sort of self-referentialconstructions which are at the heart of many methods in computability theory (see Section 3.4).

For reasons discussed in Section 1.7, contemporary expositions of computability theory are oftenpresented in an abstract manner which seeks to minimize reference to the specific features of amodel of computation such as the partial recursive functions. It is thus useful to stress the followingmodifications to the traditional terminology which has been employed in Sections 1 and 2 and themore contemporary terminology which will be employed in this section:

- The expressions computable function and partial computable function will be usedinstead of the traditional terms recursive function and partial recursive function asdefined in Section 2.2.1.

- The expression computable set will be used instead of the traditional term recursive set.Similarly, computably enumerable (or c.e.) set will be used instead of the traditionalterm recursively enumerable (or r.e.) set (see Section 3.3).

The other notational conventions introduced at the beginnings of Section 2.1 and Section 2.2 willbe retained in this section.

3.1 Indexation, the s-m-n Theorem, and universality

The first significant result in computability theory was Kleene’s (1936) proof of the Normal FormTheorem which was presented in Section 2.2.2. As discussed there, the Normal Form Theorem canbe understood as illustrating how it is possible to associate each k-ary partial computable functionf(x) with a natural number e known as its index such that f(x) ≃ µs(Tk(e, x, s)). Such an e canbe thought of as a name for a computer program built up from the basis functions, composition,primitive recursion, and minimization by which the values f(x) can be computed. This also leadsto what is known as an indexation of k-ary partial computable functions

φk0(x), φk1(x), φk2(x), . . . , φki (x), . . .

where φki (x) ≃ µsTk(i, x, s). Such an enumeration provides a uniform means of listing off allpartial computable functions in the order of their index. It should be noted, however, that eachpartial computable function has infinitely many indices. For instance, given a function f ∶ Nk → Ncomputed by φe(x), it is possible to define infinitely many extensionally coincident functions withdistinct indices φe′(x), φe′′(x), . . . – e.g. by “padding” the definition encoded by e with terms thatsuccessively add and then subtract m for each m ∈ N. As this yields a definition of an extensionally

34

Page 35: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

equivalent function, it thus follows that infinitely many of the φki (x) will correspond to the samefunction in extension.

A result closely related to the Normal Form Theorem is the following result conventionally knownas the s-m-n Theorem:

Theorem 3.1. For all n,m ∈ N, there is a primitive recursive function smn (i, x0, . . . , xm−1) suchthat

φnsmn (i,x0,...,xm−1)(y0, . . . , yn−1) ≃ φn+mi (x0, . . . , xm−1, y0, . . . , yn−1)

Here the function smn (i, x) should be thought of as acting on an index i for an n +m-ary partialcomputable function together with values x for the first m of its arguments. This function returnsan index for another partial computable function which computes the n-ary function determinedby carrying out φn+mi with the first m of its arguments x fixed but retaining the next n variablesy as inputs. Although the formulation of the s-m-n Theorem may at first appear technical, its usewill be illustrated in the proof of Rice’s Theorem (3.4) and the Recursion Theorem (3.5) below.

Another consequence of the Normal Form Theorem is the following:

Theorem 3.2. For every k ∈ N, there is a k + 1-ary partial computable function υk which isuniversal in the sense that for all k-ary partial computable functions f(x), there is an i ∈ N suchthat υk(i, x) ≃ f(x).

This follows immediately from Theorem 2.3 by taking υk(i, x) = u(µsTk(i, x, s)) where i is suchthat f(x) ≃ φki (x) in the enumeration of k-ary partial computable functions. As υk(i, x) can beused to compute the values of all k-ary partial computable functions uniformly in their index, it isconventionally referred to as the k-ary universal partial computable function.

It is also useful to observe that although we have defined such a function for each k, it is possibleto define a binary function υ(i, x) which treats its second argument as a code for a finite sequencex0, . . . , xk−1 and then computes in the same manner as the k-ary universal function so that we haveυ(i, ⟨x0, . . . , xk−1⟩) ≃ υk(i, x0, . . . , kk−1). This provides a means of replacing the prior enumerationsof k-ary partial computable functions with a single enumeration of unary functions

φ0(x), φ1(x), φ2(x), . . . , φi(x), . . .

where φi(⟨x0, . . . , xk−1⟩) ≃ υ(i, ⟨x0, . . . , xk−1⟩) ≃ φki (x0, . . . , xk−1).Together with Theorem 2.3, Theorems 3.1 and 3.2 codify the basic properties of a model of compu-tation which make it suitable for the development of a general theory of computability. In Section2 such a model has been defined in the form of the partial recursive functions. But as was discussedbriefly at the end of Section 2.2.2, versions of these results may also be obtained for the other modelsof computation discussed in Section 1.6. This licenses the freer usage of computer-based analogiesand other appeals to Church’s Thesis employed in most contemporary expositions of computabilitytheory and which will also be judiciously employed in the remainder of this entry.

3.2 Non-computable functions and undecidable problems

Having just seen that there is a universal partial computable function υ(i, x), a natural question iswhether this function is also computable (i.e. total). A negative answer is provided immediately by

35

Page 36: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

observing that by using υ(i, x) we may define another modified diagonal function d(x) = υ(x,x)+1which is partial computable (since υ(i, x) is). This in turn implies that d(x) ≃ φj(x) for some j.But then if υ(i, x) were total, then d(j) would be defined and we would then have d(j) = φj(j) =υ(j, j) + 1 = φj(j) + 1, a contradiction. Comparing this situation with Section 2.2, we can seethat the partial computable functions differ from the primitive recursive functions in admitting auniversal function within the same class but at the same time giving up the requirement that thefunctions in the class must be total. In other words, while υ(i, x) ∈ PartREC, the discussion atthe end of Section 2.2.2 shows that uk(i, x) /∈ PR (where uk(i, x) is the universal function for k-aryprimitive recursive functions).

Since it is easy to see how the minimization operation µx can be used to define partial functions,the foregoing observations is expected. What is more surprising is that there are mathematicallywell-defined total functions which are not computable (and are thus not recursive). Building on thediscussion of the Entscheidungsproblem in Section 1.7, the most famous example of such a functionderives from the so-called Halting Problem for the Turing Machine model. This was originallyformulated by Turing (1936) as follows:

Given an indexation of T0, T1, . . . of Turing machines, does machine Ti halt on the input n?

An equivalent question can also be formulated in terms of the partial recursive functions:

Is the partial computable function φi(x) defined for input n?

The pairs of natural numbers ⟨i, n⟩ corresponding to positive answers to this question determine asubset of N ×N as follows:

HP = {⟨i, n⟩ ∶ φi(n) ↓}(59)

Such a set (or problem) is said to be undecidable just in case its characteristic function is notcomputable. For instance let h(x, y) = χHP(x, y) and observe that this, by definition, is a totalfunction. The so-called undecidability of the Halting Problem may now be formulated as follows:

Theorem 3.3. h(x, y) is not a computable function.

Proof. Suppose for a contradiction that h(x, y) were computable. Consider the function g(x)defined as

g(x) =⎧⎪⎪⎨⎪⎪⎩

0 if h(x,x) ↓= 0

↑ otherwise(60)

On the assumption that h(x, y) is computable, g(x) is partial computable since, e.g., it may becomputed by a program which on input x computes h(x,x) and returns 0 just in case h(x,x) = 0and otherwise goes into an infinite loop. It hence follows that g(x) ≃ φj(x) for some j ∈ N. Butobserve that one of the following two alternatives must hold: i) g(j) ↓; or ii) g(j) ↑. We may thusreason by cases as follows:

i) Suppose that g(j) ↓. Then h(j, j) = 0 by definition of g(x). But since h(i, x) is the character-istic function of HP , this means φj(j) ↑. But then since g(x) ≃ φj(x), g(j) ↑, a contradiction.

36

Page 37: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

ii) Suppose that g(j) ↑. Then h(j, j) ≠ 0 by definition of g(x). But since h(x, y) is the charac-teristic function of HP (and hence total), the only other possibility is that h(j, j) = 1 which inturn implies that φj(j) ↓. But then since g(x) ≃ φj(x), g(j) ↓, a contradiction.

h(x, y) thus provides an initial example of a mathematically well-defined total function which isnot computable. Other non-computable functions can be defined by considering decision problemssimilar to HP . Some well-known examples are as follows:

K = {i ∶ φi(i) ↓}(61)

Z = {i ∶ φi(n) ↓= 0 for all n ∈ N}TOT = {i ∶ φi(n) ↓ for all n ∈ N}FIN = {i ∶ φi(n) ↓ for at most finitely many distinct n ∈ N} = {i ∶Wi is finite}

Suppose we let k(x), z(x), tot(x), and fin(x) be the characteristic functions of these sets. By makingsuitable modifications to the proof of Theorem 3.3 it is possible to directly show the following:

Proposition 3.1. None of the functions k(x), z(x), tot(x), and fin(x) are computable.

For instance in the case of k(x), we may argue as follows: i) define a function g(x) which returns0 if k(x) = 0 and which is undefined otherwise; ii) as before, if k(x) is assumed to be computable,then g(x) is partial computable and there is hence an index j such that g(x) ≃ φj(x); iii) but nowobserve that k(j) = 1 iff g(j) ↑ iff φj(j) ↑ iff k(j) = 0. As this is again a contradictory situation, wemay conclude that k(x) is not computable.

Note that each of the sets I defined in (61) has the following property: if j ∈ I and φj(x) ≃ φk(x),then k ∈ I as well. Sets with this property are known as index sets as they collect together the indicesof all partial computable functions which share a common “semantic” property – i.e. one which iscompletely determined by their graphs such as being coincident with the constant 0 function in thecase of Z or being defined on all inputs in the case of TOT . An index set I is called non-trivial ifI ≠ ∅ or I ≠ N – i.e. it fails to either include or exclude all indices. It is easy to see that all of thesets defined in (61) are non-trivial index sets. The undecidability of these sets thus follows fromthe following general result:

Theorem 3.4 (Rice, 1953). If I is a non-trivial index set, then I is undecidable.

Proof. Let I be a non-trivial index set and suppose for a contradiction that χI(x) is computable.Consider the everywhere undefined unary function u(x) – i.e. u(n) ↑ for all n ∈ N. Since u(x)is partial computable, there is an index b such that φb(x) ≃ u(x). We may suppose without lossof generality that b /∈ I. (If is the case that b ∈ I ≠ N, then we can switch the role of I with itscomplement I in the following argument and obtain the same result). Since I ≠ ∅, we can alsochoose an index a ∈ I and define a function as follows:

f(x, y) =⎧⎪⎪⎨⎪⎪⎩

φa(y) if k(x) = 1 (i.e. if φx(x) ↓)↑ if k(x) = 0 (i.e. if φx(x) ↑)

37

Page 38: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Note that f(x, y) is partial computable since it is defined by cases in terms of φa(x) based onthe value of φx(x). There is thus an index c such that f(x, y) ≃ φc(x, y). By applying the s-m-nTheorem (3.1), we thus have that φc(x, y) ≃ φs21(c,x)(y). But note that we now have the followingsequences of implications:

- k(x) = 1⇒ f(x, y) ≃ φa(y)⇒ φs21(c,x)(y) ≃ φa(y)⇒ s21(c, x) ∈ I (by our choice of a ∈ I)

- k(x) = 0 ⇒ f(x, y) ≃ φb(y) ⇒ φs21(c,x)(y) ≃ φb(y) ⇒ s21(c, x) /∈ I (by our assumptions b in an

index for u(x) – the everywhere undefined function – and that b /∈ I)

It hence follows that the value of k(x) may be computed by applying the following algorithm: i)on input x, calculate the value of s21(c, x) (whose computability follows from the s-m-n Theorem);ii) calculate the value of χI(s21(c, x)) (which may be accomplished since we have assumed thatχI(x) is computable). Either by invoking Church’s Thesis or by formalizing the prior algorithm asa partial recursive definition, it follows that k(x) is computable. But this contradicts Proposition3.1 which shows that k(x) is not computable.

Rice’s Theorem (3.4) provides a means of showing that many decision problems of practical importare undecidable – e.g. of determining whether a program always returns an output or whether itcorrectly computes a given function (e.g. addition or multiplication). Its proof also shows that if Iis a non-trivial index set, the problem of deciding x ∈K can be “reduced” to that of deciding x ∈ Iit the following sense: if we could effectively decide the latter, then we could also effectively decidethe former by first calculating s21(c, x) – one of the functions provided by the s-m-n – Theoremand checking if this value is in I. This method of showing undecidability will be formalized by thenotion of a many-one reduction described in Section 3.5 below.

3.3 Computable and computably enumerable sets

A set A ⊆ N is said to be computable (or recusive according to the older terminology of Section 2)just in case its characteristic function is. More generally we have the following:

Definition 3.1. A relation R ⊆ Nk is computable just in case χR(x) is computable.

This definition extends the definition of a primitive recursive relation given in Section 2.1 – e.g.since sets like PRIMES and DIV are primitive recursive they are ipso facto computable. ViaChurch’s Thesis, the notion of a computable set thus also generalizes the accompanying heuristicabout effective decidability – i.e. R is computable just in case there is an algorithm for deciding ifR(n) holds which always returns an answer after a finite (although potentially unbounded) numberof steps. On the other hand, it follows from the observations recorded in Section 3.2 that none ofHP ,K,Z,TOT or FIN are computable sets.

A related definition is that of a computably enumerable (or c.e.) set – i.e. one whose memberscan be enumerated by an effective procedure. (In the older terminology of Section 2 such a set issaid to be recursively enumerable which in turn is often abbreviated r.e.) Officially we have thefollowing:

38

Page 39: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Definition 3.2. A ⊆ N is computably enumerable (or c.e.) if A = ∅ or A is the range of acomputable function – i.e. A = {m ∶ φe(n) ↓= m for some n ∈ N} for some index e of a totalcomputable function.

This definition can be extended to relations by viewing m as a code for a finite sequence in theobvious way – i.e. R ⊆ Nk is c.e. just in case there is a computable function φe(x) such thatR(n0, . . . , nk) if and only if φe(n) = ⟨n0, . . . , nk⟩ for some n.

If A is computably enumerable, its members may thus be listed off as

A = {φe(0), φe(1), φe(2), . . .}

possibly with repetitions – e.g. the constant function const17(x) enumerates the singleton set {17},which is thereby c.e. It is easy to see that a computable set A is computably enumerable. For ifA = ∅, then A is c.e. by definition. And if A ≠ ∅, we may choose a ∈ A and then define

f(x) =⎧⎪⎪⎨⎪⎪⎩

x if χA(x) = 1

a otherwise(62)

In this case f(x) is computable and has A as its range.

In proving facts about computably enumerable sets, it is often convenient to employ one of severalequivalent definitions:

Proposition 3.2. Suppose A ⊆ N. Then the following are equivalent:

i) A is computably enumerable.

ii) A = ∅ or A is the range of a primitive recursive function.

iii) A = {n ∈ N ∶ ∃yR(n, y)} for a computable relation R.

iv) A is the domain of a partial computable function.

The proof of Proposition 3.2 is largely a matter of unpacking definitions. For instance, to see thativ) implies i), suppose that A = dom(φe) – i.e. A = {n ∈ N ∶ φe(n) ↓}. If A = ∅ it is automaticallyc.e. Otherwise, there is an element a ∈ A. We may now define

f(x) =⎧⎪⎪⎨⎪⎪⎩

(x)0 if T1(e, (x)0, (x)1)a otherwise

(63)

f(x) thus treats its input as a pair ⟨n, s⟩ consisting of an input n to φe(x) and a computationsequence s as defined in the proof of the Normal Form Theorem (2.3). As x varies over the naturalnumbers, it thus steps through all possible inputs (x)0 to φe and also all possible witnesses (x)1 tothe fact that the computation of φe on (x)0 halts. It then returns (x)0 if (x)1 is such a witness toa halting computation and a otherwise. Thus the range of f(x) will correspond to that of φe(x).And as T1(e, x, s) is computable (and in fact primitive recursive) relation, it is easy to see thatf(x) is a computable function with range A. This shows that A is c.e. as desired.

39

Page 40: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Part iv) of Proposition 3.2 also provides a convenient uniform notation for computably enumerablesets – i.e. if A = dom(φe) we denote A by We = {n ∶ φe(n) ↓}. The sequence W0,W1,W2, . . .thus provides a uniform enumeration of c.e. sets relative to our prior enumeration of unary partialcomputable functions. This notation also aids the formulation of the following:

Proposition 3.3. 1) The computably enumerable sets are effectively closed under union, in-tersection, and cross product – i.e. there are computable functions un(x, y), int(x, y) andcr(x, y) such that if A = Wi and B = Wj then A ∪ B = Wun(i,j),A ∩ B = Wint(i,j) and{⟨x, y⟩ ∶ x ∈ A & y ∈ B} =Wcr(i,j).

2) The computable sets are additionally closed under complementation and relative complementa-tion – i.e. if A and B are recursive, then so are A and A −B.

The proofs of these facts are also straightforward upon appeal to Church’s Thesis. For instance,if dom(φi) = A and dom(φj) = B then un(i, j) can be taken to be an index for a program whichsimulates the computation of φi(n) and φj(n) in alternate stages and halts just in case one of thesesubcomputations halt. Note also that if A = Wi is computable, then χA(x) = 1 � χA(x) is also

computable, from which it follows that A is computable.19

A related observation is the following:

Proposition 3.4 (Post, 1944). A is computable if and only if A and A are both computablyenumerable.

The left-to-right direction is subsumed under Proposition 3.3. For the right-to-left direction, sup-pose that A = dom(φi) and A = dom(φj). Then to decide n ∈ A we can perform an unboundedsearch for a computation sequence s such that either T1(i, n, s) or T2(j, n, s), accepting in thefirst case and rejecting in the second. Since A ∪ A = N, the search must always terminate andsince A ∩ A = ∅, the conditions are exclusive. Thus by again appealing to Church’s Thesis, A iscomputable.

We have seen that the computable sets are contained in the computably enumerable sets. Twoquestions which arise at this stage are as follows: 1) are there examples of sets which are computablyenumerable but not computable? 2) are there are examples of sets which are not computablyenumerable? A positive answer to both is provided by the following:

Corollary 3.1. Recall the set K = {i ∶ φi(i) ↓} – i.e. the so called Diagonal Halting Problem. Kis computably enumerable but not computable while K is not computably enumerable.

K is clearly c.e. as it is the domain of µsT1(x,x, s). On the other hand, we have seen that thecharacteristic function of K – i.e. the function χK(x) = k(x) as defined in Section 3.2 – is notcomputable. Thus K is indeed a computably enumerable set which is not computable. To see thatK is not c.e., observe that if it were, then K would be computable by Proposition 3.4. This in turnsuggests a sense in which it is “harder” to decide membership in K than in any computable set.The computational hierarchies introduced in Sections 3.5 and Section 3.6 will provide a means ofmaking such observations precise.

19This shows that we can effectively find index for Wi on the assumption that Wi is computable. However, it canalso be shows that the closure of the computable sets under complementation cannot be uniform – i.e. there is nocomputable function f(x) such that for all i, if Wi is recursive, then f(i) =Wi. See (Rogers, 1987, §5.5).

40

Page 41: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

3.4 The Recursion Theorem

The result which is now most often referred to as Kleene’s Recursion Theorem can be used tounify a number of effective diagonal arguments similar to that underlying Theorem 3.3 and hasa wide range of applications both in computability theory and other areas of mathematical logicand computer science.20 Although its statement is straightforward, both its significance and thefollowing proof become clearer upon considering subsequent applications.

Theorem 3.5 (Kleene, 1938). Suppose that f(x) is a total computable function. Then there is anumber n ∈ N such that φn(y) ≃ φf(n)(y).

Proof. Consider the function g(x, y) defined as follows:

g(x, y) =⎧⎪⎪⎨⎪⎪⎩

φφx(x)(y) if φx(x) ↓↑ otherwise

(64)

As it is evident that g(x, y) is partial computable, g(x, y) ≃ φe(x, y) for some e. It thus followsby the s-m-n Theorem (3.1) that φe(x, y) ≃ φs21(e,x)(y). Let b(x) = s21(e, x) and note that we then

have φb(x)(y) is the same function as φφx(x)(y) provided that φx(x) is defined. Note that b(x) isa total computable function and is defined independently of the given function f(x).Next let k be an index for the composition of f(x) with b(x) – i.e. φk(x) ≃ f(b(x)). We now claimthat n = b(k) is the number called for in the statement of the theorem. For first note that sinceb(x) and f(x) are both total, φk(x) is also total and thus φk(k) is defined. From this it followsthat φb(k)(y) ≃ φφk(k)(y). We now have the following sequence of functional identities:

φn(y) ≃ φb(k)(y) ≃ φφk(k)(y) ≃ φf(b(k))(y) ≃ φf(n)(y)

The Recursion Theorem is sometimes also referred to as the Fixed Point Theorem. Note, however,that Theorem 3.5 does not guarantee the existence of an extensional fixed point for the givenfunction f(x) – i.e. a number n such that f(n) = n. (In fact it is evident that there are computablefunctions for which no such value exists – e.g. f(x) = x+1.) But suppose we view f(x) instead as amapping on indices to partial computable functions or, more figuratively, as a means of transformingone program for computing a partial computable function into another. On this interpretation, the

20The statement and proof of Theorem 3.5 are given with little explanation at the end of §2 (p. 153) of (Kleene,1938). This was the paper in which Kleene introduced the class of ordinal notations now known as Kleene’s O (seeSection 3.6.2). In this context the result can be used to show that functions defined by recursion on arbitrary notationsystems for constructive ordinals are computable, a fact which Kleene used to show that O is maximal with respectto the ordinals to which it assigns a notation (see, e.g., Rogers, 1987, §11.7). It was realized later that Theorem3.5 can be used to unify various other self-referential constructions which arise in more advanced applications incomputability theory. (Two classic example are Myhill’s (1955) theorem that every creative set is many-one complete– see (Soare, 2016, §2.4.2) – and Kleene’s (1955a) theorem that the hyperarithmatical sets correspond to the ∆1

1-definable sets – see (Moschovakis, 2009a, §7B).) Theorem 3.5 is sometimes also referred to as the Second RecursionTheorem. This is to distinguish it from the effective form of the so-called Knaster-Tarski Theorem (i.e. “everymonotonic and continuous operator on a complete lattice has a fixed point”) which can be used to relate Theorem3.5 to the existence of extensional fixed points for computable functionals (see, e.g., Rogers, 1987, §11.5).

41

Page 42: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

φφ0(0) φφ0(1) . . . φφ0(i) . . . φφ0(d) . . . φφ0(hf (i)) . . .

φφ1(0) φφ1(1) . . . φφ1(i) . . . φφ1(d) . . . φφ1(hf (i)) . . .

⋮ ⋱ ⋮φφi(0) . . . . . . φφi(i) . . . φφi(d) . . . φφi(hf (i)) . . .

⋮ ⋱ ⋮φφd(0) . . . . . . φφd(i) . . . φφd(d) . . . φφd(hf (i)) . . . φφd(hf (d)) . . .

⋮ ⋱ ↑φφhf (i)(0)

. . . . . . φφhf (i)(i). . . φφhf (i)(d)

. . . φφhf (i)(hf (i)). . . =

⋮ ⋱ ↓φφhf (d)(0)

. . . . . . φφhf (d)(i). . . φφhf (d)(d)

. . . φφhf (d)(hf (i)). . . φφhf (d)(hf (d))

. . .

Figure 1: The matrix of partial computable functions employed in the proof of the RecursionTheorem (3.5).

theorem expresses that for every such computable transformation there is some program n suchthat the function φn(y) which it computes is the same as the function φf(n)(y) computed by itsimage f(n) under the transformation.

As it may at first appear such an n is defined in a circular manner, it is also prima facie unclearwhy such a program must exist. Indeed Soare (2016, pp. 28-29) remarks that the foregoing proofof the Recursion Theorem is “very short but mysterious” and is “best visualized as a diagonalargument that fails”. In order to clarify both this comment and the proof, consider the matrixdepicted in Figure 1 whose rows Ri enumerate not values of partial computable functions butrather the functions themselves – i.e. the row Ri will contain the functions φφi(0), φφi(1), . . . withthe understanding that if φi(j) ↑, then φφi(j) denotes the totally undefined function. (Such adepiction is originally due to Owings, 1973.)

We may think of the function f(x) given in Theorem 3.5 as inducing a transformation on the rowsso that Ri is mapped to Rf(i). To this end, let hf(x) be an index to the total computable functionwhich composes f with φx so that we have

φhf (x)(y) ≃ f(φx(y))(65)

Next consider the diagonal of this matrix – i.e. D = φφ0(0), φφ1(1), . . . Since the indices to thefunctions which comprise D are given effectively, it must be the case that D itself corresponds tosome row Rd – i.e.

φφd(i)(y) ≃ φφi(i)(y) for all i ∈ N(66)

But now consider the image of Rd under f – i.e. the row Rhf (d) = φφhf (d)(0), φφhf (d)(1), . . . It follows

from (66) that we must have

φφd(hf (d))(y) ≃ φφhf (d)(hf (d))(y)(67)

42

Page 43: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

But note that by the definition of hf , φhf (d)(hf(d)) = f(φd(hf(d)) and thus also from (67)

φφd(hf (d))(y) ≃ φf(φd(hf (d))(y)(68)

But now note that since f, φd and hf are all total, the value φd(hf(d)) is defined. Thus settingn = φd(hf(d)) it follows from (68) that φn(y) ≃ φf(n)(y) as desired.

As mentioned above, the Recursion Theorem may often be used to present compact proofs of resultswhich would traditionally be described as involving self-reference. For instance, an immediateconsequence is that for every f(x) there is an n such that Wn = Wf(n). To see this note thatTheorem 3.5 entails the existence of such an n such that φn(x) ≃ φf(n) for every computable f(x).But since the domains of the functions must then coincide, it follows that Wn =Wf(n).

It is useful to record the following alternative form of the Recursion Theorem:

Corollary 3.2. For every partial computable function f(x, y), there is an index n such thatφn(y) ≃ f(n, y).

Proof. By the s-m-n Theorem (3.1), f(x, y) ≃ φs21(e,x)(y) for some e. But then the existence of the

required n follows by applying Theorem 3.5 to s21(e, x).

Here are some easy consequences in the spirit described above which make use of this formulation:

i) There is a number n such that φn(x) = x+n. (This follows by taking f(x, y) = x+n in Corollary3.4. Analogous observations yield the existence of n such that φn(x) = x × n,φn(x) = xn, etc.)

ii) There is a number n such that Wn = {n}. (Take f(x, y) =⎧⎪⎪⎨⎪⎪⎩

0 if x = y↑ otherwise

in Corollary 3.4.)

iii) Consider a term τ corresponding to a “program” which determines the partial computableprogram with index ⌜τ⌝ (as described in Section 2.2.2). We say that such a program is self-reproducing if for all inputs x, the computation of τ on x outputs ⌜τ⌝. Since in order toconstruct τ it would seem that we need to know ⌜τ⌝ in advance, it might appear that self-reproducing programs need not exist. Note, however, that transposed back into our officialterminology, the existence of such a program is equivalent to that of a number n such thatφn(x) = n. And this is guaranteed by applying Corollary 3.4 to the function f(x, y) = x.

For further discussions of the Recursion Theorem in regard to self-reference and more advancedapplications in computability theory see, e.g., (Cutland, 1980, §11), (Rogers, 1987, §11), (Odifreddi,1989, §II.2), and (Moschovakis, 2009b).

Before leaving the topic of the Recursion Theorem, it will finally be useful to reflect on how it bearson the general idea of a recursively defined functions considered in Sections 1 and 2. Consider, forinstance, a simple example of such a definition of the form

h(0) = k(69)

h(y + 1) = g(h(y))

43

Page 44: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

In the case that f(y) and g(y) are primitive recursive, we have remarked that it is possible toshow that there exists a unique function h(y) satisfying (69) by an external set-theoretic argument.But we may also consider the case in which g(y) is assumed to be computable relative to a modelof computation M which differs from the partial recursive functions in that it does not nativelysupport recursion as a mode of computation – e.g. the Turing Machine model T or UnlimitedRegister Machine model U. If we simply set down (69) as a definition in this case, we would haveno a priori assurance that h(y) is computable relative to M even if g(x) is.

Upon examination, however, it is clear that the only features of a model of computation on whichthe proof of Theorem 3.5 relies are the existence of an indexation for which a version of the s-m-n Theorem (3.1) is available. If M satisfies these conditions, the claim that h(y) is computablerelative to M is equivalent to h(y) ≃ φn(y) relative to some suitable indexation of the M-computablefunctions. But since the s-m-n Theorem for M allows us to treat an index as a variable, we canalso consider the function defined by

f(x,0) = k(70)

f(x, y + 1) = g(φx(y))

Now note that the existence of an n such that f(n, y) ≃ φn(y) is guaranteed by Theorem 3.5. Thisin turn yields

φn(0) = k(71)

φn(y + 1) = g(φn(y))

This illustrates how the existence of a computable function satisfying a recursive definition suchas (69) follows from the Recursion Theorem even if we have not started out by characterizing a“computable function” as one defined “recursively” in the informal sense discussed in Section 1.And this in turn helps to explain why Theorem 3.5 has come to be known as the Recursion Theorem.

3.5 Reducibilities and degrees

A central topic in contemporary computability theory is the study of relative computability – i.e. ifwe assume that we are able to decide membership in a given set or compute a given function, whichother sets or functions would we be able to decide or compute? This question may be studied usingthe notion of a reduction of one set A to another B which was introduced informally by Kolmogorov(1932) as a means of transforming a “solution” of A into a “solution” of B.21 Turing (1939) providedthe first formal definition of a computational reduction in his study of ordinal logics. However, itwas Post who first proposed to systematically study reducibility notions and their associated degree

21Kolmogorov provided this formulation in the context of his so-called problem interpretation of intuitionistic logic.In this setting the logical connectives are interpreted in terms of the proof conditions of the complex formulas in whichthey figure. This leads to the interpretation of a conditional A → B as an operation f which transforms proofs x ofA into proofs f(x) of B. If propositions are understood as sets of their proofs in the manner of the Curry-Howardcorrespondence, then Kolmogorov’s definition is very close to the notion of a many-one reduction later proposedby Post (1944). Although Kolmogorov’s interpretation had only an indirect influence on the initial development ofcomputability theory in the West, it was later formalized in terms of the notion of a mass problem (see, e.g., Rogers,1987, §13.7). In this way it is possible to provide computability-theoretic interpretations of intuitionistic propositional(Medvedev, 1955), first-order, and higher-order logic (Basu and Simpson, 2016).

44

Page 45: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

structures in his highly influential paper “Recursively enumerable sets of positive integers and theirdecision problems” (1944).

Therein Post explains the basic idea of a reduction and its significance as follows:

Related to the question of solvability or unsolvability of problems is that of the re-ducibility or non-reducibility of one problem to another. Thus, if problem P1 has beenreduced to problem P2, a solution of P2 immediately yields a solution of P1, while if P1

is proved to be unsolvable, P2 must also be unsolvable. For unsolvable problems theconcept of reducibility leads to the concept of degree of unsolvability, two unsolvableproblems being of the same degree of unsolvability if each is reducible to the other,one of lower degree of unsolvability than another if it is reducible to the other, butthat other is not reducible to it, of incomparable degrees of unsolvability if neither isreducible to the other. A primary problem in the theory of recursively enumerable setsis the problem of determining the degrees of unsolvability of the unsolvable decisionproblems thereof. We shall early see that for such problems there is certainly a highestdegree of unsolvability. Our whole development largely centers on the single questionof whether there is, among these problems, a lower degree of unsolvability than that,or whether they are all of the same degree of unsolvability. (Post, 1944, p. 289)

In order to appreciate this passage, it is again useful to think of a set A ⊆ N as being associatedwith the problem of deciding membership in A – e.g. given a natural number n, is n prime? (i.e.n ∈ PRIMES?) or is the nth partial computable function with input n defined? (i.e. n ∈K?). Buteven given this correspondence, the assertion that a solution to a problem B “immediately yields”a solution to A may still be analyzed in a number of different ways. Two of the most importantpossibilities are as follows:

i) Assuming that there is an algorithm for deciding questions of the form n ∈ B, then it is possibleto specify an algorithm for deciding questions of the form n ∈ A.

ii) Assuming that we had access to an “oracle” capable of answering arbitrary questions of theform n ∈ B in a single step, then it is possible to specify an algorithm employing the oracle fordeciding n ∈ A.

The formalization of these relations between problems leads to the notions of many-one reducibilityand Turing reducibility which provide distinct but complementary analyses of the notions A is noharder to solve than B and also the degree of unsolvability (or difficulty) of A is equal to that of B.22

The latter notion came first historically and was introduced by Turing (1939) (and in an equivalentform to Kleene, 1943). However it was Post (1944) who both introduced the former notion and alsoinitiated the general study of Turing reducibility. In fact the final sentence of the passage quotedabove describes an important technical question about the Turing degrees which would shape theearly development of computability theory (i.e. “Post’s problem” given as Question 3.1 below).

22Several other notions of reducibility and degree notions are also studied in computability theory based on similarideas – e.g. one-one, truth table, Muchnik, and Medvedev reducibility (see, e.g., Rogers, 1987 or Odifreddi, 1999b).A parallel set of notions of feasible reducibility are studied in computational complexity theory under the names ofKarp reductions (which correspond to polynomial-time many-one reductions) and Cook reductions (which correspondto polynomial-time Turing reductions).

45

Page 46: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

3.5.1 The many-one degrees

We have already seen an example of many-one reducibility in the proof of Rice’s Theorem (3.4).In particular, the proof showed that the problem of deciding membership in in K can be reducedto that of deciding membership in any non-trivial index set I in the following sense: for all n, ifn ∈K then s21(c, n) ∈ I. Thus if there were an algorithm for deciding membership in I, we would beable to decide whether n ∈K by using it to test whether s21(c, n) ∈ I. The function s21(c, x) (whosecomputability is given by the s-m-n Theorem) is thus a so-called many-one reduction of K to I.

The formal definition generalizes this example as follows:

Definition 3.3. Given sets A,B ⊆ N, A is said to be many-one (or m-one) reducible to B if thereis a computable function f(x) such that for all n ∈ N,

n ∈ A in and only if f(n) ∈ B

In this case we write A ≤m B.

Using this notation, the foregoing example thus shows that K ≤m I. These observations cangeneralized as follows:

Proposition 3.5. Suppose that A ≤m B.

i) If B is computable, then so is A.

ii) If B is computably enumerable, then so is A.

By contraposing Proposition 3.5 it thus follows that in order to show that a set B is non-computable(or non-c.e.) it suffices to show that a known non-computable (or non-c.e.) set can be reduced toit. As an initial example, observe that the Diagonal Halting Problem K = {i ∶ φi(i) ↓} is reducibleto the Halting Problem HP = {⟨i, n⟩ ∶ φi(n) ↓} by the reduction f(x) = ⟨x,x⟩ – i.e. the computablepairing function of x with itself is a many-one reduction showing K ≤m HP . Thus since HP isknown to be non-computable, this gives another proof that K also is not computable.

Reducibility notions also typically come with an associated notion of what it means for a designatedset to be complete relative to a class of sets – i.e. a set to which every set in the class may bereduced and which is itself a member of the class. As an initial example we have the following:

Definition 3.4. A set B is said to be many-one (or m-) complete for the computably enumerablesets just in case the following conditions hold:

i) B is computable enumerable;

ii) For all computably enumerable sets A, A ≤m B.

An obvious example of a complete c.e. set is HP . For since HP = {⟨i, n⟩ ∶ ∃sT1(i, n, s)} andT1(x, y, z) is a computable relation, it follows from Proposition 3.2 that HP is c.e. And on theother hand, if A =Wi, then n ∈ A if and only if ⟨i, n⟩ ∈ HP thus showing that Wi ≤m HP .

46

Page 47: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

It is, nonetheless, standard to take K rather than HP as the canonical complete c.e. Although itmight at first seem that K contains “less computational information” than HP , it is not hard tosee that K is also such that every c.e. set is m-reducible to it. For supposing that A =Wi, we maydefine a function

f(x, y) =⎧⎪⎪⎨⎪⎪⎩

1 if φi(x) ↓ (i.e. x ∈ A)

↑ otherwise(72)

As f(x, y) is clearly partial computable, the s-m-n Theorem (3.1) gives a total recursive functions21(i, x) such that f(x, y) ≃ φs21(i,x)(y). We then have

n ∈ A ⇔ φi(n) ↓ ⇔ φs21(i,n)(s21(i, n)) ↓ ⇔ s21(i, n) ∈K

These biconditionals hold because φi(n) ↓ just in case φs21(i,n)(y) is const1(x) (i.e. the constant

1-function) as opposed to the everywhere undefined function just in case φs21(i,n)(s21(i, n)) ↓. But as

the later condition is equivalent to, s21(i, n) ∈K, s21(i, x) is a many-one reduction showing A ≤m K.

This illustrates a sense in which deciding membership in K can also be understood as universalfor computably enumerable sets or, alternatively, that there is no c.e. set which is any “harder”to solve than K. Nonetheless, there are problems that are harder to solve than K in the sensethat they could not be solved even if we possessed a decision algorithm for K. For instance, it willfollow from results given below that K is m-reducible to TOT , TOT is not m-reducible to K. Thisbegins to give a sense of how m-reducibility can be used to study the relative difficulty of solvingcomputational problems.

These considerations lead naturally to the notion of a degree of difficulty – another concept whichcan be made precise with respect to different reducibility notions. The version for many-onereducibility is given by the following definition:

Definition 3.5. If A and B are many-one reducible to each other – i.e. A ≤m B and B ≤m A –then we say that A and B are many-one equivalent and we write A ≡m B.

It follows immediately from Definition 3.3 that ≤m is reflexive. It is also clearly transitive. (For iff(x) and g(x) are computable functionswhich respectively serve as many-one reductions showingA ≤m B and B ≤m C, then their composition f(g(x)) is a many-one reduction showing A ≤m C.)As it thus follows that ≡m is an equivalence relation, it also makes sense to define the following:

Definition 3.6. degm(A) – the many-one (or m-) degree of A – is the equivalence class of A withrespect to ≡m – i.e. degm(A) = {B ⊆ N ∶ B ≡m A}.

We call an m-degree computable if it contains a computable set and c.e. if it contains a computablyenumerable set. The m-degree deg(A) of A collects together all sets which are many-one equivalentto it. It can thus be thought of as an abstract representation of the relative difficulty of decidingmembership in A when this latter notion is in turn explicated in terms of m-reducibility. Forinstance, since our prior observations show that degm(HP) = degm(K), they are thus “equallydifficult” c.e. degrees.

It is traditional to use boldface lower case Roman letters a,b, . . . to denote degrees (although itshould be kept in mind that these are sets of sets of natural numbers). We next define an orderingon m-degrees as follows:

47

Page 48: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Definition 3.7. Let a and b be m-degrees. We then define

i) a ≤m b just in case there is a set A ∈ a and a set B ∈ b such that A ≤m B.

ii) a <m b just in case a ≤m b and a ≠ b.

It is easy to see that <m is a partial order on m-degrees – i.e. irreflexive, antisymmetric, and tran-sitive. We may thus introduce the structure Dm = ⟨{degm(A) ∶ A ⊆ N},<m⟩ which is traditionallyknown as the many-one (or m-) degrees.

Together with the similar study of the Turing degrees (which will be defined in Section 3.5.2),investigating the structure of Dm has been a major focus of research in computability theory sincethe time of Post’s (1944) introduction of the many-one degrees. Some properties of this structureare as follows:

Proposition 3.6. i) The m-degrees are not closed under complementation – i.e. there exist setsA such that A /≡m A and thus A /∈ deg(A).

ii) 0 =df degm(∅) = {∅} and n =df degm(N) = {N} are distinct m-degrees both of which are(trivially) computable.

iii) There is exactly one computable m-degree 0m other than 0 and n – i.e. 0m = deg(A) for anycomputable set A ≠ ∅,A ≠ N. Additionally, 0m is minimal in Dm in the sense that 0m ≤m afor all degrees a other than 0 and n.

iv) If b is a c.e. degree and a ≤m b, then a is also a c.e. degree.

v) There is a maximum c.e. m-degree – i.e. degm(K) =df 0′m – in the sense that a ≤ 0′m for allc.e. degrees a.

vi) Any pair of m-degrees a,b have a least upper bound c – i.e. a ≤m c and b ≤m c and c is≤m-less than any other upper bound of a and b. Since we have seen that ≤m is also a partialorder, this implies that Dm is additionally an upper semi-lattice.

vii) There exists a c.e. degree a properly between 0m and a < 0′m – i.e. 0m < a < 0′m.

Post (1944) demonstrated part vii) by showing that there exist so-called simple sets – i.e. sets Awhich are c.e. and such that A is infinite but does not contain an infinite c.e. subset. It is easy tosee that a simple set cannot be computable. But on the other hand, Post also showed that a simpleset cannot be m-complete. And it thus follows that if A is simple a =df degm(A) ≠ 0m but A /≡m Kand thus a < 0′m. Suppose we now understand “degrees of unsolvability” in the passage quoted atthe beginning of this section as corresponding to the c.e. m-degrees. It thus follows from part v)of Theorem 3.6 that 0′m is indeed a “highest” such degree and also from part vii) that there is alower but still “unsolvable” (i.e. non-computable) degree.

Although the other parts of Theorem 3.6 have straightforward proofs, they provide some insight intothe fact that Dm is itself a highly complex structure (see, e.g., Odifreddi, 1999b, §1). Nonethelessthe first two parts of this theorem are often taken to illustrate awkward features of the many-onedegrees as an abstract representation of computational difficulty – i.e. the exceptional behavior of

48

Page 49: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

degm(∅) and degm(N) and the fact a set and its complement may inhabit different degrees (as iseasy to see is exemplified by K and K). It is partly in light of these features that the Turing degreesDT are the structure which are now most widely studied in computability theory. But as Post alsoalludes, it is relative to DT for which he was originally unable to demonstrate the existence of ac.e. set of an intermediate degree of unsolvability.

3.5.2 The Turing degrees

The notion of relative computability mentioned at the beginning of this section is now standardlyanalyzed in terms of computability in a set A ⊆ N. Informally, we say that a function f(x) iscomputable in A just in case there exists an algorithm which is effective in the traditional sensewith the exception of the fact its computation may rely on computing one or more values χA(y).These values are in turn assumed to be available to the algorithm in a single step even thoughχA(y) may not itself be computable – e.g. if A =K.

This notion was originally introduced by Turing (1939) who described what he referred to as anoracle (or o-) machine variant of the standard Turing Machine model T. An o-machine is otherwiselike a normal Turing machine but also possesses a read-only oracle tape (and corresponding read-only head) on which the characteristic function of a set A is assumed to be written at the beginningof its computation. The transitions of an o-machine are determined by its internal state togetherwith the currently scanned symbols on both its read-write tape and the oracle tape, thus formalizingthe idea that the machine may “consult the oracle” about the characteristic function of A on ormore times during the course of its computation.23

Kleene (1943) described an analogous idea for the general recursive functions as follows:

A function φ which can be defined from given functions ψ1, . . . , ψk by a series of applica-tions of general recursive schemata we call general recursive in the given functions; andin particular, a function definable ab initio by these means we call general recursive.(Kleene, 1943, p. 44)

The former part of this characterization differs from the definition of general recursiveness given inSection 1.5 in allowing that in addition to the initial functions 0 and s(x), the functions ψ1, . . . , ψkcan also enter into systems of equations which define the function φ. This corresponds to theassumption that the values of ψ1, . . . , ψk are available in the course of a computation without theneed for further calculation.

It is also possible to modify the definition of the partial recursive functions given in Section 2.2.1to allow such relativization to an additional class of initial functions. Since relativization to a finiteset of functions can be accomplished by successive relativization to a single function and the graphof a function can also be coded into a set, this is now standardly achieved as follows:

23See (1939, p. 171-172) for Turing’s original characterization and (Soare, 2016, §17.4.2) and (Feferman, 1995)for discussion of the specific purpose for which Turing introduced o-machines. Contemporary formulations of com-putability relative to an oracle are given by (Rogers, 1987, §9.2) for the Turing machine model and (Cutland, 1980,§9.4) for the URM model.

49

Page 50: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Definition 3.8. Given a set A ⊆ N, we define the class of A-partial recursive functions PartRECA

to be the smallest class of partial functions containing the initial functions IA = {0, s, πik, χA(x)}and closed under the functionals OpPartREC = {Compij ,PrimReck,Mink}.

There are, of course, uncountably many subsets of the natural numbers. But for each such A ⊆ N,we may still understand χA(x) as a new primitive functional symbol which can be employed inconstructing one of countably many A-partial recursive definitions in the manner discussed inSection 2.1.1. It is thus also possible to list off all of the unary A-partial recursive functions relativeto the codes of their definitions to obtain a uniform enumeration

φA0 (x), φA1 (x), φA2 (x), . . .(73)

and similarly for other arities. It is thus not difficult to see that we can thereby also obtainrelativized versions of results like the s-m-n Theorem (3.1) and the Universality Theorem (3.2) asexemplified by the following:

Theorem 3.6. For all A ⊆ N, there is an A-partial computable function υ which is universalin the sense that for all unary A-partial computable functions f(x), there is an i ∈ N such thatυA(i, x) ≃ f(x).

These observations in turn license the use of the expression computable in A to describe both afunction f(x) which is A-partial recursive and total and also a set B such that χB(x) is computablein A. We also use the expression computably enumerable (c.e.) in A to describe a set B which isthe range of an A-partial recursive function and the notation WA

e to denote the domain of φAe (x).It is then straightforward to see that many of our prior proofs about non-computability also carryover to the relativized setting – e.g. it is straightforward to see that KA = {i ∶ φAi (i) ↓} is anexample of a set which is computably enumerable in A but not computable in A.

We may now state the definition of Turing reducibility as follows:

Definition 3.9. Given sets A,B ⊆ N, A is said to be Turing (or T -) reducible to B just in case Ais computable in B. In this case we write A ≤T B.

It is a consequence of this definition that A ≤T B just in case χA(x) coincides with the (total)B-computable function given by φBe (x) for some index e. For instance if we adopt Turing’s charac-terization of relative computability, we may think of e as describing a program for a machine whichcan consult B as an oracle. In this case, A ≤T B means that it is possible to decide if n ∈ A bycarrying out the program described by e on the input n which may in turn require performing ofqueries to the oracle B during the course of its computation.

We may also define a notion of completeness with respect to ≤T as follows:

Definition 3.10. We say that B is Turing complete if B is c.e. and all c.e. sets A are such thatA ≤T B.

It is easy to see that A ≤m B implies A ≤T B. (For if f(x) is a m-reduction of A to B, thenconsider the program which first computes f(n) and then, using B an as oracle, checks if f(n) ∈ B,outputting 1 if so and 0 if not.) It thus follows that K is also Turing complete – i.e. it embodies

50

Page 51: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

the maximum “degree of unsolvability” among the the c.e. sets when this notion is understood interms of Turing reducibility as well as many-one reducibility.

Such observations can be made precise by first defining the notion of Turing equivalence:

Definition 3.11. If A and B are Turing reducible to each other – i.e. A ≤T B and B ≤T A – thenwe say that A and B are Turing equivalent and we write A ≡T B.

As it is again easy to see that ≡T is an equivalence relation, we may also define the notion of Turingdegree as follows:

Definition 3.12. degT (A) – the Turing degree of A – is the equivalence class of A with respectto ≡T – i.e. degT (A) = {B ⊆ N ∶ B ≡T A}.

We can now define an ordering on Turing degrees as follows:

Definition 3.13. Let a and b be Turing degrees. We then define

i) a ≤T b just in case there is a set A ∈ a and a set B ∈ b such that A ≤T B.

ii) a <T b just in case a ≤T b and a ≠ b.

As with the m-degrees, we say that a is a computable Turing degree if it contains a a computableset and a computably enumerable (c.e.) degree if it contains a c.e. set. If we consider the structureDT = ⟨{degT (A) ∶ A ⊆ N},≤T ⟩ – which is known as the Turing degrees – it is again easy to seethat ≤T is a partial order. Some observations which illustrate the relationship between DT and themany-one degrees Dm are as follows:

Theorem 3.7. i) There is exactly one computable Turing degree denoted by 0T = degT (∅)(which is often written 0 when there is no possibility of ambiguity with the m-degrees). 0Tconsists of all of the computable sets and is the unique minimum Turing degree.

ii) For all sets A, and A ≡T A and thus also degT (A) = degT (A).

iii) degT (K) is the maximum amongst all c.e. Turing degrees.

iv) For any sets A,B, degm(A) ⊆ degT (A) and if degm(A) ≤m degm(B), then degT (A) ≤TdegT (B).

Since ∅ and N are both (trivially) computable sets, by part i) we have degT (∅) = degT (N) = 0T ,unlike the m-degrees. And also unlike the m-degrees we have by part ii) that degT (A) = degT (A).(For if we can decide B via an algorithm which uses A an as oracle, then we can also decide it usingA as an oracle by simply swapping the responses obtained in our former algorithm.)

The structures of both DT and the c.e. degrees ET = ⟨{degT (A) ∶ A is c.e.},≤T ⟩ have been exten-sively investigated since the 1950s. One of their most basic properties may be considered by firstdefining the operation of sets A⊕B = {2n ∶ n ∈ A} ∪ {2n + 1 ∶ n ∈ B}. A⊕B is called the effectivejoin of A and B as it encodes the “information” contained in A on the even members of A⊕B andthat contained B on its odd members. A⊕B is c.e. if both A and B are. Suppose we also define

51

Page 52: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

the operation degT (A) ∨ degT (B) =df deg(A ⊕B) on the degrees a = degT (A) and b = degT (B).Then it is not difficult to see that a ∨ b is the least upper bound of a and b with respect to thestructure DT . Like the m-degrees, DT and ET both form an upper semi-lattice – i.e. a partialorder in which least upper bounds always exist.24

Given A ⊆ N, we may also consider KA = {n ∶ φAn (n) ↓} – i.e. the set considered above whichcorresponds to the Diagonal Halting Problem relativized to the oracle A. KA is referred to as thejump of A for which we also write A′. This notation is also used to denote an operation on Turingdegrees by setting a′ = degT (A′) for some representative A ∈ a. The following collects togetherseveral facts about the jump operation on both sets and degrees:

Proposition 3.7. For any set A,B ⊆ N with degT (A) = a and degT (B) = b:

i) If A is computable, then KA ≡T K.

ii) A′ is c.e. in A but not computable in A.

iii) If A ≤T B, then A′ ≤T B′ and if A ≡T B, then A′ ≡T B′.

iv) a <T a′

v) If a ≤T b, then a′ ≤T b′.

vi) 0′ ≤T a′

vii) If B is c.e. in A, then b ≤T a′.

Part ii) of Proposition 3.7 records the fact that the basic result that K is c.e. but not computableholds for computability relativized to any set A. From this it follows that A <T A′ and thus alsothat the result of iterating the jump operation on any set A yields a sequence A(0) = A,A(1) =(A(0))′ = A′,A(2) = (A(1))′ = A′′, . . . ,A(i+1) = (A(i))′, . . . for which A(0) <T A(1) <T A(2) <T . . .As benchmarks in the Turing degrees we also define the sets ∅0 = ∅,∅′ = K,∅′′ = K ′, . . . ,∅(n) =K

′...′ , . . . and the degrees 0(n) = degT (∅(n)). Note that the latter correspond to a linearly orderedsequence

0 <T 0′ <T 0′′ <T . . . <T 0(n) <T . . .

As depicted in Figure 2, it is possible to use this sequence to classify many of the problems definedin Section 3.2:

(74) i) 0 = degT (∅) = {A ∶ A is computable}ii) 0′ = degT (K) = degT (HP)iii) 0′′ = degT (TOT) = degT (FIN )

24In light of this, the Turing degrees are thus sometimes presented as a triple ⟨{degT (A) ∶ A ⊆ N},≤T ⟩,∪⟩. Butsince a∪b is definable in first-order logic in terms of ≤T , this structure may be understood as a definitional extensionof DT .

52

Page 53: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

...<latexit sha1_base64="9NlO90SBfH0jvK0hm02KZm/qLa8=">AAAB7XicbVBNS8NAEJ3Ur1q/qh69BIvgqSQq6LHoxWMF+wFtKJvNpl272Q27k0Ip/Q9ePCji1f/jzX/jts1BWx8MPN6bYWZemApu0PO+ncLa+sbmVnG7tLO7t39QPjxqGpVpyhpUCaXbITFMcMkayFGwdqoZSULBWuHwbua3RkwbruQjjlMWJKQvecwpQSs1u6NIoemVK17Vm8NdJX5OKpCj3it/dSNFs4RJpIIY0/G9FIMJ0cipYNNSNzMsJXRI+qxjqSQJM8Fkfu3UPbNK5MZK25LoztXfExOSGDNOQtuZEByYZW8m/ud1MoxvggmXaYZM0sWiOBMuKnf2uhtxzSiKsSWEam5vdemAaELRBlSyIfjLL6+S5kXVv6z6D1eV2m0eRxFO4BTOwYdrqME91KEBFJ7gGV7hzVHOi/PufCxaC04+cwx/4Hz+AMxrj0U=</latexit>

0(n)<latexit sha1_base64="px2nzY7dqQGcWSLZ9Lk4g2FKRXs=">AAAB+XicbVDLSsNAFL2pr1pfUZduBotQNyVRQZdFNy4r2Ae0sUymk3boZBJmJoUS8iduXCji1j9x5984abPQ1gMDh3Pu5Z45fsyZ0o7zbZXW1jc2t8rblZ3dvf0D+/CoraJEEtoiEY9k18eKciZoSzPNaTeWFIc+px1/cpf7nSmVikXiUc9i6oV4JFjACNZGGth2P8R67Aepkz2lNXGeDeyqU3fmQKvELUgVCjQH9ld/GJEkpEITjpXquU6svRRLzQinWaWfKBpjMsEj2jNU4JAqL50nz9CZUYYoiKR5QqO5+nsjxaFSs9A3k3lOtezl4n9eL9HBjZcyESeaCrI4FCQc6QjlNaAhk5RoPjMEE8lMVkTGWGKiTVkVU4K7/OVV0r6ou5d19+Gq2rgt6ijDCZxCDVy4hgbcQxNaQGAKz/AKb1ZqvVjv1sditGQVO8fwB9bnDyulk1k=</latexit>

The Turing

degrees DT<latexit sha1_base64="aWuRDoaRRiO1LcQ+73qKIxiJP6A=">AAACHXicbZA9SwNBEIb34nf8ilraLAbBKtxpQEtRC0uFxARyIextJsmSvb1jd04Mx/0RG/+KjYUiFjbiv3EvSaGJLyy8PDPDzrxBLIVB1/12CguLS8srq2vF9Y3Nre3Szu6diRLNoc4jGelmwAxIoaCOAiU0Yw0sDCQ0guFlXm/cgzYiUjUcxdAOWV+JnuAMLeqUqj7CA6a1AdBaooXqZ9T3ixPYhb4GMNSikOGAM5leZZ20lnVKZbfijkXnjTc1ZTLVTaf06XcjnoSgkEtmTMtzY2ynTKPgErKinxiIGR+yPrSsVSwE007H12X00JIu7UXaPoV0TH9PpCw0ZhQGtjNf08zWcvhfrZVg76ydChUnCIpPPuolkmJE86hoV2jgKEfWMK6F3ZXyAdOMow20aEPwZk+eN3fHFe+k4t1Wy+cX0zhWyT45IEfEI6fknFyTG1InnDySZ/JK3pwn58V5dz4mrQVnOrNH/sj5+gFuAKLA</latexit>

Degrees a 00<latexit sha1_base64="VOtHHCKZyJ0l49KMGeqR9PJ9H6Y=">AAACFHicbVDJSgNBEO2JW4xb1KOXxiAKQphRQY9BPXiMYBZIQujp1CRNeha7a8QwzEd48Ve8eFDEqwdv/o2dBdHEBw2v36uiqp4bSaHRtr+szNz8wuJSdjm3srq2vpHf3KrqMFYcKjyUoaq7TIMUAVRQoIR6pID5roSa278Y+rU7UFqEwQ0OImj5rBsIT3CGRmrnD5sI95hcQlcBaJrSps+w53oJM1TC7c/fTvfb+YJdtEegs8SZkAKZoNzOfzY7IY99CJBLpnXDsSNsJUyh4BLSXDPWEDHeZ11oGBowH3QrGR2V0j2jdKgXKvMCpCP1d0fCfK0HvmsqhyvqaW8o/uc1YvTOWokIohgh4ONBXiwphnSYEO0IBRzlwBDGlTC7Ut5jinE0OeZMCM70ybOkelR0jovO9UmhdD6JI0t2yC45IA45JSVyRcqkQjh5IE/khbxaj9az9Wa9j0sz1qRnm/yB9fENt4Celg==</latexit>

00 = deg(K) = deg(HP )<latexit sha1_base64="NhoNGeI1M1+yPGlLQPIkz3kclCU=">AAACGXicbVDLSsNAFJ34rPUVdelmsIjtpiQq6EYouim4qWAf0IYymUzaoZNJmJkIJeQ33Pgrblwo4lJX/o2TNAttPTBw5px7ufceN2JUKsv6NpaWV1bX1ksb5c2t7Z1dc2+/I8NYYNLGIQtFz0WSMMpJW1HFSC8SBAUuI113cpP53QciJA35vZpGxAnQiFOfYqS0NDStQYDU2PUTKz2BVzD/iSDxyCit3tbmlWarNjQrVt3KAReJXZAKKNAamp8DL8RxQLjCDEnZt61IOQkSimJG0vIgliRCeIJGpK8pRwGRTpJflsJjrXjQD4V+XMFc/d2RoEDKaeDqymxPOe9l4n9eP1b+pZNQHsWKcDwb5McMqhBmMUGPCoIVm2qCsKB6V4jHSCCsdJhlHYI9f/Ii6ZzW7bO6fXdeaVwXcZTAITgCVWCDC9AATdACbYDBI3gGr+DNeDJejHfjY1a6ZBQ9B+APjK8fX9afRA==</latexit>

000 = deg(TOT ) = deg(FIN)<latexit sha1_base64="flNUKe6MrmRbwXvpSWWGtLM/dOY=">AAACHXicbVDLSsNAFJ3UV62vqEs3g0XabkqiBd0IRUF0oxX6gjaUyXTSDp08mJkIJeRH3Pgrblwo4sKN+DdO0iy09cDAmXPu5d577IBRIQ3jW8stLa+sruXXCxubW9s7+u5eW/ghx6SFfebzro0EYdQjLUklI92AE+TajHTsyWXidx4IF9T3mnIaEMtFI486FCOppIFe67tIjm0nMuJSCZ7D9MvdaEhGcbl516zMa1c3t5WBXjSqRgq4SMyMFEGGxkD/7A99HLrEk5ghIXqmEUgrQlxSzEhc6IeCBAhP0Ij0FPWQS4QVpdfF8EgpQ+j4XD1PwlT93REhV4ipa6vKZFEx7yXif14vlM6ZFVEvCCXx8GyQEzIofZhEBYeUEyzZVBGEOVW7QjxGHGGpAi2oEMz5kxdJ+7hqnlTN+1qxfpHFkQcH4BCUgQlOQR1cgwZoAQwewTN4BW/ak/aivWsfs9KclvXsgz/Qvn4A25GghA==</latexit>

0 = degree of all computable sets<latexit sha1_base64="Vnwx66t4AN9uQrk0qVgoad3JuPQ=">AAACGnicbVDLSgMxFM3UV62vUZdugkVwVWZU0I1QdOOygn1AW0omvdOGZiZDckcsQ7/Djb/ixoUi7sSNf2P6WGjrgcDhnHuTnBMkUhj0vG8nt7S8srqWXy9sbG5t77i7ezWjUs2hypVUuhEwA1LEUEWBEhqJBhYFEurB4Hrs1+9BG6HiOxwm0I5YLxah4Ayt1HH9VsSwH4SZN6KXtIXwgFkXehqAqpAyKSlXUZIisxdSA2hGHbfolbwJ6CLxZ6RIZqh03M9WV/E0ghi5ZMY0fS/BdsY0Ci5hVGilBhLGB6wHTUtjFoFpZ5NoI3pklS4NlbYnRjpRf29kLDJmGAV2chzEzHtj8T+vmWJ40c5EbLNBzKcPhamkqOi4J9oVGjjKoSWMa2H/SnmfacbRtlmwJfjzkRdJ7aTkn5b827Ni+WpWR54ckENyTHxyTsrkhlRIlXDySJ7JK3lznpwX5935mI7mnNnOPvkD5+sHSXGhCQ==</latexit>

The c.e.<latexit sha1_base64="P2V6CQlJdIf24Bmgx/7LOC/wNJo=">AAAB+HicbVDLSgNBEJyNrxgfWfXoZTAInpZdFfQY9OIxQl6QLGF20kmGzD6Y6RXjki/x4kERr36KN//GSbIHTSxoKKq66e4KEik0uu63VVhb39jcKm6Xdnb39sv2wWFTx6ni0OCxjFU7YBqkiKCBAiW0EwUsDCS0gvHtzG89gNIijuo4ScAP2TASA8EZGqlnl7sIj5jVR0C5A860Z1dcx52DrhIvJxWSo9azv7r9mKchRMgl07rjuQn6GVMouIRpqZtqSBgfsyF0DI1YCNrP5odP6alR+nQQK1MR0rn6eyJjodaTMDCdIcORXvZm4n9eJ8XBtZ+JKEkRIr5YNEglxZjOUqB9oYCjnBjCuBLmVspHTDGOJquSCcFbfnmVNM8d78Lx7i8r1Zs8jiI5JifkjHjkilTJHamRBuEkJc/klbxZT9aL9W59LFoLVj5zRP7A+vwBKwSSwg==</latexit>

degrees ET<latexit sha1_base64="EFsURcL1D5mfOB3hWIZfQ5QOpKo=">AAACCXicbVDLSgNBEJz1GeMr6tHLYBA8hV0V9BgUwWOEvCAbwuykNxky+2CmVwzLXr34K148KOLVP/Dm3zib5KCJBQ1FVTfdXV4shUbb/raWlldW19YLG8XNre2d3dLeflNHieLQ4JGMVNtjGqQIoYECJbRjBSzwJLS80XXut+5BaRGFdRzH0A3YIBS+4AyN1CvRoovwgGkfBgpA04y6AcMhZzK9yXppPeuVynbFnoAuEmdGymSGWq/05fYjngQQIpdM645jx9hNmULBJWRFN9EQMz5iA+gYGrIAdDedfJLRY6P0qR8pUyHSifp7ImWB1uPAM535mXrey8X/vE6C/mU3FWGcIIR8ushPJMWI5rHQvlDAUY4NYVwJcyvlQ6YYRxNe0YTgzL+8SJqnFees4tydl6tXszgK5JAckRPikAtSJbekRhqEk0fyTF7Jm/VkvVjv1se0dcmazRyQP7A+fwCkBppO</latexit>

Figure 2: The Turing degrees DT .

Such classifications illustrate how the position of a set within DT can be understood as a measure ofhow far away it is from being computable – i.e. of its degree of unsolvablity or difficulty. Howeverunlike other conventional measurement scales, the structure of DT is neither simple nor is it alwaysstraightforward to discern. Some evidence to this effect was provided by the fact that the answerto the following question was posed but left unanswered by Post (1944):25

Question 3.1 (Post’s Problem). Is there a c.e. degree a such that 0 <T a <T 0′?

Post’s problem was eventually answered in the positive independently by Friedberg (1957) andMuchnik (1956) who showed the following:

Theorem 3.8. There are c.e. sets A and B such that A ≰T B and B ≰T A. Thus if a = degT (A)and b = degT (B), then a ≰T b and b ≰T a and hence also 0 <T a <T 0′ amd 0 <T b <T 0′.

The proof of Friedberg-Muchnik Theorem (3.8) required the development of a new technique knownas the priority method (or also as the injury method) which has became a central tool in thesubsequent development of computability theory. This provides a means of constructing a c.e. setA with a certain property P which may be described as follows: i) the desired properties of A aredivided into an infinite list of requirements R0,R1,R2, . . . such that if all of the Ri are satisfied, thenA will satisfy P ; ii) the requirements are then associated with priorities corresponding to an orderingin which their satisfaction is to be preserved by the construction – e.g. R0 might have the highest

25The non-effective version of Theorem 3.8 which requires only the existence of degree a such that 0 <T a <T 0′

without the further requirement that a be c.e. was settled by Kleene and Post (1954) via an argument which is relatedto but simpler than the finite injury construction described below.

53

Page 54: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

(or “most important”) priority, R1 the second highest priority, . . .; iii) A is then constructed instages A0,A1,A2, . . . ,As, . . . with each stage s attempting to satisfy the highest priority requirementRj which is currently unsatisfied, either by adding numbers to the current approximation As of Aor prohibiting other numbers from entering At at a later stage t > s; iv) it may happen that bysatisfying some requirement Ri at stage s the process causes another requirement Rj to becomeunsatisified (i.e. stage s injures Rj); v) in this case, the priority ordering is consulted in order todetermine what action to take. In the case of Theorem 3.8, this technique is used to simultaneouslyconstruct the two c.e. sets A and B of degree intermediate between 0 and 0′ by alternating betweenthe requirements R2i which entail that A ≠ {n ∶ φBi (n) ↓= 1} at even stages to ensure A ≰T B andrequirements R2i+1 which entail that B ≠ {n ∶ φAi (n) ↓= 1} at odd stages so as to ensure B ≰T A.

Sophisticated application of the priority method have been employed in computability theory fromthe 1960s onward to investigate the structure of DT and ET .26 Some illustrative results which canbe obtained either in this manner or more elementary techniques are as follows:

(75) i) There are continuum (i.e. 2ℵ0) many distinct Turing degrees. In particular, althoughfor a given degree a the set of b such that b ≤T a is countable, the set of b such thata <T b is uncountable (Kleene and Post, 1954).

ii) For every degree a ≠T 0, there exists a degree b which is incomparable to a – i.e.b ≰T a and a ≰T b. Moreover, there is a set of 2ℵ0 pairwise incompatible degrees(Kleene and Post, 1954).

iii) There are minimal degrees m – i.e. degrees for which there is no a such that0 <T a <T m (Sacks, 1963b). Thus in general <T is not a dense order. (However by factvii) below, there are not minimal c.e. degrees.)

iv) There are pairs of degrees a and b which do not possess a greatest lower bound. Thusalthough DT is an upper semi-lattice, it is not a lattice (Kleene and Post, 1954). Thesame is true of ET (Lachlan, 1966).

v) Every countable partially ordered set can be embedded into DT (Thomason, 1971).However this is not true of ET into which there are finite non-distributive latticeswhich cannot be embedded (Lachlan and Soare, 1980).

vi) There is a non-c.e. degree a < 0′ (Shoenfield, 1960).

vii) For any c.e. degrees a < b, there is a c.e. degree c such that a < c < b (Sacks, 1964).Thus unlike the Turing degrees in general, the c.e. degrees are densely ordered.

viii) For any c.e. degree a > 0, there are incomparable c.e. degrees b,c < a such thata = b ∪ c (Sacks, 1963b).

ix) Let Th(DT ) be the first-order theory of the structure DT in the language with thewith ≡T and ≤T . Not only is Th(DT ) undecidable (Lachlan, 1968), it is fact many-oneequivalent to true second-order arithmetic (Simpson, 1977).

x) As is trivially true of the join operation a ∨ b, the jump operation a′ = b is definable inDT in the language with = and ≤ (Shore and Slaman, 1999).

26Many of the most important constructions were first presented systematically in Soare’s (1987) textbook Re-cursively enumerable sets and degrees and have now been given an even more streamlined treatment in the revisededition (Soare, 2016).

54

Page 55: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

These properties attest to the complexity of DT as a mathematical structure. A related questionis whether DT is rigid in the following sense:

Question 3.2. Does there exist a non-trivial automorphism of DT – i.e. a mapping π ∶ DT → DT

which preserves ≤T and is not the identity?

A negative answer to this question would show that the relation of degT (A) to other degreesuniquely determines the degree of unsolvability of A relative to DT . There has been a considerableamount of work in recent years which points in this direction (e.g. Slaman, 2008). Nonetheless, atthe time of the 2019 update to this entry, Question 3.2 remains one of the most significant openproblems in computability theory whose origins can be traced back to the original foundationalwork of Turing, Post, and Kleene surveyed above.

3.6 The arithmetical and analytical hierarchies

The many-one degrees Dm and the Turing degrees DT are sometimes referred to as hierarchies inthe sense that they determine an ordering on P(N) – i.e. the set of subsets of the natural numbers –in terms of relative computability. In a series of papers from the 1940s and 1950s, Kleene (initiatingin 1943) and Mostowski (initiating in 1946) realized that it was also possible to impose an orderingon P(N) in terms of the logical complexity of the simplest predicate which defines A ⊆ N in thelanguages of first- or second-order arithmetic. This idea leads to what are known as the arithmeticaland analytical hierarchies, both of which can be understood as classifying sets in terms of theirdefinitional (or descriptive) complexity. As we will see, the resulting classifications are related tothose determined relative to DT in terms of relative computability. They are also similar in formto other definability hierarchies studied in computational complexity theory (e.g. the polynomialhierarchy) and descriptive set theory (e.g. the Borel and projective hierarchies).

3.6.1 The arithmetical hierarchy

Recall that according to the definitions given in Section 3.3, a relation R ⊆ Nk is said to becomputable just in case its characteristic function χR(x) is a computable function and computablyenumerable just in case it is the range of a computable function. In order to introduce the arithmeti-cal hierarchy, it is useful to employ an alternative characterization of computable and computablyenumerable relations in form of a semantic analog to the proof-theoretic notion of arithmeticalrepresentability discussed in Section 1.3.

Recall that the language of first-order arithmetic La contains the primitive symbols {<,′ ,+,×,0}respectively intended to denote the less than relation, successor, addition, and multiplication func-tions on the natural numbers as well as the first natural number 0. A first-order arithmetical formulais one built up from these expressions using variables, propositional connectives, and the first-orderquantifiers ∀x,∃y where the variables x, y, z, . . . are intended to range over the natural numbers N.Recall also that the standard model of first-order arithmetic is the structure N = ⟨N,0,<, s,+,×⟩ inwhich the symbols of La receive their intended interpretations. Finally we say that an La-formulaϕ(x) defines a relation R ⊆ Nk just in case R = {⟨n1, . . . , nk⟩ ∶ N ⊧ ϕ(n1, . . . , nk)}.27 For instance

27To simplify notation, we will systematically confuse in this section the natural number n ∈ N with the La-termn = s(s(s(. . . s(0)))) (n-times) which denotes it.

55

Page 56: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

x < y ∨ x = y defines the less-than-or-equal relation ≤, ∃y(y + y = x) defines the even numbers, and∀y∀z(y × z = x→ y = s(0) ∨ y = x) defines the prime numbers.

Definition 3.14. A formula ϕ(x) of La is said to be in the class ∆00 if it contains only bounded

first-order quantifiers – i.e. those of the form ∃x(x < t ∧ . . .) and ∀x(x < t → . . .) for t an La-term not containing x. A formula is said to be in the class Σ0

1 if it is of the form ∃yϕ(x, y) forϕ(x, y) ∈ ∆0

0 and to be in the class Π01 if it is of the form ∀yϕ(x, y) for ϕ(x, y) ∈ ∆0

0. Finally, aformula ϕ(x) is said to be in the class ∆0

1 if it is semantically equivalent to both a Σ01-formula ψ(x)

and a Π01-formula χ(x) – i.e. N ⊧ ϕ(n) iff N ⊧ ψ(n) iff N ⊧ χ(n) for all n ∈ Nk.

It is standard to extend this syntactic classification of formulas in terms of quantifier complexityto sets and relations on the natural numbers which can be defined by a formula in a given class.Thus, for instance, x < y ∨ x = y is a ∆0

0-formula and the relation ≤ on N × N is accordingly saidto be ∆0

0. On the other hand, while ∃y(y + y = x) is a Σ01-formula, the set of even numbers is also

defined by ∃y < x(x = 0 ∨ y + y = x). Thus this set is also classified as ∆00 in virtue of the existence

of this latter definition which is simpler in the sense measured by the arithmetical hierarchy.

The first step in relating such classifications to computability-theoretic notions is provided by thefollowing:

Proposition 3.8. i) A relation R ⊆ Nk is computably enumerable if and only if there is a Σ01-

formula which defines R(x).

ii) A relation R ⊆ Nk is computable if and only if there is a ∆01-formula which defines R(x).

Proposition 3.8 may be proved by directly showing that for each partial recursive function φe(x)it is possible to construct a corresponding La-formula ϕ(x) whose logical structure mimics thesteps in the definition of the former by formalizing primitive recursion using an arithmeticallydefinable coding of finite sequences and formalizing minimization using an unbounded existential(see, e.g., Kaye, 1991, §3). But it is also possible to obtain Proposition 3.8 in a uniform mannerby showing that there is a so-called universal formula for Σ0

1-formulas. In order specify sucha formula, first note that it is possible to effectively enumerate all ∆0

0-formulas with k + 1 freevariables as ψk0(x, y), ψk1(x, y), . . . and then define a corresponding enumeration of Σ0

1-formulas asϕk0(y) = ∃xψ0(x, y), ϕk1(y) = ∃xψ1(x, y), . . . . We then have the following:

Theorem 3.9 (Kleene, 1943). For all k, there exists a Σ01-formula σk,1(x, y) such that for all

Σ01-formulas with k-free variables ϕke(y), the following biconditional

σk,1(e, m)↔ ϕke(m)

holds in the standard model N for all m ∈ Nk.

Theorem 3.9 can be demonstrated by first observing that the truth of a Σ01-formula ϕke(x) is

equivalent to N ⊧ ψke (n, m) for some n ∈ N. Next note that the sequence of observations recordedin Section 2.1.2 suffices to show that all ∆0

0-definable relations are primitive recursive. We maythus consider an algorithm which on input e, m uses e to construct ψke (x, y) and then performs anunbounded search for an n such that ψke (n, m) holds. By an appeal to Church’s Thesis (which can,

56

Page 57: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

of course, be replaced by an explicit construction) there is a computable function f(e) for whichwe have the following:

N ⊧ ϕke(m) if and only if µs(Tk(f(e), m, s)) ↓

In order to construct the formula σk,1(e, y) promised by Theorem 3.9, observe that standardtechniques from the arithmetization of syntax allow us to obtain a ∆0

1-formula τk(x, y, z) whichdefines the Kleene T -predicate Tk(x, y, z) introduced in Section 2.2.2. We may finally defineσk,1(e, y) = ∃zτk(f(e), y, z). The first part of Proposition 3.8 now follows by letting e be suchthat dom(φke(x)) = R and then taking σk,1(e0, x) ∈ Σ0

1 where e0 is such that f(e0) = e. This is oftenformulated as what is known as the Enumeration Theorem and be compared to Theorem 3.2:

Proposition 3.9. A relation R ⊆ Nk is computable enumerable if and only if there is a number e(known as a c.e. index for R) such that R is defined by ∃zτk(e, y, z).

The second part of Proposition 3.8 follows by observing that if R is recursive then both R and Rare c.e. Thus if e is a c.e. index for R, then R is defined by ¬∃zτk(e, x, z) which is equivalent to aΠ0

1-formula since τk(x, y, z) ∈ ∆01.

The formula classes ∆01 and Σ0

1 thus provide an alternative arithmetical characterization of thecomputable and computably enumerable sets. These classes also define the lowest levels of thearithmetical hierarchy which in full generality is defined as follows:

Definition 3.15. In order to simplify notation, the classes Σ00 and Π0

0 are both used as alternativenames for the class ∆0

0. We now define a formula to be in the class Σ0n+1 if it is of the form ∃yϕ(x, y)

for ϕ(x, y) ∈ Π0n and to be in the class Πn+1 if it is of the form ∀yϕ(x, y) for ϕ(x, y) ∈ Σ0

n. A formulaϕ(x) is ∆0

n+1 if it is semantically equivalent to both a Σ0n+1-formula ψ(x) and a Π0

n+1-formula χ(x).

It thus follows that a formula is Σ0n just in case it is of the form ∃x1∀x2∃x3 . . .Qxnϕ(x1, x2, x3, . . . , xn)

(where there are n-alternations of quantifier types and Q is ∀ if n is even and ∃ if n is odd).Similarly a Π0

n-formula is of the form ∀x1∃x2∀x3 . . .Qxnϕ(x1, x2, x3, . . . , xn).The notations Σ0

n-,Π0n- or ∆0

n are also standardly used to denote the classes of sets and relationswhich are definable by a formula in the corresponding syntactic class. For instance it follows fromthe second part of Proposition 3.8 that PRIMES is ∆0

1 (since it is computable) and from the firstpart that HP and K are Σ0

1 (since they are c.e.). It thus follows that their complements HP andK are both Π0

1. It is also not hard to see that TOT is Π02 as the fact that φx(y) is total may be

expressed as ∀y∃zτ1(x, y, z) by using the arithmetized formulation of the T -predicate introducedabove. Similarly, FIN is Σ0

2-definable since the fact that φx(y) is defined for only finitely manyarguments is expressible as ∃u∀y(u < y → ¬τ1(x, y, z)).It is a consequence of the Prenex Normal Form Theorem for first-order logic that every La-formulaϕ(y) is provably equivalent to one of the form Q1x1Q2x2 . . .Qnϕ(x, y) for Qi ≡ ∃ or ∀ (e.g. Booloset al., 2007, §19.1). It thus follows that up to provable equivalence, every such formula is Σ0

n orΠ0n for some n ∈ N. Since it is conventional to allow that blocks of quantifiers may be empty in

the Definition 3.15, it follows that Σ0n ⊆ ∆0

n+1 ⊆ Σ0n+1 and Π0

n ⊆ ∆0n+1 ⊆ Π0

n+1. The fact that theseinclusions are strict is a consequence of the so-called Hierarchy Theorem, a simple form of whichmay be stated as follows:

57

Page 58: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Theorem 3.10 (Kleene, 1943). For all n ≥ 1, there exists a set A ⊆ N which is Π0n-definable but

not Σ0n-definable and hence also neither Σ0

m- nor Π0m-definable for any m < n. It thus follows that

A is Σ0n-definable but not Π0

n-definable and hence also neither Σ0m- nor Π0

m-definable for any m < n.

It is again possible to prove Theorem 3.10 by a direct syntactic construction. For instance, buildingon the definition of the universal Σ0

1-predicate σk,1(y), it may be shown that for every level Σ0n

of the arithmetical hierarchy, there is a Σ0n-formula σk,n(x, y) which defines Σ0

n-satisfaction in thestandard model in the sense that

N ⊧ σk,n(⌜ϕ(y)⌝, m)↔ ϕ(m)(76)

for all ϕ(x) ∈ Σ0n and m ∈ Nk (and where we have also defined our Godel numbering to agree with the

indexation of Σ0n-formulas introduced above). Now consider the Π0

n-formula λ(x) = ¬σ2,n(x,x) ∈ Π0n

and let A be the set defined by λ(x). A standard diagonal argument shows that A cannot be Σ0n-

definable and also that if ⌜σ2,n(x,x)⌝ = l in the enumeration of Σ0n-formulas then ¬σ2,n(l, l) is

a Π0n-formula which cannot be equivalent to a Σ0

k-formula (see, e.g., Kaye, 1991, §9.3). Thusas Kleene (1943, p. 64) observed, part of the significance of the Hierarchy Theorem is that itillustrates how the Liar Paradox may be formalized to yield a stratified form of Tarski’s Theoremon the undefinability of truth.

We may also define a notion of completeness with respect to the levels of the arithmetical hierarchyas follows: A is Σ0

n-complete if A is Σ0n-definable and for all Σ0

n-definable B, we have B ≤m A (andsimilarly for Π0

n-complete). It is not hard to show that in addition to being many-one complete, Kis also Σ0

1-complete. Similarly K is Π01-complete, INF is Σ0

2-complete, and TOT is Π02-complete.

These observations can be subsumed under a more general result which relates the arithmeticalhierarchy to the Turing degrees and from which Theorem 3.10 can also be obtained as a corollary.

Theorem 3.11 (Post, 1944). i) A is Σ0n+1-definable iff A is computably enumerable in some

Π0n-definable set iff A is computably enumerable in some Σn-definable set.

ii) ∅(n) is Σ0n-complete for all n > 0.

iii) B is Σ0n+1-definable if and only if B is computably enumerable in ∅(n).

iv) B is ∆0n+1-definable if and only if B ≤T ∅(n).

The various parts of Theorem 3.11 follow from prior definitions together with Propositions 3.2 and3.7. Note in particular that it follows from parts ii) and iv) of Theorem 3.11 together with partvii) of Proposition 3.7 that ∅(n) is an example of a set in the class Σ0

n − Π0n from which it also

follows that ∅(n) ∈ Π0n −Σ0

n. This observation in turn strengthens the Hierarchy Theorem (3.10) byshowing that ∆0

n ⊊ Σ0n and ∆0

n ⊊ Π0n as depicted in Figure 3.

Part iv) of Theorem 3.11 can also be understood as generalizing Theorem 3.4 (i.e. Post’s Theorem).In particular, it characterizes the ∆0

n+1-definable sets as those sets B such that both B and B arecomputably enumerable in some Σ0

n-complete set such as ∅(n). Restricting to case n = 1, thisobservation can also be used to provide an independent computational characterization of the ∆0

2-definable sets, extending those given for the Σ0

1-definable and ∆01-definable sets by Proposition

3.8.

58

Page 59: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

�02

⌃02 ⇧0

2

�04

�03

⌃03 ⇧0

3

⇧04⌃0

4

�01

⌃01 ⇧0

1

= c.e. sets<latexit sha1_base64="Jl5F8VwPxHoT0+ld3fu1anGmhiE=">AAAB+3icbVDLSgNBEJyNrxhfazx6GQyCp2VXBb0IQS8eI5gHJCHMTjrJkNkHM72SsOyvePGgiFd/xJt/4yTZgyYWNBRV3XR3+bEUGl332yqsrW9sbhW3Szu7e/sH9mG5oaNEcajzSEaq5TMNUoRQR4ESWrECFvgSmv74buY3n0BpEYWPOI2hG7BhKAaCMzRSzy53ECaY3lDugEM1oM56dsV13DnoKvFyUiE5aj37q9OPeBJAiFwyrdueG2M3ZQoFl5CVOomGmPExG0Lb0JAFoLvp/PaMnhqlTweRMhUinau/J1IWaD0NfNMZMBzpZW8m/ue1Exxcd1MRxglCyBeLBomkGNFZELQvFHCUU0MYV8LcSvmIKcbRxFUyIXjLL6+SxrnjXTjew2WlepvHUSTH5IScEY9ckSq5JzVSJ5xMyDN5JW9WZr1Y79bHorVg5TNH5A+szx8k2JPb</latexit>

= co-c.e. sets<latexit sha1_base64="ma3zLtvJP9VcTCfV8ukC592iGoY=">AAAB/nicbVDLSgNBEJz1GeNrVTx5GQyCF5ddFfQiBL14jGAekCxhdtJJhsw+mOkVwxLwV7x4UMSr3+HNv3GS7EETCxqKqm66u4JECo2u+20tLC4tr6wW1orrG5tb2/bObk3HqeJQ5bGMVSNgGqSIoIoCJTQSBSwMJNSDwc3Yrz+A0iKO7nGYgB+yXiS6gjM0UtvebyE8YnZFeXzCHXCoBtSjtl1yHXcCOk+8nJRIjkrb/mp1Yp6GECGXTOum5yboZ0yh4BJGxVaqIWF8wHrQNDRiIWg/m5w/okdG6dBurExFSCfq74mMhVoPw8B0hgz7etYbi/95zRS7l34moiRFiPh0UTeVFGM6zoJ2hAKOcmgI40qYWynvM8U4msSKJgRv9uV5Ujt1vDPHuzsvla/zOArkgBySY+KRC1Imt6RCqoSTjDyTV/JmPVkv1rv1MW1dsPKZPfIH1ucPKv2U+A==</latexit>

= sets T ;0<latexit sha1_base64="VqsaTJ8tby/4soYtrP1quCSlgvY=">AAACCHicbVDJSgNBEO2JW4zbqEcPNgbRU5hRQS9C0IvHCNkgE0JPp5I06VnsrhHDkKMXf8WLB0W8+gne/Bs7y0ETHxQ83quiqp4fS6HRcb6tzMLi0vJKdjW3tr6xuWVv71R1lCgOFR7JSNV9pkGKECooUEI9VsACX0LN71+P/No9KC2isIyDGJoB64aiIzhDI7Xs/UvqITxgqgH1kHoS7lpl6kEQ48BIRy077xScMeg8cackT6Yotewvrx3xJIAQuWRaN1wnxmbKFAouYZjzEg0x433WhYahIQtAN9PxI0N6aJQ27UTKVIh0rP6eSFmg9SDwTWfAsKdnvZH4n9dIsHPRTEUYJwghnyzqJJJiREep0LZQwFEODGFcCXMr5T2mGEeTXc6E4M6+PE+qJwX3tODenuWLV9M4smSPHJBj4pJzUiQ3pEQqhJNH8kxeyZv1ZL1Y79bHpDVjTWd2yR9Ynz+GjZmo</latexit>

= computable sets<latexit sha1_base64="8GxLgC2KkznlidSl2FOwu90H1mM=">AAACAXicbVC7SgNBFJ31GeNr1UawGQyCVdhVQRshaGMZwTwgWcLs5G4yZPbBzF0xLLHxV2wsFLH1L+z8GyfJFpp4YOBwzj3cucdPpNDoON/WwuLS8spqYa24vrG5tW3v7NZ1nCoONR7LWDV9pkGKCGooUEIzUcBCX0LDH1yP/cY9KC3i6A6HCXgh60UiEJyhkTr2/iVtIzxgxuMwSZGZHNWAetSxS07ZmYDOEzcnJZKj2rG/2t2YpyFEyCXTuuU6CXoZUyi4hFGxnWpIGB+wHrQMjVgI2ssmF4zokVG6NIiVeRHSifo7kbFQ62Hom8mQYV/PemPxP6+VYnDhZSIyt0HEp4uCVFKM6bgO2hUKOMqhIYwrYf5KeZ8pxtGUVjQluLMnz5P6Sdk9Lbu3Z6XKVV5HgRyQQ3JMXHJOKuSGVEmNcPJInskrebOerBfr3fqYji5YeWaP/IH1+QPOS5cf</latexit>

= sets T ;00<latexit sha1_base64="sGykRgnXKvaBAGdP2vtinlL8w+g=">AAACCXicbVA9SwNBEN2LXzF+RS1tFoPEKtypoI0QtLGMkC/IhbC3mSRL9j7cnRPDkdbGv2JjoYit/8DOf+MmuUITHww83pthZp4XSaHRtr+tzNLyyupadj23sbm1vZPf3avrMFYcajyUoWp6TIMUAdRQoIRmpID5noSGN7ye+I17UFqEQRVHEbR91g9ET3CGRurk6SV1ER4w0YB6TF0Jd50qdcGPcGSkYrGTL9glewq6SJyUFEiKSif/5XZDHvsQIJdM65ZjR9hOmELBJYxzbqwhYnzI+tAyNGA+6HYy/WRMj4zSpb1QmQqQTtXfEwnztR75nun0GQ70vDcR//NaMfYu2okIohgh4LNFvVhSDOkkFtoVCjjKkSGMK2FupXzAFONowsuZEJz5lxdJ/aTknJac27NC+SqNI0sOyCE5Jg45J2VyQyqkRjh5JM/klbxZT9aL9W59zFozVjqzT/7A+vwB8qyZ2Q==</latexit>

= sets T ;000<latexit sha1_base64="xJDZbYX/fzkV0oykXEgyBKSMLwo=">AAACCnicbVDJSgNBEO1xjXEb9eilNUg8hRkV9CIEvXiMkA0yIfR0KkmTnsXuGjEMOXvxV7x4UMSrX+DNv7GzHDTxQcHjvSqq6vmxFBod59taWFxaXlnNrGXXNza3tu2d3aqOEsWhwiMZqbrPNEgRQgUFSqjHCljgS6j5/euRX7sHpUUUlnEQQzNg3VB0BGdopJZ9cEk9hAdMNaAeUk/CXatMPQhiHBgpn8+37JxTcMag88SdkhyZotSyv7x2xJMAQuSSad1wnRibKVMouIRh1ks0xIz3WRcahoYsAN1Mx68M6ZFR2rQTKVMh0rH6eyJlgdaDwDedAcOenvVG4n9eI8HORTMVYZwghHyyqJNIihEd5ULbQgFHOTCEcSXMrZT3mGIcTXpZE4I7+/I8qZ4U3NOCe3uWK15N48iQfXJIjolLzkmR3JASqRBOHskzeSVv1pP1Yr1bH5PWBWs6s0f+wPr8AV8Dmgo=</latexit>

...<latexit sha1_base64="9NlO90SBfH0jvK0hm02KZm/qLa8=">AAAB7XicbVBNS8NAEJ3Ur1q/qh69BIvgqSQq6LHoxWMF+wFtKJvNpl272Q27k0Ip/Q9ePCji1f/jzX/jts1BWx8MPN6bYWZemApu0PO+ncLa+sbmVnG7tLO7t39QPjxqGpVpyhpUCaXbITFMcMkayFGwdqoZSULBWuHwbua3RkwbruQjjlMWJKQvecwpQSs1u6NIoemVK17Vm8NdJX5OKpCj3it/dSNFs4RJpIIY0/G9FIMJ0cipYNNSNzMsJXRI+qxjqSQJM8Fkfu3UPbNK5MZK25LoztXfExOSGDNOQtuZEByYZW8m/ud1MoxvggmXaYZM0sWiOBMuKnf2uhtxzSiKsSWEam5vdemAaELRBlSyIfjLL6+S5kXVv6z6D1eV2m0eRxFO4BTOwYdrqME91KEBFJ7gGV7hzVHOi/PufCxaC04+cwx/4Hz+AMxrj0U=</latexit>

K ⌘m ;0<latexit sha1_base64="CPmVcTd+ooBcy68MIe8zeCq0CS8=">AAAB/nicbZDLSgMxFIYz9VbrbVRcuQkW0VWZUUGXRTeCmwr2Am0pmfS0DU1mxuRMoQwFX8WNC0Xc+hzufBvTy0Jbfwh8/OcczskfxFIY9LxvJ7O0vLK6ll3PbWxube+4u3sVEyWaQ5lHMtK1gBmQIoQyCpRQizUwFUioBv2bcb06AG1EFD7gMIamYt1QdARnaK2We3BHG/CYiEFLWVAxDg3gScvNewVvIroI/gzyZKZSy/1qtCOeKAiRS2ZM3fdibKZMo+ASRrlGYiBmvM+6ULcYMgWmmU7OH9Fj67RpJ9L2hUgn7u+JlCljhiqwnYphz8zXxuZ/tXqCnatmKsI4QQj5dFEnkRQjOs6CtoUGjnJogXEt7K2U95hmHG1iORuCP//lRaicFfzzgn9/kS9ez+LIkkNyRE6JTy5JkdySEikTTlLyTF7Jm/PkvDjvzse0NePMZvbJHzmfP8IOlVs=</latexit>

K ⌘m ;0<latexit sha1_base64="ZWmdXXcc7k3vpEAn1q9CbhTB3T4=">AAACFHicbVBNSwMxFMzW7/q16tFLsIiCUHZV0KPoRfCiYLXQLSWbvrahye6avBXK0h/hxb/ixYMiXj1489+Ytgtq60BgmHnDy5swkcKg5305hanpmdm5+YXi4tLyyqq7tn5j4lRzqPBYxroaMgNSRFBBgRKqiQamQgm3Yfds4N/egzYijq6xl0BdsXYkWoIztFLD3Qtiaw/S2UWfBnCXivuGoj9qACrBngHc6Tfcklf2hqCTxM9JieS4bLifQTPmqYIIuWTG1HwvwXrGNAouoV8MUgMJ413WhpqlEVNg6tnwqD7dtkqTtmJtX4R0qP5OZEwZ01OhnVQMO2bcG4j/ebUUW8f1TERJihDx0aJWKinGdNAQbQoNHGXPEsa1sH+lvMM042h7LNoS/PGTJ8nNftk/KPtXh6WT07yOebJJtsgu8ckROSHn5JJUCCcP5Im8kFfn0Xl23pz30WjByTMb5A+cj29h3p+n</latexit>

TOT ⌘m ;00<latexit sha1_base64="meeqmzN8negOdILCn0srKgQCuOI=">AAACDHicbVDLSgMxFM3Ud31VXboJFqmrMqOCLkU37lToCzqlZNLbNjSZGZM7hTL0A9z4K25cKOLWD3Dn35ipXWjrgcDhnHOT3BPEUhh03S8nt7C4tLyyupZf39jc2i7s7NZMlGgOVR7JSDcCZkCKEKooUEIj1sBUIKEeDK4yvz4EbUQUVnAUQ0uxXii6gjO0UrtQrNxUqA/3iRi2FfUjm82uSn1QMY4MYKk0tim37E5A54k3JUUyxW278Ol3Ip4oCJFLZkzTc2NspUyj4BLGeT8xEDM+YD1oWhoyBaaVTpYZ00OrdGg30vaESCfq74mUKWNGKrBJxbBvZr1M/M9rJtg9b6UijBOEkP881E0kxYhmzdCO0MBRjixhXAv7V8r7TDOOtr+8LcGbXXme1I7L3knZuzstXlxO61gl++SAHBGPnJELck1uSZVw8kCeyAt5dR6dZ+fNef+J5pzpzB75A+fjG8Tbm3I=</latexit>

FIN ⌘m ;00<latexit sha1_base64="F9oyImhKHMZ7GE/5IsS0/xsjT30=">AAACAnicbZDLSgMxFIYz9VbrrepK3ASL1FWZUUGXRUF0IxXsBdpSMulpG5rMjMmZQinFja/ixoUibn0Kd76N6WWhrT8EPv5zDifn9yMpDLrut5NYWFxaXkmuptbWNza30ts7JRPGmkORhzLUFZ8ZkCKAIgqUUIk0MOVLKPvdy1G93ANtRBjcYz+CumLtQLQEZ2itRnrv6uaW1uAhFr2GsqAi7BvAbDbVSGfcnDsWnQdvChkyVaGR/qo1Qx4rCJBLZkzVcyOsD5hGwSUMU7XYQMR4l7WhajFgCkx9MD5hSA+t06StUNsXIB27vycGTBnTV77tVAw7ZrY2Mv+rVWNsndcHIohihIBPFrViSTGkozxoU2jgKPsWGNfC/pXyDtOMo01tFII3e/I8lI5z3knOuzvN5C+mcSTJPjkgR8QjZyRPrkmBFAknj+SZvJI358l5cd6dj0lrwpnO7JI/cj5/AJuulkY=</latexit>

Figure 3: The Arithmetical Hierarchy.

Definition 3.16. A set A is said to be limit computable if there is a computable sequence of finitesets {As ∶ s ∈ N} such that

n ∈ A if and only if limsAs(n) = 1

where limsAs(n) = 1 means that lims χAs(n) exists and is equal to 1.

If A is c.e., then it is clear that A is limit computable. For if A is the range of a computablefunction φe(x), then we may take As to be {φe(0), . . . , φe(s)} in which case A0 ⊆ A1 ⊆ A2 ⊆ . . .In the general case of limit computability, the sequence of sets {As ∶ s ∈ N} may be thought of asan approximation of A which need not grow monotonically in this way but can rather both growand shrink as long as there is always a stage s such that for all s ≤ t, n ∈ At if n ∈ A and n /∈ Atif n /∈ A. Following Putnam (1965), a limit computable set can also thus also be described as aso-called trial-and-error predicate – i.e. one for which membership can be determined by followinga guessing procedure which eventually converges to the correct answer to the questions of the formn ∈ A?

The following is traditionally referred to as The Limit Lemma:

Theorem 3.12 (Shoenfield, 1959). The following are equivalent:

i) A is limit computable.

ii) A ≤T ∅′

We have seen that part iv) of Proposition 3.11 characterizes the sets Turing reducible to ∅′ asthe ∆0

2-definable sets. Theorem 3.12 thus extends the characterizations of the computable (i.e.∆0

1-definable) and computably enumerable (i.e. Σ01-definable) sets given in Proposition 3.8 by

demonstrating the coincidence of the ∆02-definable sets and those which are limit computable.

59

Page 60: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

3.6.2 The analytical hierarchy

Kleene introduced what is now known as the analytical hierarchy in a series of papers (1955a;1955b; 1955c) which built directly on his introduction of the arithmetical hierarchy in (1943). Hisproximal motivation was to provide a definability-theoretic characterization of the so-called hyper-arithmetical sets – i.e. those which are computable from transfinite iterates of the Turing jumpthrough the constructive ordinals. On the other hand, Mostowski (1946) had already noticed simi-larities between the arithmetical hierarchy of sets of natural numbers and results about hierarchiesof point sets studied in descriptive set theory – i.e. sets of elements of Polish spaces (complete, sep-arable metrizable spaces such as the real numbers, Cantor space, or Baire space) – which have theirorigins in the work of Borel, Lebesgue, Lusin, and Suslin in the early twentieth century. Beginningin his PhD thesis under Kleene, Addison (1954) refined Mostowski’s comparisons by showing thatKleene’s initial work could also be used to provide effective versions of several classical results inthis tradition. We present here the fundamental definitions regarding the analytical hierarchy itselftogether with some of some results illustrative how it is connected it to these other developments.

Definition 3.17. The language L2a of second-order arithmetic extends the language La of first-

order arithmetic with the binary relation symbol ∈, together with set variables X,Y,Z, . . . and setquantifiers ∃X and ∀Y . The standard model of L2

a is the structure ⟨N,P(N),0,<, s,+,×, ∈⟩. Theintended range of the set quantifiers is thus P(N) (i.e. the power set of N) while the intendedinterpretation of x ∈X is that the number x ∈ N is a member of the set X where X ∈ P(N).

Note that in the general case a formula ϕ(x1, . . . , xj ,X1, . . . ,Xk) of L2a may have both free num-

ber variables x1, . . . , xj and free set variables X1, . . . ,Xk. If R ⊆ Nj × P(N)k is defined by sucha formula, then it is said to be analytical. Kleene (1955a) proved a normal form theorem foranalytical relations which shows that if R is analytical then it is definable by an L2

a -formula ofthe form ∀X1∃X2∀X3 . . .QXnψ(X1,X2,X3, . . . ,Xn) or ∃X1∀X2∃X3 . . .QXnψ(X1,X2,X3, . . . ,Xn)where ψ(X) contains only number quantifiers and Q is ∀ or ∃ depending on where n is even orodd. It thus possible to classify both L2

a -formulas and the sets they define into classes as follows:

Definition 3.18. We denote by both Σ10 and Π1

0 the class of L2a -formulas containing no set quan-

tifiers (i.e. a so-called arithmetical formulas). An L2a formula is in the class Σ1

n+1 if it is of the form∃Xψ(X) where ψ ∈ Π1

n and a relation is Σ1n+1-definable if it is defined by a Σ1

n+1-formula. Similarlyan L2

a -formula is in the class Π1n+1 if it is of the form ∀Xψ(X) where ψ ∈ Σ1

n and a relation isΠ1n+1-definable if is defined by a Π1

n+1-formula. A relation is ∆1n-definable just in case it is definable

by both a Σ1n- and a Π1

n-formula.

It hence follows that, as in the case of the arithmetical hierarchy, we have Σ1n ⊆ ∆1

n+1 ⊆ Σ1n+1 and

Π1n ⊆ ∆1

n+1 ⊆ Π1n+1. In addition, a version of the Enumeration Theorem for arithmetical sets can

also be proven which can be used to obtain the following generalization of the Hierarchy Theorem:

Theorem 3.13 (Kleene, 1955a). For all n ≥ 1, there exists a set A ⊆ N which is Π1n-definable but

not Σ1n-definable and hence also neither Σ1

m- nor Π1m-definable for any m < n. It thus follows that

A is Σ1n-definable but not Π1

n-definable and also neither Σ1m- nor Π1

m-definable for any m < n.

In order to provide some illustrations of the levels of the analytical hierarchy, it is useful to recordthe following:

60

Page 61: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Definition 3.19. A set A ⊆ N is implicitly definable in L2a just in case there is an arithmetical

formula ϕ(X) with X as its sole free set variable and no free number variables such that A is theunique set satisfying ϕ(X) in the standard model of L2

a .

By True Arithmetic (TA) we denote the set of Godel numbers of first-order arithmetical sentencestrue in the standard model of La – i.e. TA = {⌜ϕ⌝ ∶ ϕ ∈La ∧ N ⊧ ϕ}. Prior to the definition of theanalytical hierarchy itself, Hilbert & Bernays had already showed the following:

Theorem 3.14 (Hilbert and Bernays, 1939, §5.2e). TA is implicitly definable in L2a .

It is then not difficult to show the following:

Proposition 3.10 (Spector, 1955). If A is implicitly definable, then A is ∆11-definable in L2

a .

It thus follows that TA is ∆11-definable. On the other hand, it follows from Tarski’s Theorem on

the undefinability of truth that TA is not Σ0n ∪Π0

n-definable for any n ∈ N. This in turn shows thatthe analytical sets properly extend the arithmetical ones.

The class of ∆11-definable subsets of N is also related to Kleene’s original study of the class of

hyperarithmetical sets, customarily denoted HYP. The definition of HYP depends on that of asystem of constructive ordinal notations known as O = ⟨O,<O⟩ which Kleene had introduced in(1938). (It was also in the context of defining O in which he proved the Recursion Theorem 3.5 –see Rogers, 1987, §11.7 and Moschovakis, 2009b.) HYP can be informally characterized as the classof sets of natural numbers A such that A ≤T ∅(α) where α is an ordinal which receives a notatione ∈ O – i.e. A ∈ HYP just in case it is computable from a transfinite iteration the of Turing jumpup to the first non-recursive ordinal ωck1 .28 Kleene’s original result was as follows:29

Theorem 3.15 (Kleene, 1955b). A set A ⊆ N is ∆11-definable if and only if A ∈ HYP.

The next step up the analytical hierarchy involves the characterization of the Π11-definable sets.

Kleene (1955a) originally established his normal form theorem for L2a -formulas using a variant of

the language of second-order arithmetic which contains function quantifiers f, g, h, . . . which areintended to range over N→ N instead of set quantifiers intended to range over P(N) (Rogers, 1987,§16.2). In this setting, it is possible to show the following:

28It is not immediately clear that ∅(α) can be defined in such a way that it does not depend on the notation

e ∈ O which is chosen to represent the ordinal α. However, Spector (1955) showed that the Turing degree of ∅(α)

is independent of the particular notation which is employed. Thus when written out in detail, the definition ofA ≤T ∅

(α) can be formulated arithmetically so that it is well defined.29There is a sense in which the definition of HYP may be considered to be more constructive than that of ∆1

1.For on the one hand the ∆1

1 sets are defined “from above” by impredicative quantification over P(N). On the otherhand, the sets in HYP are inductively generated “from below” by iterating the Turing jump which can be understoodin terms of numerical quantification (thanks to Theorem 3.11). Such observations have been employed by a numberof authors to suggest that the hyperarithmetical sets provide a predicative analysis of quantification over the ∆1

1-definable sets – e.g. Kreisel (1960), Rogers (1987, §16.8), Sacks (1990, §II.2). Kleene’s result was also seminal inhelping to establish the so-called “analogies” discussed below between the definability-theoretic hierarchies studiedin descriptive set theory and computability theory which likens (e.g.) continuous functions to computable functions,open sets to c.e. sets and Borel sets to hyperarithmetical sets – e.g. (Kreisel and Sacks, 1965), (Odifreddi, 1989,§IV.2), (Moschovakis, 2009a, pp. 1-9).

61

Page 62: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Proposition 3.11. A ∈ Π11 if and only if there is a computable (i.e. ∆0

1-definable) relation R(x, f)such that

x ∈ A if and only if ∀f∃yR(x, f(y))

where f(y) denotes ⟨f(0), . . . , f(y − 1)⟩.

For each such relation, we may also define a computable tree Trx consisting of the finite sequencesσ ∈ N<N such that for all proper initial subsequences τ ⊂ σ, ¬R(x, τ) holds. A leaf node in thistree thus corresponds to the first place for which R holds. It thus follows that an infinite path inTrx corresponds to a function f such that ∀y¬R(x, f(y)), which is in turn a witness to x /∈ A. Itthus follows that x ∈ A if and only if Trx is well-founded. Since it is straightforward to effectivelyenumerate computable trees, it is also not difficult to show the following:

Proposition 3.12. The set T of indices to well-founded computable trees is m-complete for theΠ1

1-definable sets – i.e. T ∈ Π11 and for all A ∈ Π1

1, A ≤m T .

Recalling that O denotes the set of natural numbers which are notations for ordinals in Kleene’sO, a related result is the following:

Proposition 3.13. O is Π11-complete.

It can then be shown using the Hierarchy Theorem 3.13 that neither T nor O is Σ11-definable. These

results provide the basis for an inductive analysis of the structure of ∆11- and Π1

1-definable sets interms of constructive ordinals which builds on Theorem 3.15 (Rogers, 1987, §16.4).

The foregoing results all pertain to the use of L2a -formulas to describe sets of natural numbers.

The initial steps connecting the analytical hierarchy to classical descriptive set theory are mediatedby considering formulas ϕ(X) which define subclasses X ⊆ P(N). In this case, A ∈ X may beidentified with the graph of its characteristic function χA(x) – i.e. as an infinite sequence whosenth element is 1 if n ∈ A and 0 if n /∈ A. In this way a formula ψ(X) with a single free set variablemay be understood as defining a subset of the Cantor space C = 2N consisting of all infinite 0-1sequences and a formula ψ(X) with X1, . . . ,Xk free as defining a subclass of 2N × . . . × 2N.

In descriptive set theory, a parallel sequence of topological definitions of subclasses of C is given inthe context of defining the Borel sets and projective sets. First recall that one means of defining atopology on C is to take as basic open sets all those functions f ∶ N→ {0,1} such that f(k) = σ forsome σ ∈ 2<N. The boldface Borel Hierarchy on C is now given by defining Σ0

1 to be the collectionof all open sets of C, Π0

n (for n ≥ 1) to be the set of all complements A of sets A ∈ Σ01, and Σ0

n+1 tobe the set of all countable unions ⋃i∈NAi where Ai ∈ Π0

n. (Thus Π01 denotes the set of closed sets,

Σ02 denotes the so-called Fσ sets, Π0

2 the Gδ sets, etc.) The union of these classes corresponds tothe boldface Borel sets B which may also be characterized as the smallest class of sets containingthe open sets of C which is closed under countable unions and complementation. The so-calledanalytic sets are defined to be the continuous images of the Borel sets and are denoted by Σ1

1 whilethe co-analytic sets are defined to be the complements of analytic sets and are denoted by Π1

1.Finally, ∆1

1 is used to denote the intersection of the analytic and co-analytic sets.

Addison observed (1958; 1959) that these classical definitions can be effectivized by restricting tocomputable unions in the definition of the Σ0

n sets. This leads to the so-called lightface version of

62

Page 63: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

the Borel hierarchy – customarily denoted using the same notations Σ0n and Π0

n used for the levelsof arithmetical hierarchy – and corresponding definitions of Σ1

1 (i.e. lightface analytic), Π11 (i.e.

lightface co-analytic) and ∆11 sets. In particular, this sequence of definitions suggests an analogy

between Theorem 3.15 and the following classical result of Suslin:

Theorem 3.16 (Suslin, 1917). The class of ∆11 sets is equal to the class of Borel sets B.

An effective form of Theorem 3.16 relating the ∆11 subsets of C to the lightface Borel sets repre-

sentable by computable codes can be obtained from Kleene’s original proof of Theorem 3.15 (see,e.g. Moschovakis, 2009a, §7B). Addison also showed that it is similarly possible to obtain an effec-tive version of Lusin’s Theorem (1927) – i.e. “any two disjoint analytic sets can be separated bya Borel set” – and Kondo’s theorem (1939) – i.e. “every Π1

1-relation set can be uniformized by aΠ1

1-relation”. See (Moschovakis, 2009a, §2E, §4E) and also (Simpson, 2009, §V.3, §VI.2)

4 Further reading

Historical surveys of the early development of recursive functions and computability theory areprovided by (Sieg, 2009), (Adams, 2011), and (Soare, 2016, §V). Many of the original sources dis-cussed in §1 are anthologized in (Davis, 1965), (van Heijenoort, 1967), and (Ewald, 1996). Textbookpresentation of computability theory at an elementary level include (Hopcroft and Ulman, 1979),(Cutland, 1980), and (Davis et al., 1994). The original textbook expositions of the material pre-sented in §2 and §3 (up to the formulation of Post’s problem) include (Kleene, 1952), (Shoenfield,1967), and (Rogers, 1987) (first edition 1967). The structure of the many-one and Turing Dergees ispresented in more advanced textbooks such as (Sacks, 1963a), (Shoenfield, 1971), (Hinman, 1978),(Soare, 1987), (Cooper, 2004), and (Soare, 2016). In addition to (Shoenfield, 1967, §7) and (Rogers,1987, §16), the classic treatment of the hyperarithmetical and analytical hierarchies is (Sacks, 1990).Classical and effective descriptive set theory are developed in (Moschovakis, 2009a) (first edition1980) and (Kechris, 1995). (Simpson, 2009) develops connections between computability theoryand Reverse Mathematics – i.e. the axiomatic study of subsystems of second-order arithmeticwhose ω-models may be characterized using computability theoretic methods. Treatment of sub-recursive hierarchies and connections to proof theory and theoretical computer science are providedby (Peter, 1967), (Rose, 1984), (Clote, 2002, §6-7), and (Schwichtenberg and Wainer, 2011). Manyof the historical and mathematical topics surveyed in this entry are presented in greater detail inthe two volumes of Odifreddi’s Classical Recursion Theory (1989; 1999a), which also contain manyadditional historical references.

63

Page 64: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Academic Tools

Other Internet Resources

Related Entries

Church, Alonzo ∣ The Church-Turing Thesis ∣ Computability and Complexity ∣ Combinatory Logic∣ Computational Complexity Theory ∣ Formal Learning Theory ∣ Godel’s Incompleteness Theorems∣ Godel, Kurt ∣ Hibert’s Program ∣ The Lambda Calculus ∣ Philosophy of Computer Science ∣Paradoxes and Contemporary Logic ∣ Proof Theory ∣ Randomness ∣ Reverse Mathematics ∣ SelfReference ∣ Turing, Alan ∣ Turing Machines

References

Ackermann, W., 1928, “Uber die Erfullbarkeit gewisser Zahlausdrucke”, Mathematische Annalen,100(1): 638–649.

Adams, R., 2011, An Early History of Recursive Functions and Computability: From Godel toTuring , Boston: Docent Press.

Addison, J., 1954, On some points of the theory of recursive functions, Ph.D. thesis, University ofWisconsin.

Addison, J., 1958, “Separation principles in the hierarchies of classical and effective descriptive settheory”, Fundamenta mathematicae, 46(2): 123–135.

Addison, J., 1959, “Some consequences of the axiom of constructibility”, Fundamenta Mathemati-cae, 46: 337–357.

Basu, S. and Simpson, S., 2016, “Mass problems and intuitionistic higher-order logic”, Computabil-ity , 5(1): 29–47.

Bimbo, K., 2012, Combinatory Logic: Pure, Applied and Typed , Boca Raton, Florida: Chapman &Hall.

Boolos, G., Jeffrey, R., and Burgess, J., 2007, Computability and logic, Cambridge: CambridgeUniversity Press, fifth ed.

Calude, C., Marcus, S., and Tevy, I., 1979, “The first example of a recursive function which is notprimitive recursive”, Historia Mathematica, 6(4): 380–384.

Church, A., 1936a, “A note on the Entscheidungsproblem”, The Journal of Symbolic Logic, 1(01):40–41.

Church, A., 1936b, “An unsolvable problem of elementary number theory”, American Journal ofMathematics, 58(2): 345–363.

64

Page 65: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Clote, P., 2002, Boolean functions and computation models, Berlin: Springer.

Cooper, S.B., 2004, Computability Theory , Boca Raton, Florida: Chapman and Hall.

Cutland, N., 1980, Computability: An introduction to recursive function theory , Cambridge: Cam-bridge University Press.

Davis, M. (ed.), 1965, The undecidable, New York: Raven Press.

Davis, M., 1982, “Why Godel didn’t have Church’s Thesis”, Information and control , 54(1-2):3–24.

Davis, M., Sigal, R., and Weyuker, E., 1994, Computation, Complexity, and Languages, Boston:Academic Press, second ed.

Dean, W., 2019, “Incompleteness via paradox and completeness”, The Review of Symbolic Logic,1–52, URL https://doi.org/10.1017/S1755020319000212.

Dedekind, R., 1888, Was sind und was sollen die Zahlen? , Braunschweig: Vieweg.

Enderton, H., 2010, Computability Theory: An Introduction to Recursion Theory , Burlington:Academic Press.

Epstein, R. and Carnielli, W., 2008, Computability Computable Functions, Logic, and the Founda-tions of Mathematics, Socorro, NM: Advance Reasoing Forum.

Ewald, W., 1996, From Kant to Hilbert: A Source Book in the Foundations of Mathematics., NewYork: Oxford University Press.

Ewald, W. and Sieg, W. (eds.), 2013, David Hilbert’s Lectures on the Foundations of Logic andArithmetic 1917 – 1933 , Berlin: Springer.

Feferman, S., 1995, “Turing in the land of O(z)”, in The Universal Turing Machine A Half-CenturySurvey , Rolf Herken, ed., Berln: Springer, 103–134.

Feferman, S. et al. (eds.), 1986, Kurt Godel Collected Works. Vol. I. Publications 1929-1936 ,Oxford: Oxford Univeristy Press.

Friedberg, R., 1957, “Two recursively enumerable sets of incomparable degrees of unsolvability(solution of post’s problem, 1944)”, Proceedings of the National Academy of Sciences, 43(2):236–238.

Gandy, R., 1980, “Church’s Thesis and principles for mechanisms”, in The Kleene Symposium,H.J. Keisler J. Barwise and K. Kunen, eds., Amsterdam: North Holland, vol. 101, 123–148.

Godel, K., 1931, “On formally undecidable propositions of Principia Mathematica and relatedsystems I”, Reprinted in Feferman et al. (1986), pp. 144-195.

Godel, K., 1934, “On undecidable propositions of formal mathematical systems”, Princeton lectures,reprinted in Feferman et al. (1986), pp. 338-371.

65

Page 66: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Grassmann, Hermann, 1861, Lehrbuch der Arithmetik fur hohere Lehranstalten, Berin: Th. Chr.Fr. Enslin.

Greibach, Sheila, 1975, Theory of program structures: schemes, semantics, verification, vol. 36 ofLecture Notes in Computer Science, Amsterdam: Springer.

Grzegorczyk, A., Mostowski, A., and Ryll-Nardzewski, C., 1958, “The Classical and the ω-CompleteArithmetic”, The Journal of Symbolic Logic, 23(2): pp. 188–206.

Grzegorczyk, Andrzej, 1953, “Some classes of recursive functions”, Rozprawy Matematyczne, 4:3–45.

Herbrand, Jacques, 1930, “Les Bases de la Logique Hilbertienne”, Revue de metaphysique et demorale, 37: 243–255.

Herbrand, Jacques, 1931, “Sur la non-contradiction de l’arithmetique”, J. Reine Angew. Math.,166: 1–8.

Hilbert, D., 1900, “Mathematische Probleme. Vortrag, gehalten auf dem internationalenMathematiker-Congress zu Paris 1900.”, Nachrichten von der Gesellschaft der Wissenschaftenzu Gottingen, Mathematisch-Physikalische Klasse, 253–297.

Hilbert, D., 1905, “Uber die grundlagen der logik und der arithmetik”, in Verhandlungen des 3.Internationalen Mathematiker-Kongresses : in Heidelberg vom 8. bis 13. August 1904 , Leipzig:Teubner, 174–185.

Hilbert, D., 1920, “Lectures on Logic ‘Logic-Kalkul’ (1920)”, reprinted in Ewald and Sieg (2013),pp. 298-377.

Hilbert, D., 1922, “Neubegrundung der Mathematik: Erste Mitteilung”, Abhandlungen aus demSeminar der Hamburgischen Universitat , 1: 157–77.

Hilbert, D., 1923, “Die logischen Grundlagen der Mathematik”, Mathematische Annalen, 88: 151–165.

Hilbert, D., 1926, “Uber der Unendliche”, Mathematische Annalen, 95: 161–190.

Hilbert, D., 1929, “Problems of the grounding of mathematics”, Mathematische Annalen, 102: 1–9.

Hilbert, D. and Ackermann, W., 1928, Grundzuge der theoretischen Logik , Springer, first ed.

Hilbert, D. and Bernays, P., 1934, Grundlagen der Mathematik , vol. I, Berlin: Springer. Secondedition 1968.

Hilbert, D. and Bernays, P., 1939, Grundlagen der Mathematik , vol. II, Berlin: Springer. Secondedition 1970.

Hinman, Peter, 1978, Recursion-theoretic hierarchies, Berlin: Springer.

Hopcroft, J. and Ulman, J., 1979, Introduction to Automata Theory, Languages and Computation,Reading, Massachusetts: Addison-Wesley.

66

Page 67: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Kaye, R., 1991, Models of Peano Arithmetic, vol. 15 of Oxford Logic Guides, Oxford: ClarendonPress.

Kechris, Alexander, 1995, Classical Descriptive Set Theory , Berlin: Springer.

Kleene, S., 1936, “General recursive functions of natural numbers”, Mathematische Annalen,112(1): 727–742.

Kleene, S., 1936), “λ-Definability and Recursiveness”, Duke Mathematical Journal , 2: 340–353.

Kleene, S., 1938, “On notation for ordinal numbers”, The Journal of Symbolic Logic, 3(4): pp.150–155.

Kleene, S., 1943, “Recursive predicates and quantifiers”, Transactions of the American Mathemat-ical Society , 53(1): 41–73.

Kleene, S., 1952, Introduction to Metamathematics, Amsterdam: North-Holland.

Kleene, S., 1955a, “Arithmetical predicates and function quantifiers”, Transactions of the AmericanMathematical Society , 79(2): 312–340.

Kleene, S., 1955b, “Hierarchies of number-theoretic predicates”, Bulletin of the American Mathe-matical Society , 61(3): 193–213.

Kleene, S., 1955c, “On the forms of the predicates in the theory of constructive ordinals (secondpaper)”, American journal of mathematics, 405–428.

Kleene, S.. and Post, E., 1954, “The upper semi-lattice of degrees of recursive unsolvability”, Annalsof Mathematics, 59(3): 379–407.

Kolmogorov, Andrei, 1932, “Zur Deutung der intuitionistischen Logik”, Mathematische Zeitschrift ,35(1): 58–65.

Kondo, Motokiti, 1939, “Sur l’uniformisation des complementaires analytiques et les ensemblesprojectifs de la seconde classe”, in Japanese journal of mathematics: transactions and abstracts,vol. 15, 197–230.

Kreisel, G. and Sacks, G., 1965, “Metarecursive sets”, Journal of Symbolic Logic, 318–338.

Kreisel, George, 1960, “La predicativite”, Bulletin de la Societe Mathematique de France, 88: 371–391.

Lachlan, A., 1966, “Lower bounds for pairs of recursively enumerable degrees”, Proceedings of theLondon Mathematical Society , 3(1): 537–569.

Lachlan, A., 1968, “Distributive initial segments of the degrees of unsolvability”, MathematicalLogic Quarterly , 14(30): 457–472.

Lachlan, A. and Soare, R., 1980, “Not every finite lattice is embeddable in the recursively enumer-able degrees”, Advances in Mathematics, 37(1): 74–82.

Lusin, N., 1927, “Sur les ensembles analytiques”, Fundamenta Mathematicae, 10(1): 1–95.

67

Page 68: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

McCarthy, J., 1963, “A basis for a mathematical theory of computation, preliminary report”, inPapers presented at the May 9-11, 1961, western joint IRE-AIEE-ACM computer conference,ACM, 225–238.

Medvedev, Y., 1955, “Degrees of difficulty of mass problems”, in Doklady Akademii Nauk SSSR,ns, vol. 104, 501–504.

Moschovakis, Y., 1994, Notes on Set Theory , Berlin: Springer.

Moschovakis, Y., 2009a, Descriptive set theory , Providence: American Mathematical Society, 2nded.

Moschovakis, Y., 2009b, “Kleene’s Amazing Second Recursion Theorem”, Bulletin of SymbolicLogic, 16(2): 189–239.

Moschovakis, Yiannis, 1989, “The formal language of recursion”, Journal of Symbolic Logic, 54(4):1216–1252.

Mostowski, A., 1946, “On definable sets of positive integers”, Fundamenta Mathematicae, 34(81-112).

Muchnik, A., 1956, “On the unsolvability of the problem of reducibility in the theory of algorithms”,Dokl. Akad. Nauk SSSR, 108(194-197): 1.

Myhill, J., 1955, “Creative sets”, Mathematical Logic Quarterly , 1(2): 97–108.

Odifreddi, P., 1989, Classical recursion theory. Vol. I , vol. 125 of Studies in Logic and the Foun-dations of Mathematics, Amsterdam: North-Holland.

Odifreddi, P., 1999a, Classical Recursion Theory. Vol. II , vol. 143 of Studies in Logic and theFoundations of Mathematics, Amsterdam: North-Holland.

Odifreddi, P., 1999b, “Reducibilities”, in Handbook of Computability Theory , Edward Griffor, ed.,Elsevier, vol. 140, 89–119.

Owings, J., 1973, “Diagonalization and the recursion theorem.”, Notre Dame Journal of FormalLogic, 14(1): 95–99.

Peano, G., 1889, Arithmetices principia, nova methodo exposita, Turin: Bocca.

Peirce, C., 1881, “On the logic of number”, American Journal of Mathematics, 4(1): 85–95.

Peter, R., 1932, “Rekursive funktionen”, in Verhandlungen des Internationalen Mathematiker-Kongresses Zurich, vol. 2, 336– 337.

Peter, R., 1935, “Konstruktion nichtrekursiver funktionen”, Mathematische Annalen, 111: 42–60.

Peter, R., 1935, “Uber den zusammenhang der verschiedenen begriffe der rekursiven funktion”,Mathematische Annalen, 110(1): 612–632.

Peter, R., 1959, “Rekursivitat und Konstruktivitat”, in Constructivity in mathematics, A. Heyting,ed., Noth-Holland, Amsterdam, 226–233.

68

Page 69: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Peter, R., 1967, Recursive Functions, New York: Academic Press.

Poincare, H., 1906, “Les mathematiques et la logique”, Revue de metaphysique et de morale, 14(3):294–317.

Post, E., 1944, “Recursively enummerable sets of postive integers and their decision problems”,Bulletin of the American Mathematical Society , 50: 284–316.

Priest, Graham, 1997, “On a paradox of Hilbert and Bernays”, Journal of philosophical logic, 26(1):45–56.

Putnam, H., 1965, “Trial and error predicates and the solution to a problem of Mostowski”, Journalof Symbolic Logic, 30(01): 49–57.

Rice, H., 1953, “Classes of recursively enumerable sets and their decision problems”, Transactionsof the American Mathematical Society , 74(2): 358–366.

Robinson, R., 1947, “Primitive recursive functions”, Bulletin of the American Mathematical Society ,53(10): 925–942.

Rogers, H., 1987, Theory of recursive functions and effective computability , Cambridge, Mas-sachusetts: MIT Press.

Rose, H., 1984, Subrecursion: functions and hierarchies, vol. 9 of Oxford Logic Guides, Oxford:Clarendon Press.

Sacks, G., 1963a, Degrees of Unsolvability , Princeton: Princeton University Press.

Sacks, G., 1963b, “On the degrees less than ∅′”, Annals of mathematics, 211–231.

Sacks, G., 1964, “The recursively enumerable degrees are dense”, Annals of Mathematics, SecondSeries, 80(2): 300–312.

Sacks, G., 1990, Higher Recursion Theory , Berlin: Springer.

Schwichtenberg, H. and Wainer, S., 2011, Proofs and computations, Cambridge: Cambridge Uni-versity Press.

Shepherdson, J and Sturgis, H, 1963, “Computability of recursive functions”, Journal of the ACM ,10(2): 217–255.

Shoenfield, J., 1959, “On degrees of unsolvability”, Annals of mathematics, 644–653.

Shoenfield, J., 1960, “Degrees of models”, The Journal of Symbolic Logic, 25(3): 233–237.

Shoenfield, J., 1967, Mathematical logic, vol. 21, Reading, Massachusetts: Addison-Wesley.

Shoenfield, J., 1971, Degrees of Unsolvability , Amsterdam: North-Holland.

Shore, R. and Slaman, T., 1999, “Defining the Turing jump”, Mathematical Research Letters,6(5/6): 711–722.

69

Page 70: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Sieg, W., 1994, “Mechanical procedures and mathematical experiences”, in Mathematics and Mind ,Oxford: Oxford University Press, 71–117.

Sieg, W., 1997, “Step by recursive step: Church’s analysis of effective calculability”, The Bulletinof Symbolic Logic, 3(2): 154–180.

Sieg, W., 2009, “On computability”, in Philosophy of mathematics, Andrew Irvine, ed., Amsterdam:North Holland, vol. 4 of Handbook of the philosophy of science, 549–630.

Sigler, L., 2003, Fibonacci’s Liber Abaci: a translation into modern English of Leonardo Pisano’sbook of calculation, Berlin: Springer.

Simpson, S., 1977, “First-Order Theory of the Degrees of Recursive Unsolvability”, Annals ofMathematics, 105(1): 121–139.

Simpson, S., 2009, Subsystems of second order arithmetic, Cambridge: Cambridge University Press,second ed.

Singh, P., 1985, “The so-called Fibonacci numbers in ancient and medieval India”, Historia Math-ematica, 12(3): 229–244.

Skolem, T., 1923, “Begriindung der elementaren arithmetik durch die rekurrierende denkweiseohne anwendung scheinbarer veranderlichen mit unendlichem ausdehnungsbereich”, Videnskaps-selskapets skrifter, I. Matematisk-naturvidenskabelig klasse, 6: 1–38.

Slaman, T., 2008, “Global properties of the Turing degrees and the Turing jump”, in Computationalprospects of infinity: Part I: Tutorials, C.T. Chong, Q. Feng, T. Slaman, H. Woodin, and Y. Yang,eds., Singapore: World Scientific, vol. 14, 83–101.

Soare, R., 1987, Recursively Enumerable Sets and Degrees, Berlin: Springer.

Soare, R., 1996, “Computability and recursion”, The Bulletin of Symbolic Logic, 2(3): 284–321.

Soare, R., 2016, Turing Computability: Theory and Applications, Berlin: Springer.

Spector, C., 1955, “Recursive well-orderings”, The Journal of Symbolic Logic, 20(2): 151–163.

Sudan, G., 1927, “Sur le nombre transfinite ωω”, Bulletin mathematique de la Societe Roumainedes Sciences, 30(1): 11–30.

Suslin, M., 1917, “Sur une definition des ensembles mesurables sans nombres transfinis”, ComptesRendus Acad. Sci. Paris, 164(2): 88–91.

Tait, W., 1981, “Finitism”, Journal of Philosophy , 78(9): 524–546.

Tarski, A., 1935, “Der Wahrheitsbegriff in den formalisierten Sprachen”, Studia philosophica, 1:261–405.

Tarski, A., Mostowski, A., and Robinson, R., 1953, Undecidable Theories, Studies in Logic and theFoundations of Mathematics, Amsterdam: North-Holland.

70

Page 71: Recursive Functions (Stanford Encyclopedia of Philosophy) · non-computability. This includes the so-called Recursion Theorem (Section 3.4), a result which highlights the centrality

Thomason, S., 1971, “Sublattices of the recursively enumerable degrees”, Mathematical Logic Quar-terly , 17(1): 273–280.

Turing, A., 1936, “On computable numbers, with an application to the Entscheidungsproblem”,Proceedings of the London mathematical society , 42(2): 230–265.

Turing, A., 1939, “Systems of logic based on ordinals”, Proceedings of the London MathematicalSociety , 2(1): 161–228.

van Heijenoort, Jean (ed.), 1967, From Frege to Godel : A Source Book in Mathematical Logic,1879-1931 , Cambridge, Massachusetts: Harvard University Press.

Wang, H., 1957, “The axiomatization of arithmetic”, The Journal of Symbolic Logic, 22(2): 145–158.

Whitehead, A. and Russell, B., 1910–1913, Principia Mathematica, Cambridge: Cambridge Uni-versity Press, first ed.

71