42 | Jack Copeland
Systematic methods
A systematic method—sometimes also called an eVective method and a mechan-
ical method—is any mathematical method of which all the following are true:
• the method can, in practice or in principle, be carried out by a human
computer working with paper and pencil;
• the method can be given to the human computer in the form of a Wnite
number of instructions;
• the method demands neither insight nor ingenuity on the part of the human
being carrying it out;
• the method will deWnitely work if carried out without error;
• the method produces the desired result in a Wnite number of steps; or, if the
desired result is some inWnite sequence of symbols (e.g. the decimal expan-
sion of p), then the method produces each individual symbol in the
sequence in some Wnite number of steps.
The term ‘systematic’ and its synonyms ‘eVective’ and ‘mechanical’ are terms
of art in mathematics and logic. They do not carry their everyday meanings. For
example: if some type of machine were able to solve the satisfactoriness problem,
the method it used would not be systematic or mechanical in this sense. (Turing
is sometimes said to have proved that no machine can solve the satisfactoriness
problem. This is not so. He demonstrates only that his idealized human com-
puters—Turing machines—cannot solve the satisfactoriness problem. This does
not in itself rule out the possibility that some other type of machine might be
able to solve the problem.66)
Turing sometimes used the expression rule of thumb in place of ‘systematic’. If this
expression is employed, the Church–Turing thesis becomes (Chapter 10, p. 414):
LCMs can do anything that could be described as ‘rule of thumb’ or ‘purely
mechanical’.
‘LCM’ stands for ‘logical computing machine’, a term that Turing seems to have
preferred to the (then current) ‘Turing machine’.
Section 9 of ‘On Computable Numbers’ contains a bouquet of arguments for
Turing’s thesis. The arguments are persuasive, but do not oVer the certainty
of mathematical proof. As Turing says wryly of a related thesis in Chapter 17
(p. 588): ‘The statement is . . . one which one does not attempt to prove. Propa-
ganda is more appropriate to it than proof.’
Additional arguments and other forms of evidence for the thesis amassed.
These, too, left matters short of absolute certainty. Nevertheless, before long it
was, as Turing put it, ‘agreed amongst logicians’ that his proposal gives the
66 See R. Gandy, ‘Church’s Thesis and Principles for Mechanisms’, in J. Barwise, H. J. Keisler, and K.
Kunen (eds.), The Kleene Symposium (Amsterdam: North-Holland, 1980).
Computable Numbers: A Guide | 43
‘correct accurate rendering’ of talk about systematic methods (Chapter 10,
p. 414).67 There have, however, been occasional dissenting voices over the years
(for example, Kalma´r and Pe´ter).68
The converse of the thesis
The converse of the Church–Turing thesis is:
Any number, or binary sequence, that can be computed by the universal
Turing machine can be calculated by means of a systematic method.
This is self-evidently true—the instruction table on the universal machine’s tape
is itself a speciWcation of a systematic method for calculating the number
or sequence in question. In principle, a human being equipped with paper
and pencil could work through the instructions in the table and write out the
digits of the number, or sequence, without at any time exercising ingenuity or
insight (‘in principle’ because we have to assume that the human does not throw
in the towel from boredom, die of old age, or use up every sheet of paper in the
universe).
Application of the thesis
The concept of a systematic method is an informal one. Attempts—such as the
above—to explain what counts as a systematic method are not rigorous, since the
requirement that the method demand neither insight nor ingenuity is left
unexplicated.
One of the most signiWcant achievements of ‘On Computable Numbers’—and
this was a large step in the development of the mathematical theory of compu-
tation—was to propose a rigorously deWned expression with which the informal
expression ‘by means of a systematic method’ might be replaced. The rigorously
deWned expression is, of course, ‘by means of a Turing machine’.
The importance of Turing’s proposal is this. If the proposal is correct—i.e. if
the Church–Turing thesis is true—then talk about the existence or non-existence
of systematic methods can be replaced throughout mathematics and logic by talk
about the existence or non-existence of Turing-machine programmes. For in-
stance, one can establish that there is no systematic method at all for doing such-
and-such a thing by proving that no Turing machine can do the thing in
question. This is precisely Turing’s strategy with the Entscheidungsproblem, as
explained in the next section.
67 There is a survey of the evidence in chapters 12 and 13 of S. C. Kleene, Introduction to Metamathe-
matics (Amsterdam: North-Holland, 1952).
68 L. Kalma´r, ‘An Argument against the Plausibility of Church’s Thesis’, R. Pe´ter, ‘Rekursivita¨t und
Konstruktivita¨t’; both in A. Heyting (ed.), Constructivity in Mathematics (Amsterdam: North-Holland,
1959).
44 | Jack Copeland
Church’s contribution
In 1935, on the other side of the Atlantic, Church had independently proposed a
diVerent way of replacing talk about systematic methods with formally precise
language (in a lecture given in April of that year and published in 1936).69 Turing
learned of Church’s work in the spring of 1936, just as ‘On Computable
Numbers’ was nearing completion (see the introduction to Chapter 4).
Where Turing spoke of numbers and sequences, Church spoke of mathemat-
ical functions. (x2 and x þ y are examples of mathematical functions. 4 is said to
be the value of the function x2 for x ¼ 2.) Corresponding to each computable
sequence S is a computable function fx (and vice versa). The value of fx for x ¼ 1
is the Wrst digit of S, for x ¼ 2, the second digit of S, and so on. In ‘On
Computable Numbers’ Turing said (p. 58): ‘Although the subject of this paper
is ostensibly the computable numbers, it is almost equally easy to deWne and
investigate computable functions . . . I have chosen the computable numbers for
explicit treatment as involving the least cumbrous technique.’
Church’s analysis was in terms of his and Stephen Kleene’s concept of a
lambda-deWnable function. A function of positive integers is said to be lambda-
deWnable if the values of the function can be calculated by a process of repeated
substitution.
Thus we have alongside Turing’s thesis
Church’s thesis: every function of positive integers whose values can be calcu-
lated by a systematic method is lambda-deWnable.
Although Turing’s and Church’s approaches are diVerent, they are nevertheless
equivalent, in the sense that every lambda-deWnable function is computable by
the universal machine and every function (or sequence) computable by the
universal machine is lambda-deWnable.70 Turing proved this in the Appendix
to ‘On Computable Numbers’ (added in August 1936).
The name ‘Church–Turing thesis’, now standard, seems to have been intro-
duced by Kleene, with a Xourish of bias in favour of his mentor Church: ‘So
Turing’s and Church’s theses are equivalent. We shall usually refer to them both
as Church’s thesis, or in connection with that one of its . . . versions which deals
with ‘‘Turing machines’’ as the Church-Turing thesis.’71
Although Turing’s and Church’s theses are equivalent in the logical sense, there
is nevertheless good reason to prefer Turing’s formulation. As Turing wrote in
1937: ‘The identiWcation of ‘‘eVectively calculable’’ functions with computable
69 Church, ‘An Unsolvable Problem of Elementary Number Theory’.
70 Equivalent, that is, if the computable functions are restricted to functions of positive integers. Turing’s
concerns were rather more general than Church’s, in that whereas Church considered only functions of
positive integers, Turing described his work as encompassing ‘computable functions of an integral variable
or a real or computable variable, computable predicates, and so forth’ (p. 58, below). Turing intended to
pursue the theory of computable functions of a real variable in a subsequent paper, but in fact did not do so.
71 S. C. Kleene, Mathematical Logic (New York: Wiley, 1967), 232.
Computable Numbers: A Guide | 45
functions is possibly more convincing than an identiWcation with the l-deWnable
[lambda-deWnable] or general recursive functions.’72 Church acknowledged the
point:
As a matter of fact, there is . . . equivalence of three diVerent notions: computability by a
Turing machine, general recursiveness in the sense of Herbrand–Go¨del–Kleene, and
l-deWnability in the sense of Kleene and [myself]. Of these, the Wrst has the advantage
of making the identiWcation with eVectiveness in the ordinary (not explicitly deWned)
sense evident immediately . . . The second and third have the advantage of suitability for
embodiment in a system of symbolic logic.73
The great Kurt Go¨del, it seems, was unpersuaded by Church’s thesis until he
saw Turing’s formulation. Kleene wrote:
According to a November 29, 1935, letter from Church to me, Go¨del ‘regarded as
thoroughly unsatisfactory’ Church’s proposal to use l-deWnability as a deWnition of
eVective calculability . . . It seems that only after Turing’s formulation appeared did
Go¨del accept Church’s thesis.74
Hao Wang reports Go¨del as saying: ‘We had not perceived the sharp concept of
mechanical procedures sharply before Turing, who brought us to the right
perspective.’75
Go¨del described Turing’s analysis of computability as ‘most satisfactory’ and
‘correct . . . beyond any doubt’.76 He also said: ‘the great importance of . . . Turing’s
computability . . . seems to me . . . largely due to the fact that with this concept
one has for the Wrst time succeeded in giving an absolute deWnition of an
interesting epistemological notion.’77
14. The Entscheidungsproblem
In Section 11 of ‘On Computable Numbers’, Turing turns to the Entscheidungs-
problem, or decision problem. Church gave the following deWnition of the
Entscheidungsproblem:
By the Entscheidungsproblem of a system of symbolic logic is here understood the problem
to Wnd an eVective method by which, given any expression Q in the notation of the system,
it can be determined whether or not Q is provable in the system.78
72 Turing, ‘Computability and l-DeWnability’, Journal of Symbolic Logic, 2 (1937), 153–63 (153).
73 Church’s review of ‘On Computable Numbers’ in Journal of Symbolic Logic, 43.
74 S. C. Kleene, ‘Origins of Recursive Function Theory’, Annals of the History of Computing, 3 (1981),
52–67 (59, 61).
75 H. Wang, From Mathematics to Philosophy (New York: Humanities Press, 1974), 85.
76 K. Go¨del, Collected Works, ed. S. Feferman et al., vol. iii (Oxford: Oxford University Press, 1995), 304,
168.
77 Ibid., vol. ii. (Oxford: Oxford University Press, 1990), 150.
78 Church, ‘A Note on the Entscheidungsproblem’, 41.
46 | Jack Copeland
The decision problem was brought to the fore of mathematics by the German
mathematician David Hilbert (who in a lecture given in Paris in 1900 set the
agenda for much of twentieth-century mathematics). In 1928 Hilbert described
the decision problem as ‘the main problem of mathematical logic’, saying that
‘the discovery of a general decision procedure is a very diYcult problem which is
as yet unsolved’, and that the ‘solution of the decision problem is of fundamental
importance’.79
The Hilbert programme
Hilbert and his followers held that mathematicians should seek to express
mathematics in the form of a complete, consistent, decidable formal system—a
system expressing ‘the whole thought content of mathematics in a uniform
way’.80 Hilbert drew an analogy between such a system and ‘a court of arbitra-
tion, a supreme tribunal to decide fundamental questions—on a concrete basis
on which everyone can agree and where every statement can be controlled’.81
Such a system would banish ignorance from mathematics: given any mathemat-
ical statement, one would be able to tell whether the statement is true or false by
determining whether or not it is provable in the system. As Hilbert famously
declared in his Paris lecture: ‘in mathematics there is no ignorabimus’ (there is no
we shall not know).82
It is important that the system expressing the ‘whole thought content of
mathematics’ be consistent. An inconsistent system—a system containing con-
tradictions—is worthless, since any statement whatsoever, true or false, can be
derived from a contradiction by simple logical steps.83 So in an inconsistent
79 D. Hilbert and W. Ackermann, Grundzu¨ge der Theoretischen Logik [Principles of Mathematical Logic]
(Berlin: Julius Springer, 1928), 73, 77.
80 D. Hilbert, ‘The Foundations of Mathematics’ (English translation of a lecture given in Hamburg in
1927, entitled ‘Die Grundlagen der Mathematik’), in J. van Heijenoort (ed.), From Frege to Go¨del: A Source
Book in Mathematical Logic, 1879–1931 (Cambridge, Mass.: Harvard University Press, 1967), 475.
81 D. Hilbert, ‘U¨ ber das Unendliche’ [On the InWnite], Mathematische Annalen, 95 (1926), 161–90 (180);
English translation by E. Putnam and G. Massey in R. L. Epstein and W. A. Carnielli, Computability: Computable
Functions, Logic, and the Foundations of Mathematics (2nd edn. Belmont, Calif.: Wadsworth, 2000).
82 D. Hilbert, ‘Mathematical Problems: Lecture Delivered before the International Congress of Mathem-
aticians at Paris in 1900’, Bulletin of the American Mathematical Society, 8 (1902), 437–79 (445).
83 To prove an arbitrary statement from a contradiction P & not P, one may use the following rules of
inference (see further pp. 49–52, below):
(a) not P ‘ not (P & X)
(b) P & not (P & X) ‘ not X.
Rule (a) says: from the statement that it is not the case that P, it can be inferred that not both P and X are the
case—i.e. inferred that one at least of P and X is not the case—where X is any statement that you please.
Rule (b) says: given that P is the case and that not both P and X are the case, it can be inferred that X is not
the case. Via (a), the contradiction ‘P & not P’ leads to ‘not (P & X)’; and since the contradiction also oVers
us P, we may then move, via (b), to ‘not X’. So we have deduced an arbitrary statement, ‘not X’, from the
contradiction. (To deduce simply X, replace X in (a) and (b) by ‘not X’, and at the last step use the rule saying
that two negations ‘cancel out’: not not X ‘ X.)
Computable Numbers: A Guide | 47
system, absurdities such as 0 ¼ 1 and 6 6¼ 6 are provable. An inconsistent system
would indeed contain all true mathematical statements—would be complete,
in other words—but would in addition also contain all false mathematical
statements!
Hilbert’s requirement that the system expressing the whole content of math-
ematics be decidable amounts to this: there must be a systematic method for
telling, of each mathematical statement, whether or not the statement is provable
in the system. If the system is to banish ignorance totally from mathematics then
it must be decidable. Only then could we be conWdent of always being able to tell
whether or not any given statement is provable. An undecidable system might
sometimes leave us in ignorance.
The project of expressing mathematics in the form of a complete, consistent,
decidable formal system became known as ‘proof theory’ and as the ‘Hilbert
programme’. In 1928, in a lecture delivered in the Italian city of Bologna,
Hilbert said:
In a series of presentations in the course of the last years I have . . . embarked upon a new
way of dealing with fundamental questions. With this new foundation of mathematics,
which one can conveniently call proof theory, I believe the fundamental questions in
mathematics are Wnally eliminated, by making every mathematical statement a concretely
demonstrable and strictly derivable formula . . .
[I]n mathematics there is no ignorabimus, rather we are always able to answer meaningful
questions; and it is established, as Aristotle perhaps anticipated, that our reason involves
no mysterious arts of any kind: rather it proceeds according to formulable rules that are
completely deWnite—and are as well the guarantee of the absolute objectivity of its
judgement.84
Unfortunately for the Hilbert programme, however, it was soon to become
clear that most interesting mathematical systems are, if consistent, incomplete
and undecidable.
In 1931, Go¨del showed that Hilbert’s ideal is impossible to satisfy, even in the
case of simple arithmetic.85 He proved that the formal system of arithmetic set
out by Whitehead and Russell in their seminal Principia Mathematica86 is, if
consistent, incomplete. That is to say: if the system is consistent, there are true
84 D. Hilbert, ‘Probleme der Grundlegung der Mathematik’ [Problems Concerning the Foundation of
Mathematics], Mathematische Annalen, 102 (1930), 1–9 (3, 9). Translation by Elisabeth NorcliVe.
85 K. Go¨del, ‘U¨ ber formal unentscheidbare Sa¨tze der Principia Mathematica und verwandter Systeme I.’
[On Formally Undecidable Propositions of Principia Mathematica and Related Systems I], Monatshefte fu¨r
Mathematik und Physik, 38 (1931), 173–98. English translation in M. Davis (ed.), The Undecidable: Basic
Papers on Undecidable Propositions, Unsolvable Problems and Computable Functions (New York: Raven,
1965), 5–38.
86 A. N. Whitehead and B. Russell, Principia Mathematica, vols. i–iii (Cambridge: Cambridge University
Press, 1910–13).
48 | Jack Copeland
statements of arithmetic that are not provable in the system—the formal system
fails to capture the ‘whole thought content’ of arithmetic. This is known as
Go¨del’s Wrst incompleteness theorem.
Go¨del later generalized this result, pointing out that ‘due to A. M. Turing’s
work, a precise and unquestionably adequate deWnition of the general concept
of formal system can now be given’, with the consequence that incomplete-
ness can ‘be proved rigorously for every consistent formal system containing a
certain amount of Wnitary number theory’.87 The deWnition made possible
by Turing’s work is this (in Go¨del’s words): ‘A formal system can simply be
deWned to be any mechanical procedure for producing formulas, called provable
formulas.’88
In his incompleteness theorem, Go¨del had shown that no matter how hard
mathematicians might try to construct the all-encompassing formal
system envisaged by Hilbert, the product of their labours would, if consistent,
inevitably be incomplete. As Hermann Weyl—one of Hilbert’s greatest pupils—
observed, this was nothing less than ‘a catastrophe’ for the Hilbert pro-
gramme.89
Decidability
Go¨del’s theorem left the question of decidability open. As Newman summarized
matters:
The Hilbert decision-programme of the 1920’s and 30’s had for its objective the discovery
of a general process . . . for deciding . . . truth or falsehood . . . A Wrst blow was dealt at the
prospects of Wnding this new philosopher’s stone by Go¨del’s incompleteness theorem
(1931), which made it clear that truth or falsehood of A could not be equated to
provability of A or not-A in any Wnitely based logic, chosen once for all; but there still
remained in principle the possibility of Wnding a mechanical process for deciding whether
A, or not-A, or neither, was formally provable in a given system.90
The question of decidability was tackled head on by Turing and, independently,
by Church.
On p. 84 of ‘On Computable Numbers’ Turing pointed out—by way of a
preliminary—a fact that Hilbertians appear to have overlooked: if a system is
complete then it follows that it is also decidable. Bernays, Hilbert’s close collabor-
ator, had said: ‘One observes that [the] requirement of deductive completeness
87 Go¨del, ‘Postscriptum’, in Davis, The Undecidable: Basic Papers on Undecidable Propositions, Unsolvable
Problems and Computable Functions, 71–3 (71); the Postscriptum, dated 1964, is to Go¨del’s 1934 paper ‘On
Undecidable Propositions of Formal Mathematical Systems’ (ibid. 41–71).
88 Ibid. 72.
89 H. Weyl, ‘David Hilbert and his Mathematical Work’, Bulletin of the American Mathematical Society, 50
(1944), 612–54 (644).
90 M. H. A. Newman, ‘Alan Mathison Turing, 1912–1954’, Biographical Memoirs of Fellows of the Royal
Society, 1 (1955), 253–63 (256).
Computable Numbers: A Guide | 49
does not go as far as the requirement of decidability.’91 Turing’s simple argument
on p. 84 shows that there is no conceptual room for the distinction that Bernays
is claiming.
Nevertheless, the crucial question was still open: given that in fact simple
arithmetic is (if consistent) incomplete, is it or is it not decidable? Turing and
Church both showed that no consistent formal system of arithmetic is decidable.
They showed this by proving that not even the functional calculus—the weaker,
purely logical system presupposed by any formal system of arithmetic—is decid-
able. The Hilbertian dream of a completely mechanized mathematics now lay in
total ruin.
A tutorial on first-order predicate calculus
What Turing called the functional calculus (and Church, following Hilbert, the
engere Funktionenkalku¨l ) is today known as Wrst-order predicate calculus (FOPC).
FOPC is a formalization of deductive logical reasoning.
There are various diVerent but equivalent ways of formulating FOPC. One
formulation presents FOPC as consisting of about a dozen formal rules of infer-
ence. (This formulation, which is more accessible than the Hilbert–Ackermann
formulation mentioned by Turing on p. 84, is due to Gerhard Gentzen.92)
The following are examples of formal rules of inference. The symbol ‘‘’
indicates that the statement following it can be concluded from the statements
(or statement) displayed to its left, the premisses.
(i) X, if X then Y ‘ Y
(ii) X and Y ‘ X
(iii) X, Y ‘ X and Y
So if, for example, ‘X ’ represents ‘It is sunny’ and ‘Y’ represents ‘We will go for a
picnic’, (i) says:
‘We will go for a picnic’ can be concluded from the premisses ‘It is sunny’ and
‘If it is sunny then we will go for a picnic’.
(ii) says:
‘It is sunny’ can be concluded from the conjunctive premiss ‘It is sunny and we
will go for a picnic’.
Turing uses the symbol ‘!’ to abbreviate ‘if then’ and the symbol ‘&’ to
abbreviate ‘and’. Using this notation, (i)–(iii) are written:
91 P. Bernays, ‘Die Philosophie der Mathematik und die Hilbertsche Beweistheorie’ [The Philosophy of
Mathematics and Hilbert’s Proof Theory], Bla¨tter fu¨r Deutsche Philosophie, 4 (1930/1931), 326–67. See also
H. Wang, ReXections on Kurt Go¨del (Cambridge, Mass.: MIT Press, 1987), 87–8.
92 G. Gentzen, ‘Investigations into Logical Deduction’ (1934), in The Collected Papers of Gerhard Gentzen,
ed. M. E. Szabo (Amsterdam: North-Holland, 1969).
50 | Jack Copeland
(i) X, X ! Y ‘ Y
(ii) X & Y ‘ X
(iii) X, Y ‘ X & Y
Some more rules of the formal calculus are as follows. a represents any object,
F represents any property:
(iv) a has property F ‘ there is an object that has property F
(v) each object has property F ‘ a has property F
In Turing’s notation, in which ‘a has property F ’ is abbreviated ‘F(a)’, these are
written:
(iv) F(a) ‘ (9x)F(x)
(v) (x)F(x) ‘ F(a)
‘(9x)’ is read: ‘there is an object (call it x) which . . .’. So ‘(9x)F(x)’ says ‘there is
an object, call it x, which has property F ’. ‘(x)’ is read: ‘each object, x, is such that
. . .’. So ‘(x)F(x)’ says ‘each object, x, is such that x has property F ’.
Set out in full, FOPC contains not only rules like (i)–(v) but also several rules
leading from statements containing ‘‘’ to other statements containing ‘‘’. One
such rule is the so-called ‘cut rule’, used in moving from lines (2) and (3) to (4)
in the proof below.
Turing calls ‘(9x)’ and ‘(x)’ quantors; the modern term is quantiWers. A
symbol, such as ‘F ’, that denotes a property is called a predicate. Symbols
denoting relationships, for example ‘<’ (less than) and ‘¼’ (identity), are also
classed as predicates. The symbol ‘x’ is called a variable.
(FOPC is Wrst-order in the sense that the quantiWers of the calculus always
involve variables that refer to individual objects. In second-order predicate calcu-
lus, on the other hand, the quantiWers can contain predicates, as in ‘(9F)’. The
following are examples of second-order quantiWcation: ‘Jules and Jim have some
properties in common,’ ‘Each relationship that holds between a and b also holds
between c and d.’)
Using the dozen or so basic rules of FOPC, more complicated rules of
inference can be proved as theorems (‘provable formulas’) of FOPC. For example:
Theorem (x)(G(x) ! H(x)), G(a) ‘ (9x)H(x)
This theorem says: ‘There is an object that has property H ’ can be concluded
from the premisses ‘Each object that has property G also has property H ’ and ‘a
has property G’.
The proof of the theorem is as follows:
(1) (x)(G(x) ! H(x)) ‘ G(a) ! H(a) (rule (v))
(2) G(a), (G(a) ! H(a)) ‘ H(a) (rule (i))
(3) H(a) ‘ (9x)H(x) (rule (iv))
(4) G(a), (G(a) ! H(a)) ‘ (9x)H(x) (from (2) and (3) by the cut rule)
Computable Numbers: A Guide | 51
(5) (x)(G(x) ! H(x)), G(a) ‘ (9x)H(x)
(from (1) and (4) by the cut rule)
The cut rule (or rule of transitivity) says in eVect that whatever can be con-
cluded from a statement Y (possibly in conjunction with additional premisses P)
can be concluded from any premiss(es) from which Y can be concluded (together
with the additional premisses P, if any). For example, if Y ‘ Z and X ‘ Y ,
then X ‘ Z. In the transition from (1) and (4) to (5), the additional premiss
G(a) in (4) is gathered up and placed among the premisses of (5).
So far we have seen how to prove further inference rules in FOPC. Often
logicians are interested in proving not inference rules but single statements
unbroken by commas and ‘‘’. An example is the complex statement
not (F(a) & not (9x)F(x)),
which says ‘It is not the case that both F(a) and the denial of (9x)F(x) are true’; or in
other words, you are not going to Wnd F(a) true without Wnding (9x)F(x) true.
To say that a single statement, as opposed to an inference rule, is provable in
FOPC is simply to say that the result of preWxing that statement by ‘‘’ can be
derived by using the rules of the calculus. Think of a ‘‘’ with no statements on its
left as indicating that the statement on its right is to be concluded as a matter of
‘pure logic’—no premisses are required.
For example, the theorem
‘ not (F(a) & not (9x)F(x))
can be derived using rule (iv) and the following new rule.93
X ‘Y
‘ not (X & not Y )
This rule is read:
If Y can be concluded from X, then it can be concluded that not both X and the
denial of Y are true.
Much of mathematics and science can be formulated within the framework of
FOPC. For example, a formal system of arithmetic can be constructed by adding
a number of arithmetical axioms to FOPC. The axioms consist of very basic
arithmetical statements, such as:
(x)(x þ 0 ¼ x)
and
(x)(y)(Sx ¼ Sy ! x ¼ y),
93 In Gentzen’s system this rule can itself be derived from the basic rules. It should be mentioned that in
the full system it is permissible to write any finite number of statements (including zero) on the right hand
side of ‘‘’.
52 | Jack Copeland
where ‘S’ means ‘the successor of ’—the successor of 1 is 2, and so on. (In these
axioms the range of the variables ‘x’ and ‘y’ is restricted to numbers.) Other
arithmetical statements can be derived from these axioms by means of the rules
of FOPC. For example, rule (v) tells us that the statement
1þ0¼1
can be concluded from the Wrst of the above axioms.
If FOPC is undecidable then it follows that arithmetic is undecidable. Indeed, if
FOPC is undecidable, then so are very many important mathematical systems. To
Wnd decidable logics one must search among systems that are in a certain sense
weaker than FOPC. One example of a decidable logic is the system that results if all
the quantiWer rules—rules such as (iv) and (v)—are elided from FOPC. This
system is known as the propositional calculus.
The proof of the undecidability of FOPC
Turing and Church showed that there is no systematic method by which, given any
formula Q in the notation of FOPC, it can be determined whether or not Q is
provable in the system (i.e. whether or not ‘ Q). To put this another way, Church
and Turing showed that the Entscheidungsproblem is unsolvable in the case of FOPC.
Both published this result in 1936.94 Church’s demonstration of undecidability
proceeded via his lambda calculus and his thesis that to each eVective method
there corresponds a lambda-deWnable function. There is general agreement that
Turing was correct in his view, mentioned above (p. 45), that his own way of
showing undecidability is ‘more convincing’ than Church’s.
Turing’s method makes use of his proof that no computing machine can solve
the printing problem. He showed that if a Turing machine could tell, of any
given statement, whether or not the statement is provable in FOPC, then a
Turing machine could tell, of any given Turing machine, whether or not it
ever prints ‘0’. Since, as he had already established, no Turing machine can do
the latter, it follows that no Turing machine can do the former. The Wnal step of
the argument is to apply Turing’s thesis: if no Turing machine can perform the
task in question, then there is no systematic method for performing it.
94 In a lecture given in April 1935—the text of which was printed the following year as ‘An Unsolvable
Problem of Elementary Number Theory’ (a short ‘Preliminary report’ dated 22 Mar. 1935 having appeared in
the Bulletin of the American Mathematical Society (41 (1935), 332–3) )—Church proved the undecidability of a
system that includes FOPC as a part. This system is known as Principia Mathematica, or PM, after the treatise in
which it was Wrst set out (see n. 86). PM is obtained by adding mathematical axioms to FOPC. Church
established the conditional result that if PM is omega-consistent, then PM is undecidable. Omega-consistency
(Wrst deWned by Go¨del) is a stronger property than consistency, in the sense that a consistent system is not
necessarily omega-consistent. As explained above, a system is consistent when there is no statement S such that
both S and not-S are provable in the system. A system is omega-consistent when there is no predicate F of
integers such that all the following are provable in the system: (9x)F(x), not-F(1), not-F(2), not-F(3), and
so on, for every integer. In his later paper ‘A Note on the Entscheidungsproblem’ (completed in April 1936)
Church improved on this earlier result, showing unconditionally that FOPC is undecidable.
Computable Numbers: A Guide | 53
In detail, Turing’s demonstration contains the following steps.
1. Turing shows how to construct, for any computing machine m, a compli-
cated statement of FOPC that says ‘at some point, machine m prints 0’. He
calls this formula ‘Un(m)’. (The letters ‘Un’ probably come from ‘undecid-
able’ or the German equivalent ‘unentscheidbare’.)
2. Turing proves the following:
(a) If Un(m) is provable in FOPC, then at some point m prints 0.
(b) If at some point m prints 0, then Un(m) is provable in FOPC.
3. Imagine a computing machine which, when given any statement Q in the
notation of FOPC, is able to determine (in some Wnite number of steps)
whether or not Q is provable in FOPC. Let’s call this machine h il b e r t’s
d r e a m . 2(a) and 2(b) tell us that h i l b e r t’s dr e am would solve the
printing problem. Because if the machine were to indicate that Un(m)
is provable then, in view of 2(a), it would in eVect be indicating that m does
print 0; and if the machine were to indicate that the statement Un(m) is
not provable then, in view of 2(b), it would in eVect be indicating that m
does not print 0. Since no computing machine can solve the printing
problem, it follows that h i l b e r t’s d r e a m is a Wgment. No computing
machine is able to determine in some Wnite number of steps, of each statement
Q, whether or not Q is provable in FOPC.
4. If there were a systematic method by which, given any statement Q, it can
be determined whether or not Q is provable in FOPC, then it would follow,
by Turing’s thesis, that there is such a computing machine as h i l b e r t’s
d r e a m . Therefore there is no such systematic method.
The significance of undecidability
Poor news though the unsolvability of the Entscheidungsproblem was for the
Hilbert school, it was very welcome news in other quarters, for a reason that
Hilbert’s illustrious pupil von Neumann had given in 1927:
If undecidability were to fail then mathematics, in today’s sense, would cease to exist; its
place would be taken by a completely mechanical rule, with the aid of which any man would
be able to decide, of any given statement, whether the statement can be proven or not.95
As the Cambridge mathematician G. H. Hardy said in a lecture in 1928: ‘if
there were . . . a mechanical set of rules for the solution of all mathematical
problems . . . our activities as mathematicians would come to an end.’96
95 J. von Neumann, ‘Zur Hilbertschen Beweistheorie’ [On Hilbert’s Proof Theory], Mathematische
Zeitschrift, 26 (1927), 1–46 (12); reprinted in vol. i of von Neumann’s Collected Works, ed. A. H. Taub
(Oxford: Pergamon Press, 1961).
96 G. H. Hardy, ‘Mathematical Proof ’, Mind, 38 (1929), 1–25 (16) (the text of Hardy’s 1928 Rouse Ball
Lecture).
54 | Jack Copeland
Further reading
Barwise, J., and Etchemendy, J., Turing’s World: An Introduction to Computability Theory
(Stanford, Calif.: CSLI, 1993). (Includes software for building and displaying Turing
machines.)
Boolos, G. S., and JeVrey, R. C., Computability and Logic (Cambridge: Cambridge Univer-
sity Press, 2nd edn. 1980).
Copeland, B. J., ‘Colossus and the Dawning of the Computer Age’, in R. Erskine and
M. Smith (eds.), Action This Day (London: Bantam, 2001).
Epstein, R. L., and Carnielli, W. A., Computability: Computable Functions, Logic, and the
Foundations of Mathematics (Belmont, Calif.: Wadsworth, 2nd edn. 2000).
Hopcroft, J. E., and Ullman, J. D., Introduction to Automata Theory, Languages, and Comput-
ation (Reading, Mass.: Addison-Wesley, 1979).
Minsky, M. L., Computation: Finite and InWnite Machines (Englewood CliVs, NJ: Prentice-
Hall, 1967).
Sieg, W., ‘Hilbert’s Programs: 1917–1922’, Bulletin of Symbolic Logic, 5 (1999), 1–44.
Sipser, M., Introduction to the Theory of Computation (Boston: PWS, 1997).
Appendix
Subroutines and M-Functions97
Section 3 of this guide gave a brief introduction to the concept of a skeleton table, where
names of subroutines are employed in place of letters referring to states of the machine.
This appendix explains the associated idea of an m-function, introduced by Turing on
p. 63. m-functions are subroutines with parameters—values that are plugged into the
subroutine before it is used.
The example of the ‘Wnd’ subroutine f makes this idea clear. The subroutine f(A, B, x) is
deWned in Section 3 (Tables 2 and 3). Recall that f(A, B, x) Wnds the leftmost x on the tape
and places the machine in A, leaving the scanner resting on the x ; or if no x is found,
places the machine in B and leaves the scanner resting on a blank square to the right of the
used portion of the tape. ‘A’, ‘B’, and ‘x’ are the parameters of the subroutine. Parameter ‘x’
may be replaced by any symbol (of the Turing machine in question). Parameters ‘A’ and
‘B’ may be replaced by names of states of the machine. Alternatively, Turing permits ‘A’
and ‘B’ (one or both) to be replaced by a name of a subroutine. For example, replacing ‘A’
by the subroutine name ‘e1(C)’ produces:
f(e1(C), B, x)
This says: Wnd the leftmost x, let the scanner rest on it, and go into subroutine e1(C); or, if
there is no x, go into B (leaving the scanner resting on a blank square to the right of the
used portion of the tape).
The subroutine e1(C) simply erases the scanned square and places the machine in C,
leaving the scanner resting on the square that has just been erased. (‘C ’ is another
parameter of the same type as ‘A’ and ‘B’.) Thus the subroutine f(e1(C), B, x) Wnds
97 By Andre´s Sicard and Jack Copeland.
Computable Numbers: A Guide | 55
the leftmost occurrence of the symbol x and erases it, placing the machine in C and leaving
the scanner resting on the square that has just been erased (or if no x is found, leaves the
scanner resting on a blank square to the right of the used portion of the tape and places
the machine in B). Since in this case nothing turns on the choice of letter, the name of the
subroutine may also be written ‘f(e1(A), B, x)’.
The subroutine f(e1(A), B, x) is one and the same as the subroutine e(A, B, x) (Section
3). The new notation exhibits the structure of the subroutine.
More examples of m-functions are given below. While the use of m-functions is not
strictly necessary for the description of any Turing machine, m-functions are very useful in
describing large or complex Turing machines. This is because of the possibilities they oVer
for generalization, reusability, simpliWcation, and modularization. Generalization is
achieved because tasks of a similar nature can be done by a single m-function, and
modularization because a complex task can be divided into several simpler m-functions.
SimpliWcation is obtained because the language of m-functions submerges some of the
detail of the language of instruction-words—i.e. words of the form qiSjSkMq1—so produ-
cing transparent descriptions of Turing machines. Reusability arises simply because we can
employ the same m-function in diVerent Turing machines.
Although it is diYcult (if not impossible) to indicate the exact role that Turing’s
concept of an m-function played in the development of today’s programming languages,
it is worth emphasizing that some characteristics of m-functions are present in the
subroutines of almost all modern languages. Full use was made of the idea of parametrized
subroutines by Turing and his group at the National Physical Laboratory as they pioneered
the science of computer programming during 1946. A contemporary report (by Huskey)
outlining Turing’s approach to programming said the following:
The fact that repetition of subroutines require[s] large numbers of orders has led to the
abbreviated code methods whereby not only standard orders are used but special words
containing parameters are converted into orders by an interpretation table. The general idea
is that these describe the entries to subroutines, the values of certain parameters in the
subroutine, how many times the subroutine is to be used, and where to go after the
subroutine is Wnished.98
Rather than give a formal deWnition of an m-function we present a series of illustrative
examples.
First, some preliminaries. An alphabet A is some set of symbols, for example {-, 0, 1, 2},
and a word of alphabet A is a Wnite sequence of non-blank symbols of A. The blank symbol,
represented ‘-’, is used to separate diVerent words on the tape and is part of the alphabet, but
never occurs within words. The following examples all assume that, at the start of operation,
there is a single word w of the alphabet on an otherwise blank tape, with the scanner
positioned over any symbol of w. The symbols of w are written on adjacent squares, using
both E-squares and F-squares, and w is surrounded by blanks (some of the examples require
there to be at least one blank in front of w and at least three following w).
98 H. D. Huskey, untitled typescript, National Physical Laboratory, n.d. but c. Mar. 1947 (in the Woodger
Papers, National Museum of Science and Industry, Kensington, London (catalogue reference M12/105); a
digital facsimile is in The Turing Archive for the History of Computing <www.AlanTuring.net/
huskey_1947>).
56 | Jack Copeland
Let M be a Turing machine with alphabet A ¼ {-, 0, 1, 2}. The following instructions result
in M printing the symbol ‘1’ at the end of w, replacing the Wrst blank to the right of w:
q100Rq1, q111Rq1, q122Rq1, q1-1Nq2
The Wrst three instructions move the scanner past the symbols ‘0’, ‘1’, and ‘2’, and once the
scanner arrives at the Wrst blank square to the right of w, the fourth instruction prints ‘1’
(leaving M in state q2).
If the symbols ‘3’, ‘4’, . . . , ‘9’ are added to the alphabet, so A ¼ f-, 0, 1, :::, 9g, then the
necessary instructions for printing ‘1’ at the end of w are lengthier:
q100Rq1, q111Rq1, . . . , q199Rq1, q1-1Nq2
The m-function add(S, a) deWned by Table 4 carries out the task of printing one symbol
‘a’ at the end of any word w of any alphabet (assuming as before that the machine starts
operating with the scanner positioned over one or another symbol of w and that w is
surrounded by blanks).
Table 4 is the skeleton table for the m-function add(S, a). (Skeleton tables are like tables
of instructions but with some parameters to be replaced by concrete values.) Table 4 has
two parameters, ‘a’ and ‘S’. The second parameter ‘S’ is to be replaced by the state or
m-function into which the machine is to go once add(S, a) completes its operation, and
the Wrst parameter ‘a’ is to be replaced by whatever symbol it is that we wish to be printed
at the end of the word.
Both sets of instruction-words shown above can now be replaced by a simple call to the
m-function add(S, a), where S ¼ q2 and a ¼ 1.
If instead of adding ‘1’ at the end of a word from alphabet A ¼ {-, 0, 1, . . . , 9}, we
wanted to add a pair of symbols ‘5’ and ‘4’, then the instruction-words would be:
q100Rq1, q111Rq1, . . . , q199Rq1, q1-5Rq2, q2-4Nq3
These instruction-words can be replaced by the m-function add(add(q3, 4), 5). This m-
function Wnds the end of the word and writes ‘5’, going into m-function add(q3, 4), which
writes ‘4’ and ends in state q3.
Another example: suppose that ‘5’ and ‘4’ are to be printed as just described, and then
each occurrence of the symbol ‘3’ is to be replaced by ‘4’. The m-function
add(add(change(qn, 3, 4), 4), 5) carries out the required task, where the m-function
change(S, a, b) is deWned by Table 5. The m-function change1(S, a, b) is a subroutine
inside the m-function change(S, a, b).
m-functions can employ internal variables. Although internal variables are not strictly
necessary, they simplify an m-function’s description. Internal variables are not parameters
of the m-function—we do not need to replace them with concrete values before the m-
function is used. In the following example, the internal variable ‘d’ refers to whatever symbol
is present on the scanned square when the machine enters the m-function repeat1(S).
Suppose we wish to print a repetition of the Wrst symbol of w at the end of w. This can
be achieved by the m-function repeat(S) deWned by Table 5. (The m-function add(S, d) is
as given by Table 4.)
Every m-function has the form: name(S1, S2, . . . , Sn, a1, a2, . . . , am), where
S1, S2, . . . , Sn refer either to states or to m-functions, and a1, a2, . . . , am denote sym-
bols. Each m-function is a Turing machine with parameters. To convert an m-function’s
Computable Numbers: A Guide | 57
Table 4 Scanned Square Operations Next State
State not - R add(S, a)
- P[a] S
add(S, a)
add(S, a)
Table 5 Scanned Square Operations Next State
State not - L change(S, a, b)
- R change1(S, a, b)
change(S, a, b) a P[b], R change1(S, a, b)
change(S, a, b) not a R change1(S, a, b)
change1(S, a, b) - L S
change1(S, a, b)
change1(S, a, b)
Table 6 Scanned Square Operations Next State
State not - L repeat(S)
- R repeat1(S)
repeat(S) d add(S, d)
repeat(S)
repeat1(S)
skeleton table to a Turing-machine instruction table, where each row is an instruction-
word of the form qiSjSkMq1, it is necessary to know the context in which the m-function
is to be used, namely, the underlying Turing machine’s alphabet and states. It is necessary
to know the alphabet because of the use in skeleton tables of expressions such as ‘does not
contain !’, ‘not a’, ‘neither a nor -’, ‘any’. Knowledge of the underlying machine’s states is
necessary to ensure that the m-function begins and ends in the correct state.
The economy eVected by m-functions is illustrated by the fact that if the m-functions
are eliminated from Turing’s description of his universal machine, nearly 4,000
instruction-words are required in their place.99
99 A. Sicard, ‘Ma´quinas de Turing dina´micas: historia y desarrollo de una idea’ [Dynamic Turing
Machines: Story and Development of an Idea], appendix 3 (Master’s thesis, Universidad EAFIT, 1998);
‘Ma´quina universal de Turing: algunas indicaciones para su construccio´ n’ [The Universal Turing Machine:
Some Directions for its Construction], Revista Universidad EAFIT, vol. 108 (1998), pp. 61–106.
CHAPTER 1
On Computable Numbers,
with an Application to the
Entscheidungsproblem (1936 )
Alan Turing
The ‘‘computable’’ numbers may be described brieXy as the real numbers
whose expressions as a decimal are calculable by Wnite means. Although the
subject of this paper is ostensibly the computable numbers, it is almost equally
easy to deWne and investigate computable functions of an integral variable or a
real or computable variable, computable predicates, and so forth. The funda-
mental problems involved are, however, the same in each case, and I have chosen
the computable numbers for explicit treatment as involving the least cumbrous
technique. I hope shortly to give an account of the relations of the computable
numbers, functions, and so forth to one another. This will include a development
of the theory of functions of a real variable expressed in terms of computable
numbers. According to my deWnition, a number is computable if its decimal can
be written down by a machine.
In §§ 9, 10 I give some arguments with the intention of showing that the comp-
utable numbers include all numbers which could naturally be regarded as
computable. In particular, I show that certain large classes of numbers are
computable. They include, for instance, the real parts of all algebraic numbers,
the real parts of the zeros of the Bessel functions, the numbers p, e, etc. The
computable numbers do not, however, include all deWnable numbers, and an
example is given of a deWnable number which is not computable.
Although the class of computable numbers is so great, and in many ways
similar to the class of real numbers, it is nevertheless enumerable. In § 8 I
examine certain arguments which would seem to prove the contrary. By the
correct application of one of these arguments, conclusions are reached which are
[Received 28 May, 1936.—Read 12 November, 1936.]
This article Wrst appeared in Proceedings of the London Mathematical Society, Series 2, 42 (1936–7). It is
reprinted with the permission of the London Mathematical Society and the Estate of Alan Turing.
On Computable Numbers | 59
superWcially similar to those of Go¨del.1 These results have valuable applications.
In particular, it is shown (§ 11) that the Hilbertian Entscheidungsproblem can
have no solution.
In a recent paper Alonzo Church has introduced an idea of ‘‘eVective calcul-
ability’’, which is equivalent to my ‘‘computability’’, but is very diVerently
deWned.2 Church also reaches similar conclusions about the Entscheidungspro-
blem.3 The proof of equivalence between ‘‘computability’’ and ‘‘eVective
calculability’’ is outlined in an appendix to the present paper.
1. Computing machines
We have said that the computable numbers are those whose decimals are
calculable by Wnite means. This requires rather more explicit deWnition. No
real attempt will be made to justify the deWnitions given until we reach § 9. For
the present I shall only say that the justiWcation lies in the fact that the human
memory is necessarily limited.
We may compare a man in the process of computing a real number to a machine
which is only capable of a Wnite number of conditions q1, q2, . . . , qR which will be
called ‘‘m-conWgurations’’. The machine is supplied with a ‘‘tape’’ (the analogue of
paper) running through it, and divided into sections (called ‘‘squares’’) each
capable of bearing a ‘‘symbol’’. At any moment there is just one square, say the
r-th, bearing the symbol S(r) which is ‘‘in the machine’’. We may call this square
the ‘‘scanned square’’. The symbol on the scanned square may be called the
‘‘scanned symbol’’. The ‘‘scanned symbol’’ is the only one of which the machine
is, so to speak, ‘‘directly aware’’. However, by altering its m-conWguration the
machine can eVectively remember some of the symbols which it has ‘‘seen’’
(scanned) previously. The possible behaviour of the machine at any moment is
determined by the m-conWguration qn and the scanned symbol S(r). This pair
qn, S(r) will be called the ‘‘conWguration’’: thus the conWguration determines the
possible behaviour of the machine. In some of the conWgurations in which the
scanned square is blank (i.e. bears no symbol) the machine writes down a new
symbol on the scanned square: in other conWgurations it erases the scanned
symbol. The machine may also change the square which is being scanned, but
only by shifting it one place to right or left. In addition to any of these operations
the m-conWguration may be changed. Some of the symbols written down will form
the sequence of Wgures which is the decimal of the real number which is being
1 Go¨del, ‘‘U¨ ber formal unentscheidbare Sa¨tze der Principia Mathematica und verwandter Systeme, I’’,
Monatshefte Math. Phys., 38 (1931), 173–198.
2 Alonzo Church, ‘‘An unsolvable problem of elementary number theory’’, American J. of Math., 58
(1936), 345–363.
3 Alonzo Church, ‘‘A note on the Entscheidungsproblem’’, J. of Symbolic Logic, 1 (1936), 40–41.
60 | Alan Turing
computed. The others are just rough notes to ‘‘assist the memory’’. It will only be
these rough notes which will be liable to erasure.
It is my contention that these operations include all those which are used in
the computation of a number. The defence of this contention will be easier when
the theory of the machines is familiar to the reader. In the next section I therefore
proceed with the development of the theory and assume that it is understood
what is meant by ‘‘machine’’, ‘‘tape’’, ‘‘scanned’’, etc.
2. Definitions
Automatic machines
If at each stage the motion of a machine (in the sense of § 1) is completely
determined by the conWguration, we shall call the machine an ‘‘automatic
machine’’ (or a-machine).
For some purposes we might use machines (choice machines or c-machines)
whose motion is only partially determined by the conWguration (hence the use of
the word ‘‘possible’’ in § 1). When such a machine reaches one of these ambigu-
ous conWgurations, it cannot go on until some arbitrary choice has been made by
an external operator. This would be the case if we were using machines to deal
with axiomatic systems. In this paper I deal only with automatic machines, and
will therefore often omit the preWx a-.
Computing machines
If an a-machine prints two kinds of symbols, of which the Wrst kind (called
Wgures) consists entirely of 0 and 1 (the others being called symbols of the second
kind), then the machine will be called a computing machine. If the machine is
supplied with a blank tape and set in motion, starting from the correct initial
m-conWguration, the subsequence of the symbols printed by it which are of the
Wrst kind will be called the sequence computed by the machine. The real number
whose expression as a binary decimal is obtained by prefacing this sequence by a
decimal point is called the number computed by the machine.
At any stage of the motion of the machine, the number of the scanned square,
the complete sequence of all symbols on the tape, and the m-conWguration will
be said to describe the complete conWguration at that stage. The changes of the
machine and tape between successive complete conWgurations will be called the
moves of the machine.
Circular and circle-free machines
If a computing machine never writes down more than a Wnite number of
symbols of the Wrst kind, it will be called circular. Otherwise it is said to be
circle-free.
On Computable Numbers | 61
A machine will be circular if it reaches a conWguration from which there is no
possible move, or if it goes on moving, and possibly printing symbols of the
second kind, but cannot print any more symbols of the Wrst kind. The sig-
niWcance of the term ‘‘circular’’ will be explained in § 8.
Computable sequences and numbers
A sequence is said to be computable if it can be computed by a circle-free
machine. A number is computable if it diVers by an integer from the number
computed by a circle-free machine.
We shall avoid confusion by speaking more often of computable sequences
than of computable numbers.
3. Examples of computing machines
I. A machine can be constructed to compute the sequence 010101 . . . . The
machine is to have the four m-conWgurations ‘‘b’’, ‘‘c’’, ‘‘k’’, ‘‘e’’ and is capable of
printing ‘‘0’’ and ‘‘1’’. The behaviour of the machine is described in the following
table in which ‘‘R’’ means ‘‘the machine moves so that it scans the square
immediately on the right of the one it was scanning previously’’. Similarly for
‘‘L’’. ‘‘E’’ means ‘‘the scanned symbol is erased’’ and ‘‘P’’ stands for ‘‘prints’’. This
table (and all succeeding tables of the same kind) is to be understood to mean
that for a conWguration described in the Wrst two columns the operations in the
third column are carried out successively, and the machine then goes over into
the m-conWguration described in the last column. When the second column is left
blank, it is understood that the behaviour of the third and fourth columns
applies for any symbol and for no symbol. The machine starts in the
m-conWguration b with a blank tape.
ConWguration Behaviour
m-conWg. symbol operations Wnal m-conWg.
b None P 0, R c
c None Re
e None P1, R k
k None Rb
If (contrary to the description in § 1) we allow the letters L, R to appear more
than once in the operations column we can simplify the table considerably.
m-conWg. symbol operations Wnal m-conWg.
b ( None P0 b
R, R, P1 b
0 R, R, P0 b
1
62 | Alan Turing
II. As a slightly more diYcult example we can construct a machine to
compute the sequence 001011011101111011111 . . . . The machine is to be
capable of Wve m-conWgurations, viz. ‘‘o’’, ‘‘q’’, ‘‘p’’, ‘‘f’’, ‘‘b’’ and of printing
‘‘@’’, ‘‘x’’, ‘‘0’’, ‘‘1’’. The Wrst three symbols on the tape will be ‘‘@@0’’; the other
Wgures follow on alternate squares. On the intermediate squares we never print
anything but ‘‘x’’. These letters serve to ‘‘keep the place’’ for us and are erased
when we have Wnished with them. We also arrange that in the sequence of Wgures
on alternate squares there shall be no blanks.
ConWguration Behaviour
operations
m-conWg. symbol P@, R, P@, R, P0, R, R, P0, L, L Wnal m-conWg.
R, Px, L, L, L o
b& o
o1 R, R q
P1, L q
&0 p
q Any (0 or 1) E, R
R q
None L, L f
p
(x R, R
P0, L, L f
p@ o
None
&
f Any
None
To illustrate the working of this machine a table is given below of the Wrst few
complete conWgurations. These complete conWgurations are described by writing
down the sequence of symbols which are on the tape, with the m-conWguration
written below the scanned symbol. The successive complete conWgurations are
separated by colons.
This table could also be written in the form
b :@ @ o 0 0 :@ @ q 0 0 :..., (C)
in which a space has been made on the left of the scanned symbol and the
m-conWguration written in this space. This form is less easy to follow, but we shall
make use of it later for theoretical purposes.
On Computable Numbers | 63
The convention of writing the Wgures only on alternate squares is very useful: I
shall always make use of it. I shall call the one sequence of alternate squares
F-squares and the other sequence E-squares. The symbols on E-squares will be
liable to erasure. The symbols on F-squares form a continuous sequence. There
are no blanks until the end is reached. There is no need to have more than one
E-square between each pair of F-squares: an apparent need of more E-squares
can be satisWed by having a suYciently rich variety of symbols capable of being
printed on E-squares. If a symbol b is on an F-square S and a symbol a is on the
E-square next on the right of S, then S and b will be said to be marked with a.
The process of printing this a will be called marking b (or S) with a.
4. Abbreviated tables
There are certain types of process used by nearly all machines, and these, in some
machines, are used in many connections. These processes include copying down
sequences of symbols, comparing sequences, erasing all symbols of a given form,
etc. Where such processes are concerned we can abbreviate the tables for the
m-conWgurations considerably by the use of ‘‘skeleton tables’’. In skeleton tables
there appear capital German letters and small Greek letters. These are of the nature
of ‘‘variables’’. By replacing each capital German letter throughout by an
m-conWguration and each small Greek letter by a symbol, we obtain the table for
an m-conWguration.
The skeleton tables are to be regarded as nothing but abbreviations: they are
not essential. So long as the reader understands how to obtain the complete
tables from the skeleton tables, there is no need to give any exact deWnitions in
this connection.
Let us consider an example:
m-conWg. Symbol Behaviour Final m-conWg.
f(C, B, a) &@
L f1(C, B, a) From the m-conWguration
f1(C, B, a) not @ L f(C, B, a) f(C, B, a) the machine Wnds
8 a the symbol of form a which
< C is farthest to the left (the
R f1(C, B, a) ‘‘Wrst a’’) and the
: not a R f2(C, B, a) m-conWguration then
None
becomes C. If there is no a
8 a C then the m-conWguration
< R f1(C, B, a) becomes B.
RB
f2(C, B, a) : not a
None
If we were to replace C throughout by q (say), B by r, and a by x, we should
have a complete table for the m-conWguration f(q; r; x). f is called an
‘‘m-conWguration function’’ or ‘‘m-function’’.
64 | Alan Turing
The only expressions which are admissible for substitution in an m-function
are the m-conWgurations and symbols of the machine. These have to be enumer-
ated more or less explicitly: they may include expressions such as p(e, x); indeed
they must if there are any m-functions used at all. If we did not insist on this
explicit enumeration, but simply stated that the machine had certain
m-conWgurations (enumerated) and all m-conWgurations obtainable by substi-
tution of m-conWgurations in certain m-functions, we should usually get an
inWnity of m-conWgurations; e.g., we might say that the machine was to have
the m-conWguration q and all m-conWgurations obtainable by substituting
an m-conWguration for C in p(C). Then it would have q, p(q), pðp(q)Þ,
pðpðp(q))Þ, . . . as m-conWgurations.
Our interpretation rule then is this. We are given the names of the
m-conWgurations of the machine, mostly expressed in terms of m-functions.
We are also given skeleton tables. All we want is the complete table for the
m-conWgurations of the machine. This is obtained by repeated substitution in
the skeleton tables.
Further examples
(In the explanations the symbol ‘‘!’’ is used to signify ‘‘the machine goes into
the m-conWguration. . . .’’)
e(C, B, a) f(e1(C, B, a), B, a) From e(C, B, a) the Wrst a is erased
e1(C, B, a) E C and ! C. If there is no a ! B.
e(B, a) e(e(B, a), B, a) From e(B, a) all letters a are erased
and ! B.
The last example seems somewhat more diYcult to interpret than most. Let us
suppose that in the list of m-conWgurations of some machine there appears
e(b, x) ( ¼ q, say). The table is
e(b, x) e(e(b, x), b, x)
or q e(q, b, x).
Or, in greater detail:
q e(q, b, x)
e(q, b, x) f(e1(q, b, x), b, x)
e1(q, b, x) E q.
In this we could replace e1(q, b, x) by q0 and then give the table for f (with the
right substitutions) and eventually reach a table in which no m-functions
appeared.
On Computable Numbers | 65
pe(C, b) f(pe1(C, b), C, @) From pe(C, b) the machine
prints b at the end of the
& Any R, R pe1(C, b) sequence of symbols and ! C.
None Pb C
pe1(C, b) From f0(C, B, a) it does the
C same as for f(C, B, a) but
l(C) L C moves to the left before ! C.
R f(l(C), B, a)
r(C) f(r(C), B, a)
f0(C, B, a)
f00(C, B, a)
c(C, B, a) f0(c1(C), B, a) c(C, B, a). The machine
pe(C, b) writes at the end the Wrst
c1(C) b symbol marked a and ! C.
The last line stands for the totality of lines obtainable from it by replacing b by
any symbol which may occur on the tape of the machine concerned.
ce(C, B, a) c(e(C, B, a), B, a) ce(B, a). The machine
ce(B, a) ce(ce(B, a), B, a) copies down in order
at the end all symbols
marked a and erases
the letters a; ! B.
re(C, B, a, b) f(re1(C, B, a, b), B, a) re(C, B, a, b). The machine
replaces the Wrst a by b and
re1(C, B, a, b) E; Pb C ! C ! B if there is no a.
re(B, a, b) re(re(B, a, b), B, a, b) re(B, a, b). The machine
replaces all letters a by
b; ! B.
cr(C, B, a) c(re(C, B, a, a), B, a) cr(B, a) diVers from
cr(B, a) cr(cr(B, a), re(B, a, a), a) ce(B, a) only in that the
letters a are not erased. The
m-conWguration cr(B, a) is
taken up when no letters ‘‘a’’
are on the tape.
cp(C, A, E, a, b) g f0(cp1(C, A, b), f(A, E, b), a)
cp1(C, A, b) ng f0(cp2(C, A, g), A, b)
C
cp2(C, A, g) not g A:
66 | Alan Turing
The Wrst symbol marked a and the Wrst marked b are compared. If there is
neither a nor b, ! E. If there are both and the symbols are alike, ! C.
Otherwise ! A.
cpe(C, A, E, a, b) cp(e(e(C, C, b), C, a), A, E, a, b)
cpe(C, A, E, a, b) diVers from cp(C, A, E, a, b) in that in the case when
there is similarity the Wrst a and b are erased.
cpe(A, E, a, b) cpe(cpe(A, E, a, b), A, E, a, b).
cpe(A, E, a, b). The sequence of symbols marked a is compared with the
sequence marked b. ! E if they are similar. Otherwise ! A. Some of the
symbols a and b are erased.
q(C) n Any R q(C) q(C, a). The machine Wnds
q1(C) None R q1(C) the last symbol of form
q(C) a: ! C.
n Any R C
None
q(C, a) na q(q1(C, a))
q1(C, a) Not a L C
q1(C, a)
pe2(C, a, b) pe(pe(C, b), a) pe2(C, a, b). The machine
prints a b at the end.
ce2(B, a, b) ce(ce(B, b), a) ce3(B, a, b, g). The
ce3(B, a, b, g) ce(ce2(B, b, g), machine copies down at the
a) end Wrst the symbols marked
a, then those marked b, and
Wnally those marked g; it
erases the symbols a, b, g.
e(C) n@ R e1(C) From e(C) the marks are
e1(C) Not @ L erased from all marked
e(C) symbols. ! C.
n Any R, E, R e1(C)
None
C
5. Enumeration of computable sequences
A computable sequence g is determined by a description of a machine which
computes g. Thus the sequence 001011011101111 . . . is determined by the table
on p. [62], and, in fact, any computable sequence is capable of being described in
terms of such a table.
It will be useful to put these tables into a kind of standard form. In the Wrst
place let us suppose that the table is given in the same form as the Wrst table, for
On Computable Numbers | 67
example, I on p. [61]. That is to say, that the entry in the operations column is
always of one of the forms E : E, R : E, L : P a : P a, R : P a, L : R : L : or no entry
at all. The table can always be put into this form by introducing more m-
conWgurations. Now let us give numbers to the m-conWgurations, calling them
q1, . . . , qR, as in § 1. The initial m-conWguration is always to be called q1. We
also give numbers to the symbols S1, . . . , Sm and, in particular, blank ¼ S0,
0 ¼ S1, 1 ¼ S2. The lines of the table are now of form
m-conWg. Symbol Operations Final m-conWg. (N1)
qi Sj PSk, L qm (N2)
qi Sj PSk, R qm (N3)
qi Sj PSk qm
Lines such as
qi Sj E, R qm
are to be written as Sj PS0, R qm
qi
and lines such as Sj R qm
qi
to be written as Sj PSj, R qm
qi
In this way we reduce each line of the table to a line of one of the forms (N1),
(N2), (N3).
From each line of form (N1) let us form an expression qiSjSkLqm; from each
line of form (N2) we form an expression qiSjSkRqm; and from each line of form
(N3) we form an expression qiSjSkNqm.
Let us write down all expressions so formed from the table for the machine and
separate them by semi-colons. In this way we obtain a complete description of the
machine. In this description we shall replace qi by the letter ‘‘D’’ followed by the
letter ‘‘A’’ repeated i times, and Sj by ‘‘D’’ followed by ‘‘C ’’ repeated j times. This
new description of the machine may be called the standard description (S.D). It is
made up entirely from the letters ‘‘A’’, ‘‘C ’’, ‘‘D’’, ‘‘L’’, ‘‘R’’, ‘‘N’’, and from ‘‘;’’.
If Wnally we replace ‘‘A’’ by ‘‘1’’, ‘‘C ’’ by ‘‘2’’, ‘‘D’’ by ‘‘3’’, ‘‘L’’ by ‘‘4’’, ‘‘R’’ by ‘‘5’’,
‘‘N ’’ by ‘‘6’’, and ‘‘;’’ by ‘‘7’’ we shall have a description of the machine in the form
of an arabic numeral. The integer represented by this numeral may be called a
description number (D.N) of the machine. The D.N determine the S.D and the
structure of the machine uniquely. The machine whose D.N is n may be de-
scribed as M(n).
68 | Alan Turing
To each computable sequence there corresponds at least one description
number, while to no description number does there correspond more than one
computable sequence. The computable sequences and numbers are therefore
enumerable.
Let us Wnd a description number for the machine I of § 3. When we rename
the m-conWgurations its table becomes:
q1 S0 PS1, R q2
q2 S0 PS0, R q3
q3 S0 PS2, R q4
q4 S0 PS0, R q1
Other tables could be obtained by adding irrelevant lines such as
q1 S1 PS1, R q2
Our Wrst standard form would be
q1S0S1Rq2; q2S0S0Rq3; q3S0S2Rq4; q4S0S0Rq1;
The standard description is
DADDCRDAA ;DAADDRDAAA ;DAAADDCCRDAAAA ;DAAAADDRDA ;
A description number is
31332531173113353111731113322531111731111335317
and so is
3133253117311335311173111332253111173111133531731323253117
A number which is a description number of a circle-free machine will be called
a satisfactory number. In § 8 it is shown that there can be no general process for
determining whether a given number is satisfactory or not.
6. The universal computing machine
It is possible to invent a single machine which can be used to compute any
computable sequence. If this machine U is supplied with a tape on the beginning
of which is written the S.D of some computing machine M, then U will compute
the same sequence as M. In this section I explain in outline the behaviour of the
machine. The next section is devoted to giving the complete table for U.
Let us Wrst suppose that we have a machine M0 which will write down on the
F-squares the successive complete conWgurations of M. These might be ex-
pressed in the same form as on p. [62], using the second description, (C), with
all symbols on one line. Or, better, we could transform this description (as in § 5)
On Computable Numbers | 69
by replacing each m-conWguration by ‘‘D’’ followed by ‘‘A’’ repeated the appro-
priate number of times, and by replacing each symbol by ‘‘D’’ followed by ‘‘C ’’
repeated the appropriate number of times. The numbers of letters ‘‘A’’ and ‘‘C ’’
are to agree with the numbers chosen in § 5, so that, in particular, ‘‘0’’ is replaced
by ‘‘DC ’’, ‘‘1’’ by ‘‘DCC ’’, and the blanks by ‘‘D’’. These substitutions are to be
made after the complete conWgurations have been put together, as in (C).
DiYculties arise if we do the substitution Wrst. In each complete conWguration
the blanks would all have to be replaced by ‘‘D’’, so that the complete conWgura-
tion would not be expressed as a Wnite sequence of symbols.
If in the description of the machine II of § 3 we replace ‘‘o’’ by ‘‘DAA’’, ‘‘@’’ by
‘‘DCCC ’’, ‘‘q’’ by ‘‘DAAA’’, then the sequence (C) becomes:
DA : DCCCDCCCDAADCDDC : DCCCDCCCDAAADCDDC : . . . (C1)
(This is the sequence of symbols on F-squares.)
It is not diYcult to see that if M can be constructed, then so can M0. The
manner of operation of M0 could be made to depend on having the rules of
operation (i.e. the S.D) of M written somewhere within itself (i.e. within M0);
each step could be carried out by referring to these rules. We have only to regard
the rules as being capable of being taken out and exchanged for others and we
have something very akin to the universal machine.
One thing is lacking: at present the machine M0 prints no Wgures. We may
correct this by printing between each successive pair of complete conWgurations
the Wgures which appear in the new conWguration but not in the old. Then (C1)
becomes
DDA : 0 : 0 : DCCCDCCCDAADCDDC : DCCC: . . . (C2)
It is not altogether obvious that the E-squares leave enough room for the
necessary ‘‘rough work’’, but this is, in fact, the case.
The sequences of letters between the colons in expressions such as (C1) may be
used as standard descriptions of the complete conWgurations. When the letters
are replaced by Wgures, as in § 5, we shall have a numerical description of the
complete conWguration, which may be called its description number.
7. Detailed description of the universal machine
A table is given below of the behaviour of this universal machine. The
m-conWgurations of which the machine is capable are all those occurring in
the Wrst and last columns of the table, together with all those which occur when
we write out the unabbreviated tables of those which appear in the table in the
form of m-functions. E.g., e(anf) appears in the table and is an m-function. Its
unabbreviated table is (see p. [66])
70 | Alan Turing
e(anf) n@ R e1(anf)
e1(anf) not @ L e(anf)
e1(anf)
n Any R, E, R anf
None
Consequently e1(anf) is an m-conWguration of U .
When U is ready to start work the tape running through it bears on it the
symbol @ on an F-square and again @ on the next E-square; after this, on
F-squares only, comes the S.D of the machine followed by a double colon ‘‘: :’’
(a single symbol, on an F-square). The S.D consists of a number of instructions,
separated by semi-colons.
Each instruction consists of Wve consecutive parts
(i) ‘‘D’’ followed by a sequence of letters ‘‘A’’. This describes the relevant
m-conWguration.
(ii) ‘‘D’’ followed by a sequence of letters ‘‘C ’’. This describes the scanned
symbol.
(iii) ‘‘D’’ followed by another sequence of letters ‘‘C ’’. This describes the
symbol into which the scanned symbol is to be changed.
(iv) ‘‘L’’, ‘‘R ’’, or ‘‘N ’’, describing whether the machine is to move to left, right,
or not at all.
(v) ‘‘D’’ followed by a sequence of letters ‘‘A’’. This describes the Wnal m-
conWguration.
The machine U is to be capable of printing ‘‘A’’, ‘‘C ’’, ‘‘D’’, ‘‘0’’, ‘‘1’’, ‘‘u’’, ‘‘v’’,
‘‘w’’, ‘‘x’’, ‘‘y’’, ‘‘z’’. The S.D is formed from ‘‘;’’, ‘‘A’’, ‘‘C ’’, ‘‘D’’, ‘‘L’’, ‘‘R’’, ‘‘N’’.
Subsidiary skeleton table
& Not A R, R con(C, a) con(C, a). Starting from an
A L, Pa, R con1(C, a) F-square, S say, the sequence C of
con(C, a) symbols describing a conWguration
con1(C, a) closest on the right of S is marked
& A R, Pa, R con2(C, a) out with letters a: ! C.
D R, Pa, R
con1(C, a) con2(C, a) con(C, ). In the Wnal conWguration
C the machine is scanning the square
& C R, Pa, R which is four squares to the right
Not C R, R of the last square of C. C is left
con2(C, a) unmarked.
The table for U f(b1, b1, : : ) b. The machine prints : DA on
anf the F-squares after : : ! anf.
b
b1 R, R, P :, R, R, PD, R, R, PA g(anf1, :) anf. The machine marks the
con(kom, y) conWguration in the last complete
anf conWguration with y. ! kom.
anf1
8 ; R, Pz, L con(kmp, x) On Computable Numbers | 71
< L, L kom
L kom kom. The machine Wnds the
kom : z last semi-colon not marked
not z nor ; with z. It marks this semi-colon
with z and the conWguration
following it with x.
kmp cpe(e(kom, x, y), sim, x, y) kmp. The machine compares
the sequences marked x and y.
It erases all letters x and y. !
sim if they are alike. Otherwise
! kom.
anf. Taking the long view, the last instruction relevant to the last conWgura-
tion is found. It can be recognised afterwards as the instruction following the last
semi-colon marked z. ! sim.
sim & R, Pu, R, R, R f0(sim1, sim1, z) sim. The machine marks out
sim1 A con(sim2, ) the instructions. That part of
sim2 L, Py the instructions which refers to
not A L, Py, R, R, R sim3 operations to be carried out is
sim3 & sim2 marked with u, and the Wnal
m-conWguration with y. The
not A e(mk, z) letters z are erased.
sim3
A
mk g(mk, :) mk. The last complete
conWguration is marked out
& not A R, R mk1 into four sections. The
mk2 conWguration is left unmarked.
mk1 A L, L, L, L mk2 The symbol directly preceding
8 mk4 it is marked with x. The
< C R, Px, L, L, L mk3 remainder of the complete
mk3 conWguration is divided into
mk2 : : mk4 two parts, of which the Wrst is
D R, Px, L, L, L marked with v and the last
conðlðl(mk5) Þ, Þ with w. A colon is printed
& : R, Pv, L, L, L after the whole. ! sh.
not mk5
mk3 : sh
mk4
&
Any R, Pw, R
mk5 None P:
sh f(sh1, inst, u) sh. The instructions (marked
sh2 u) are examined. If it is found
sh1 L, L, L that they involve ‘‘Print 0’’ or
sh2 ‘‘Print 1’’, then 0 : or 1 : is
& D R, R, R, R inst printed at the end.
sh2 not D sh4
& inst
C R, R
sh3 not C
72 | Alan Turing
& R, R sh5
C pe2(inst, 0, : )
sh4 not C inst
pe2(inst, 1, : )
sh5 nC
not C
inst gðl(inst1), uÞ inst. The next complete
R, E inst1(a) conWguration is written down,
inst1 a carrying out the marked
inst1(L) ce5(ov, v, y, x, u, w) instructions. The letters u, v, w,
inst1(R) ce5(ov, v, x, u, y, w) x, y are erased. !anf.
inst1(N ) ec5(ov, v, x, y, u, w)
ov e(anf)
8. Application of the diagonal process
It may be thought that arguments which prove that the real numbers are not
enumerable would also prove that the computable numbers and sequences
cannot be enumerable.4 It might, for instance, be thought that the limit of a
sequence of computable numbers must be computable. This is clearly only true if
the sequence of computable numbers is deWned by some rule.
Or we might apply the diagonal process. ‘‘If the computable sequences are
enumerable, let an be the n-th computable sequence, and let fn(m) be the m-th
Wgure in an. Let b be the sequence with 1 À fn(n) as its n-th Wgure. Since b is
computable, there exists a number K such that 1 À fn(n) ¼ fK (n) all n. Putting
n ¼ K , we have 1 ¼ 2fK (K ), i.e. 1 is even. This is impossible. The computable
sequences are therefore not enumerable.’’
The fallacy in this argument lies in the assumption that b is computable. It
would be true if we could enumerate the computable sequences by Wnite means,
but the problem of enumerating computable sequences is equivalent to the
problem of Wnding out whether a given number is the D.N of a circle-free
machine, and we have no general process for doing this in a Wnite number of
steps. In fact, by applying the diagonal process argument correctly, we can show
that there cannot be any such general process.
The simplest and most direct proof of this is by showing that, if this general
process exists, then there is a machine which computes b. This proof, although
perfectly sound, has the disadvantage that it may leave the reader with a feeling that
‘‘there must be something wrong’’. The proof which I shall give has not this
disadvantage, and gives a certain insight into the signiWcance of the idea ‘‘circle-
free’’. It depends not on constructing b, but on constructing b0, whose n-th Wgure is
fn(n).
Let us suppose that there is such a process; that is to say, that we can invent a
machine D which, when supplied with the S.D of any computing machine M
4 Cf. Hobson, Theory of functions of a real variable (2nd ed., 1921), 87, 88.
On Computable Numbers | 73
will test this S.D and if M is circular will mark the S.D with the symbol ‘‘u’’ and
if it is circle-free will mark it with ‘‘s’’. By combining the machines D and U we
could construct a machine H to compute the sequence b0. The machine D may
require a tape. We may suppose that it uses the E-squares beyond all symbols on
F-squares, and that when it has reached its verdict all the rough work done by D
is erased.
The machine H has its motion divided into sections. In the Wrst N À 1
sections, among other things, the integers 1, 2, . . . , N À 1 have been written
down and tested by the machine D. A certain number, say R(N À 1), of them
have been found to be the D.N’s of circle-free machines. In the N-th section the
machine D tests the number N. If N is satisfactory, i.e., if it is the D.N of a circle-
free machine, then R(N ) ¼ 1 þ R(N À 1) and the Wrst R(N) Wgures of the
sequence of which a D.N is N are calculated. The R(N)-th Wgure of this sequence
is written down as one of the Wgures of the sequence b0 computed by H . If N is
not satisfactory, then R(N ) ¼ R(N À 1) and the machine goes on to the
(N þ 1)-th section of its motion.
From the construction of H we can see that H is circle-free. Each section of the
motion of H comes to an end after a Wnite number of steps. For, by our
assumption about D, the decision as to whether N is satisfactory is reached in
a Wnite number of steps. If N is not satisfactory, then the N-th section is Wnished.
If N is satisfactory, this means that the machine M(N ) whose D.N is N is circle-
free, and therefore its R(N)-th Wgure can be calculated in a Wnite number of
steps. When this Wgure has been calculated and written down as the R(N)-th
Wgure of b0, the N-th section is Wnished. Hence H is circle-free.
Now let K be the D.N of H. What does H do in the K-th section of its motion?
It must test whether K is satisfactory, giving a verdict ‘‘s’’ or ‘‘u’’. Since K is the
D.N of H and since H is circle-free, the verdict cannot be ‘‘u’’. On the other hand
the verdict cannot be ‘‘s’’. For if it were, then in the K-th section of its motion H
would be bound to compute the Wrst R(K À 1) þ 1 ¼ R(K ) Wgures of the
sequence computed by the machine with K as its D.N and to write down the
R(K )-th as a Wgure of the sequence computed by H . The computation of the Wrst
R(K ) À 1 Wgures would be carried out all right, but the instructions for calculat-
ing the R(K)-th would amount to ‘‘calculate the Wrst R(K) Wgures computed by H
and write down the R(K)-th’’. This R(K)-th Wgure would never be found. I.e., H is
circular, contrary both to what we have found in the last paragraph and to the
verdict ‘‘s’’. Thus both verdicts are impossible and we conclude that there can be
no machine D.
We can show further that there can be no machine E which, when supplied with
the S.D of an arbitrary machine M, will determine whether M ever prints a given
symbol (0 say).
We will Wrst show that, if there is a machine E, then there is a general process
for determining whether a given machine M prints 0 inWnitely often. Let M1 be
74 | Alan Turing
a machine which prints the same sequence as M, except that in the position
where the Wrst 0 printed by M stands, M1 prints 0. M2 is to have the Wrst two
symbols 0 replaced by 0, and so on. Thus, if M were to print
A B A 0 1 A A B 0 0 1 0 A B...,
then M1 would print
A B A 0 1 A A B 0 0 1 0 A B . . .
and M2 would print
A B A 0 1 A A B 0 0 1 0 A B . . . :
Now let F be a machine which, when supplied with the S.D of M, will write
down successively the S.D of M, of M1, of M2, . . . (there is such a machine).
We combine F with E and obtain a new machine, G. In the motion of G Wrst
F is used to write down the S.D of M, and then E tests it, : 0 : is written if it is
found that M never prints 0; then F writes the S.D of M1, and this is tested, : 0 :
being printed if and only if M1 never prints 0, and so on. Now let us test G with
E. If it is found that G never prints 0, then M prints 0 inWnitely often; if G
prints 0 sometimes, then M does not print 0 inWnitely often.
Similarly there is a general process for determining whether M prints 1 inW-
nitely often. By a combination of these processes we have a process for deter-
mining whether M prints an inWnity of Wgures, i.e. we have a process for
determining whether M is circle-free. There can therefore be no machine E.
The expression ‘‘there is a general process for determining . . .’’ has been used
throughout this section as equivalent to ‘‘there is a machine which will determine
. . .’’. This usage can be justiWed if and only if we can justify our deWnition of
‘‘computable’’. For each of these ‘‘general process’’ problems can be expressed as a
problem concerning a general process for determining whether a given integer n
has a property G(n) [e.g. G(n) might mean ‘‘n is satisfactory’’ or ‘‘n is the Go¨del
representation of a provable formula’’], and this is equivalent to computing a
number whose n-th Wgure is 1 if G(n) is true and 0 if it is false.
9. The extent of the computable numbers
No attempt has yet been made to show that the ‘‘computable’’ numbers include
all numbers which would naturally be regarded as computable. All arguments
which can be given are bound to be, fundamentally, appeals to intuition, and for
this reason rather unsatisfactory mathematically. The real question at issue is
‘‘What are the possible processes which can be carried out in computing a
number?’’
The arguments which I shall use are of three kinds.
On Computable Numbers | 75
(a) A direct appeal to intuition.
(b) A proof of the equivalence of two deWnitions (in case the new deWnition
has a greater intuitive appeal).
(c) Giving examples of large classes of numbers which are computable.
Once it is granted that computable numbers are all ‘‘computable’’, several
other propositions of the same character follow. In particular, it follows that, if
there is a general process for determining whether a formula of the Hilbert
function calculus is provable, then the determination can be carried out by a
machine.
I. [Type (a)]. This argument is only an elaboration of the ideas of § 1.
Computing is normally done by writing certain symbols on paper. We may
suppose this paper is divided into squares like a child’s arithmetic book. In
elementary arithmetic the two-dimensional character of the paper is sometimes
used. But such a use is always avoidable, and I think that it will be agreed that the
two-dimensional character of paper is no essential of computation. I assume
then that the computation is carried out on one-dimensional paper, i.e. on a tape
divided into squares. I shall also suppose that the number of symbols which may
be printed is Wnite. If we were to allow an inWnity of symbols, then there would
be symbols diVering to an arbitrarily small extent.5 The eVect of this restriction
of the number of symbols is not very serious. It is always possible to use
sequences of symbols in the place of single symbols. Thus an Arabic numeral
such as 17 or 999999999999999 is normally treated as a single symbol. Similarly
in any European language words are treated as single symbols (Chinese, however,
attempts to have an enumerable inWnity of symbols). The diVerences from
our point of view between the single and compound symbols is that the
compound symbols, if they are too lengthy, cannot be observed at one glance.
This is in accordance with experience. We cannot tell at a glance whether
9999999999999999 and 999999999999999 are the same.
The behaviour of the computer at any moment is determined by the symbols
which he is observing, and his ‘‘state of mind’’ at that moment. We may suppose
that there is a bound B to the number of symbols or squares which the computer
can observe at one moment. If he wishes to observe more, he must use successive
observations. We will also suppose that the number of states of mind which need
be taken into account is Wnite. The reasons for this are of the same character as
5 If we regard a symbol as literally printed on a square we may suppose that the square is
0<x<1, 0<y<1. The symbol is deWned as a set of points in this square, viz. the set occupied by printer’s
ink. If these sets are restricted to be measurable, we can deWne the ‘‘distance’’ between two symbols as the
cost of transforming one symbol into the other if the cost of moving unit area of printer’s ink unit distance
is unity, and there is an inWnite supply of ink at x ¼ 2, y ¼ 0. With this topology the symbols form a
conditionally compact space.
76 | Alan Turing
those which restrict the number of symbols. If we admitted an inWnity of states of
mind, some of them will be ‘‘arbitrarily close’’ and will be confused. Again, the
restriction is not one which seriously aVects computation, since the use of more
complicated states of mind can be avoided by writing more symbols on the tape.
Let us imagine the operations performed by the computer to be split up into
‘‘simple operations’’ which are so elementary that it is not easy to imagine them
further divided. Every such operation consists of some change of the physical
system consisting of the computer and his tape. We know the state of the system
if we know the sequence of symbols on the tape, which of these are observed by
the computer (possibly with a special order), and the state of mind of the
computer. We may suppose that in a simple operation not more than one symbol
is altered. Any other changes can be split up into simple changes of this kind. The
situation in regard to the squares whose symbols may be altered in this way is the
same as in regard to the observed squares. We may, therefore, without loss of
generality, assume that the squares whose symbols are changed are always
‘‘observed’’ squares.
Besides these changes of symbols, the simple operations must include changes
of distribution of observed squares. The new observed squares must be immedi-
ately recognisable by the computer. I think it is reasonable to suppose that they
can only be squares whose distance from the closest of the immediately previ-
ously observed squares does not exceed a certain Wxed amount. Let us say that
each of the new observed squares is within L squares of an immediately previ-
ously observed square.
In connection with ‘‘immediate recognisability’’, it may be thought that there
are other kinds of square which are immediately recognisable. In particular,
squares marked by special symbols might be taken as immediately recognisable.
Now if these squares are marked only by single symbols there can be only a Wnite
number of them, and we should not upset our theory by adjoining these marked
squares to the observed squares. If, on the other hand, they are marked by a
sequence of symbols, we cannot regard the process of recognition as a simple
process. This is a fundamental point and should be illustrated. In most math-
ematical papers the equations and theorems are numbered. Normally the
numbers do not go beyond (say) 1000. It is, therefore, possible to recognise a
theorem at a glance by its number. But if the paper was very long, we might reach
Theorem 157767733443477; then, further on in the paper, we might Wnd ‘‘. . .
hence (applying Theorem 157767733443477) we have . . .’’. In order to make sure
which was the relevant theorem we should have to compare the two numbers
Wgure by Wgure, possibly ticking the Wgures oV in pencil to make sure of their not
being counted twice. If in spite of this it is still thought that there are other
‘‘immediately recognisable’’ squares, it does not upset my contention so long as
these squares can be found by some process of which my type of machine is
capable. This idea is developed in III below.
On Computable Numbers | 77
The simple operations must therefore include:
(a) Changes of the symbol on one of the observed squares.
(b) Changes of one of the squares observed to another square within L squares
of one of the previously observed squares.
It may be that some of these changes necessarily involve a change of state of
mind. The most general single operation must therefore be taken to be one of the
following:
(A) A possible change (a) of symbol together with a possible change of state
of mind.
(B) A possible change (b) of observed squares, together with a possible change
of state of mind.
The operation actually performed is determined, as has been suggested on
p. [75], by the state of mind of the computer and the observed symbols. In
particular, they determine the state of mind of the computer after the operation
is carried out.
We may now construct a machine to do the work of this computer. To each
state of mind of the computer corresponds an ‘‘m-conWguration’’ of the machine.
The machine scans B squares corresponding to the B squares observed by the
computer. In any move the machine can change a symbol on a scanned square or
can change any one of the scanned squares to another square distant not more
than L squares from one of the other scanned squares. The move which is done,
and the succeeding conWguration, are determined by the scanned symbol and the
m-conWguration. The machines just described do not diVer very essentially from
computing machines as deWned in § 2, and corresponding to any machine of this
type a computing machine can be constructed to compute the same sequence,
that is to say the sequence computed by the computer.
II. [Type (b)].
If the notation of the Hilbert functional calculus6 is modiWed so as to be
systematic, and so as to involve only a Wnite number of symbols, it becomes
possible to construct an automatic7 machine K , which will Wnd all the
provable formulae of the calculus.8
6 The expression ‘‘the functional calculus’’ is used throughout to mean the restricted Hilbert functional
calculus.
7 It is most natural to construct Wrst a choice machine (§2) to do this. But it is then easy to construct the
required automatic machine. We can suppose that the choices are always choices between two possibilities 0
and 1. Each proof will then be determined by a sequence of choices i1, i2, . . . , in (i1 ¼ 0 or 1,
i2 ¼ 0 or 1, . . . , in ¼ 0 or 1), and hence the number 2n þ i12nÀ1 þ i22nÀ2 þ . . . þ in completely determines
the proof. The automatic machine carries out successively proof 1, proof 2, proof 3, . . . .
8 The author has found a description of such a machine.
78 | Alan Turing
Now let a be a sequence, and let us denote by Ga(x) the proposition ‘‘The x-th
Wgure of a is 1’’, so that ÀGa(x) means ‘‘The x-th Wgure of a is 0’’.9 Suppose
further that we can Wnd a set of properties which deWne the sequence a and
which can be expressed in terms of Ga(x) and of the propositional functions
N(x) meaning ‘‘x is a non-negative integer’’ and F(x, y) meaning ‘‘y ¼ x þ 1’’.
When we join all these formulae together conjunctively, we shall have a formula,
A say, which deWnes a. The terms of A must include the necessary parts of the
Peano axioms, viz.,
(9u)N (u) & (x)ðN (x) ! (9y)F(x, y)Þ & ðF(x, y) ! N (y)Þ,
which we will abbreviate to P.
When we say ‘‘A deWnes a’’, we mean that ÀA is not a provable formula, and
also that, for each n, one of the following formulae (An) or (Bn) is provable.10
A & F (n) ! GaÀu(n) Á (An)
,
A & F (n) ! À (u(n) Á (Bn),
ÀGa ),
where F(n) stands for F(u, u0) & F(u0, u00) & . . . F(u(nÀ1), u(n)).
I say that a is then a computable sequence: a machine K a to compute a can
be obtained by a fairly simple modiWcation of K .
We divide the motion of K a into sections. The n-th section is devoted to
Wnding the n-th Wgure of a. After the (n À 1)-th section is Wnished a double
colon : : is printed after all the symbols, and the succeeding work is done wholly
on the squares to the right of this double colon. The Wrst step is to write the letter
‘‘A’’ followed by the formula (An) and then ‘‘B’’ followed by (Bn). The machine
K a then starts to do the work of K , but whenever a provable formula is found,
this formula is compared with (An) and with (Bn). If it is the same formula as
(An), then the Wgure ‘‘1’’ is printed, and the n-th section is Wnished. If it is (Bn),
then ‘‘0’’ is printed and the section is Wnished. If it is diVerent from both, then
the work of K is continued from the point at which it had been abandoned.
Sooner or later one of the formulae (An) or (Bn) is reached; this follows from our
hypotheses about a and A, and the known nature of K . Hence the n-th section
will eventually be Wnished. K a is circle-free; a is computable.
It can also be shown that the numbers a deWnable in this way by the use of
axioms include all the computable numbers. This is done by describing comput-
ing machines in terms of the function calculus.
It must be remembered that we have attached rather a special meaning to the
phrase ‘‘A deWnes a’’. The computable numbers do not include all (in the
ordinary sense) deWnable numbers. Let d be a sequence whose n-th Wgure is
9 The negation sign is written before an expression and not over it.
10 A sequence of r primes is denoted by (r).
On Computable Numbers | 79
1 or 0 according as n is or is not satisfactory. It is an immediate consequence of
the theorem of § 8 that d is not computable. It is (so far as we know at present)
possible that any assigned number of Wgures of d can be calculated, but not by a
uniform process. When suYciently many Wgures of d have been calculated, an
essentially new method is necessary in order to obtain more Wgures.
III. This may be regarded as a modiWcation of I or as a corollary of II.
We suppose, as in I, that the computation is carried out on a tape; but we avoid
introducing the ‘‘state of mind’’ by considering a more physical and deWnite
counterpart of it. It is always possible for the computer to break oV from his
work, to go away and forget all about it, and later to come back and go on with it.
If he does this he must leave a note of instructions (written in some standard
form) explaining how the work is to be continued. This note is the counterpart
of the ‘‘state of mind’’. We will suppose that the computer works in such a
desultory manner that he never does more than one step at a sitting. The note of
instructions must enable him to carry out one step and write the next note. Thus
the state of progress of the computation at any stage is completely determined by
the note of instructions and the symbols on the tape. That is, the state of the
system may be described by a single expression (sequence of symbols), consisting
of the symbols on the tape followed by D (which we suppose not to appear
elsewhere) and then by the note of instructions. This expression may be called
the ‘‘state formula’’. We know that the state formula at any given stage is
determined by the state formula before the last step was made, and we assume
that the relation of these two formulae is expressible in the functional calculus. In
other words, we assume that there is an axiom A which expresses the rules
governing the behaviour of the computer, in terms of the relation of the state
formula at any stage to the state formula at the preceding stage. If this is so, we
can construct a machine to write down the successive state formulae, and hence
to compute the required number.
10. Examples of large classes of numbers which
are computable
It will be useful to begin with deWnitions of a computable function of an integral
variable and of a computable variable, etc. There are many equivalent ways of
deWning a computable function of an integral variable. The simplest is, possibly,
as follows. If g is a computable sequence in which 0 appears inWnitely11 often,
and n is an integer, then let us deWne x(g, n) to be the number of Wgures
11 If M computes g, then the problem whether M prints 0 inWnitely often is of the same character as the
problem whether M is circle-free.
80 | Alan Turing
1 between the n-th and the (n þ 1)-th Wgure 0 in g. Then f(n) is computable if,
for all n and some g, f(n) ¼ x(g, n). An equivalent deWnition is this. Let H(x, y)
mean f(x) ¼ y. Then, if we can Wnd a contradiction-free axiom Af, such that
Af ! P, and if for each integer n there exists an integer N, such that
Af & F(N) ! H Àu(n), u(f(n) )Á,
and such that, if m ¼6 f(n), then, for some N 0,
Af & F (N 0 ) ! À (u(n), u(m)Á,
ÀH
then f may be said to be a computable function.
We cannot deWne general computable functions of a real variable, since there is
no general method of describing a real number, but we can deWne a computable
function of a computable variable. If n is satisfactory, let gn be the number
computed by M(n), and let
an ¼ ÀÀ À 21ÁÁ,
tan p gn
unless gn ¼ 0 or gn ¼ 1, in either of which cases an ¼ 0. Then, as n runs through
the satisfactory numbers, an runs through the computable numbers.12 Now let
f(n) be a computable function which can be shown to be such that for any
satisfactory argument its value is satisfactory.13 Then the function f, deWned by
f ðanÞ ¼ af(n), is a computable function and all computable functions of a
computable variable are expressible in this form.
Similar deWnitions may be given of computable functions of several variables,
computable-valued functions of an integral variable, etc.
I shall enunciate a number of theorems about computability, but I shall prove
only (ii) and a theorem similar to (iii).
(i) A computable function of a computable function of an integral or
computable variable is computable.
(ii) Any function of an integral variable deWned recursively in terms of
computable functions is computable. I.e. if f(m, n) is computable, and
r is some integer, then Z(n) is computable, where
Z(0) ¼ r,
Z(n) ¼ f(n, Z(n À 1)):
(iii) If f(m, n) is a computable function of two integral variables, then f(n, n)
is a computable function of n.
12 A function an may be deWned in many other ways so as to run through the computable numbers.
13 Although it is not possible to Wnd a general process for determining whether a given number is
satisfactory, it is often possible to show that certain classes of numbers are satisfactory.
On Computable Numbers | 81
(iv) If f(n) is a computable function whose value is always 0 or 1, then the
sequence whose n-th Wgure is f(n) is computable.
Dedekind’s theorem does not hold in the ordinary form if we replace ‘‘real’’
throughout by ‘‘computable’’. But it holds in the following form:
(v) If G(a) is a propositional function of the computable numbers and
(a) (9 a)(9b){G(a) & ðÀG(b)Þ},
(b) G(a) & ðÀG(b)Þ ! (a < b),
and there is a general process for determining the truth value of G(a), then there
is a computable number x such that
G(a) ! a < x,
ÀG(a) ! a > x:
In other words, the theorem holds for any section of the computables such that
there is a general process for determining to which class a given number belongs.
Owing to this restriction of Dedekind’s theorem, we cannot say that a com-
putable bounded increasing sequence of computable numbers has a computable
limit. This may possibly be understood by considering a sequence such as
À1, À 1 , À 1 , À 1 , À 1 , 1 , ... :
2 4 8 16 2
On the other hand, (v) enables us to prove
(vi) If a and b are computable and a < b and f(a) < 0 < f(b), where
f(a) is a computable increasing continuous function, then there is a
unique computable number g, satisfying a < g < b and f(g) ¼ 0.
Computable convergence
We shall say that a sequence bn of computable numbers converges computably if
there is a computable integral valued function N (") of the computable variable ",
such that we can show that, if " > 0 and n > N (") and m > N ("), then
jbn À bmj < ".
We can then show that
(vii) A power series whose coeYcients form a computable sequence of comp-
utable numbers is computably convergent at all computable points in
the interior of its interval of convergence.
(viii) The limit of a computably convergent sequence is computable.
And with the obvious deWnition of ‘‘uniformly computably convergent’’:
(ix) The limit of a uniformly computably convergent computable sequence
of computable functions is a computable function. Hence
82 | Alan Turing
(x) The sum of a power series whose coeYcients form a computable sequence
is a computable function in the interior of its interval of convergence.
From (viii) and p ¼ À 1 þ 1 À . . Á we deduce that p is computable.
4 1À 3 5 .
From e ¼ 1þ1þ 1 þ 1 þ . . . we deduce that e is computable.
2! 3!
From (vi) we deduce that all real algebraic numbers are computable.
From (vi) and (x) we deduce that the real zeros of the Bessel functions are
computable.
Proof of (ii)
Let H(x, y) mean ‘‘Z(x) ¼ y’’, and let K (x, y, z) mean ‘‘f(x, y) ¼ z’’. Af is the
axiom for f(x, y). We take AZ to be
À ÁÀ Á
Af & P & F(x, y) ! G(x, y) & G(x, y) & G(y, z) ! G(x, z)
À Á À Á
& ÂF (r) ! H(u, u(r ) ) & F (v , w) & HÀ(v, x) & K (Áwà , x, z) ! H (w , z)
& H(w, z) & G(z, t) v G(t, z) ! ÀH(w, t) :
I shall not give the proof of consistency of AZ. Such a proof may be con-
structed by the methods used in Hilbert and Bernays, Grundlagen der Mathema-
tik (Berlin, 1934), p. 209 et seq. The consistency is also clear from the meaning.
Suppose that, for some n, N, we have shown
AZ & F(N) ! H Àu(nÀ1), u(Z(nÀ1) ) Á
,
then, for some M,
AZ & Af & F(M ) ! K Àu(n), u(Z(nÀ1) ), u(Z(n) )Á, )Á
F(M) ! F Àu(nÀ1), u(n)Á & H Àu(nÀ1), u(Z(nÀ1)
& K Àu(n), u(Z(nÀ1) ), u(Z(n) )Á,
and AZ & F (M ) ! Â Àu(nÀ1) , u(n)Á & H Àu(nÀ1), u(Z(nÀ1) )Á
F u(Z(n) )Á ! H Àu(n), ÁÃ
Hence & K Àu(n), u(Z(nÀ1) ), :
Also u(Z(n) )
AZ & F (M) ! H Àu(n) , u(Z(n) )Á:
AZ & À u(Z(0) )Á:
F (r ) ! H u,
Hence for each n some formula of the form
AZ & F(M) ! H Àu(n), u(Z(n) )Á
is provable. Also, if M0 > M and M0 > m and m ¼6 Z(u), then
AZ & F(M0) ! GÀuZ( (n) ), u(m)Á v GÀu(m), u(Z(n) )Á
and
On Computable Numbers | 83
AZ & F (M 0 ) ! ÂÈ Àu(Z(n) ), u(m)Á v GÀu(m), u(Z(n))Á
G )É
& H Àu(n), À Àu(n) ÁÁ
u(Z(n) ! ÀH , u(m) :
À Àu(n) u(m)ÁÁ:
Hence AZ & F (M0) ! ÀH ,
The conditions of our second deWnition of a computable function are there-
fore satisWed. Consequently Z is a computable function.
Proof of a modified form of (iii)
Suppose that we are given a machine N , which, starting with a tape bearing on it
@ @ followed by a sequence of any number of letters ‘‘F ’’ on F-squares and in the
m-conWguration b, will compute a sequence gn depending on the number n of
letters ‘‘F ’’. If fn(m) is the m-th Wgure of gn, then the sequence b whose n-th
Wgure is fn(n) is computable.
We suppose that the table for N has been written out in such a way that in
each line only one operation appears in the operations column. We also
suppose that X, Q, 0, and 1 do not occur in the table, and we replace @
throughout by Q, 0 by 0, and 1 by 1. Further substitutions are then made. Any
line of form
A a P 0 B
we replace by
A a P 0 re(B, u, h, k)
and any line of the form
A a P 1 B
by A a P 1 re(B, v, h, k)
and we add to the table the following lines:
u pe ðu1, 0Þ
u1 R, Pk, R, PQ, R, PQ u2
u2 reðu3, u3, k, hÞ
u3 peðu2, FÞ
and similar lines with v for u and 1 for 0 together with the following line
c R, PX, R, Ph b:
We then have the table for the machine N 0 which computes b. The initial
m-conWguration is c, and the initial scanned symbol is the second @.
84 | Alan Turing
11. Application to the Entscheidungsproblem
The results of § 8 have some important applications. In particular, they can be
used to show that the Hilbert Entscheidungsproblem can have no solution. For
the present I shall conWne myself to proving this particular theorem. For the
formulation of this problem I must refer the reader to Hilbert and Ackermann’s
Grundzu¨ge der Theoretischen Logik (Berlin, 1931), chapter 3.
I propose, therefore, to show that there can be no general process for deter-
mining whether a given formula A of the functional calculus K is provable, i.e.
that there can be no machine which, supplied with any one A of these formulae,
will eventually say whether A is provable.
It should perhaps be remarked that what I shall prove is quite diVerent
from the well-known results of Go¨del.14 Go¨del has shown that (in the
formalism of Principia Mathematica) there are propositions A such that
neither A nor ÀA is provable. As a consequence of this, it is shown that no
proof of consistency of Principia Mathematica (or of K) can be given within that
formalism. On the other hand, I shall show that there is no general method
which tells whether a given formula A is provable in K, or, what comes to the
same, whether the system consisting of K with ÀA adjoined as an extra axiom is
consistent.
If the negation of what Go¨del has shown had been proved, i.e. if, for each A,
either A or ÀA is provable, then we should have an immediate solution of
the Entscheidungsproblem. For we can invent a machine K which will
prove consecutively all provable formulae. Sooner or later K will reach either A
or ÀA. If it reaches A, then we know that A is provable. If it reaches ÀA, then,
since K is consistent (Hilbert and Ackermann, p. 65), we know that A is not
provable.
Owing to the absence of integers in K the proofs appear somewhat lengthy.
The underlying ideas are quite straightforward.
Corresponding to each computing machine M we construct a formula
Un (M) and we show that, if there is a general method for determining whether
Un (M) is provable, then there is a general method for determining whether M
ever prints 0.
The interpretations of the propositional functions involved are as follows:
RSl (x, y) is to be interpreted as ‘‘in the complete conWguration x (of M ) the
symbol on the square y is S’’.
I(x, y) is to be interpreted as ‘‘in the complete conWguration x the square y is
scanned’’.
14 Loc. cit.
On Computable Numbers | 85
Kqm (x) is to be interpreted as ‘‘in the complete conWguration x the m-con-
Wguration is qm.
F(x, y) is to be interpreted as ‘‘y is the immediate successor of x’’.
Inst {qiSjSkLql} is to be an abbreviation for
(x, y, x0, y 0 ÈÀ & I(x, y) & Kqi (x) & F(x , x0) & F (y 0 , Á
)&!R(ÀzSI)j((ÂxxF0,(, yyy0),0 z ÁÃÁÉ y)
):
)& RSÀk (x0, y ) & Kql (x0) 0 ,
z) v RSj (x, z) ! RSk (x
Inst {qiSjSkRql} and Inst {qiSjSkNql}
are to be abbreviations for other similarly constructed expressions.
Let us put the description of M into the Wrst standard form of § 6. This
description consists of a number of expressions such as ‘‘qiSjSkLql’’ (or with R or
N substituted for L). Let us form all the corresponding expressions such as Inst
{qiSjSkLql} and take their logical sum. This we call Des (M).
The formula Un (M) is to be
(9u)½N (u) & (x)ðN (x) ! (9x0)F(x, x0)Þ
& (y, z)ðF(y, z) ! N (y) & N (z)Þ
& (y)RS0(u, y) & I(u, u) & Kq1(u) & Des (M)
! (9s)(9t)[N (s) & N (t) & RS1(s, t)]:
[N (u) & . . . & Des (M)] may be abbreviated to A(M).
When we substitute the meanings suggested on [pp. 84–85] we Wnd that
Un (M) has the interpretation ‘‘in some complete conWguration of M, S1 (i.e.
0) appears on the tape’’. Corresponding to this I prove that
(a) If S1 appears on the tape in some complete conWguration of M, then
Un (M) is provable.
(b) If Un (M) is provable, then S1 appears on the tape in some complete
conWguration of M.
When this has been done, the remainder of the theorem is trivial.
L e m m a 1. If S1appears on the tape in some complete conWguration of M, then
Un (M) is provable.
We have to show how to prove Un (M). Let us suppose that in the n-th
complete conWguration the sequence of symbols on the tape is Sr(n, 0),
Sr(n, 1), . . . , Sr(n, n), followed by nothing but blanks, and that the scanned
symbol is the i (n)-th, and that the m-conWguration is qk(n). Then we may form
the proposition
86 | Alan Turing
RSr(n; 0) (u(n), u) & RSr(n; 1) (u(n), u0) & . . . & RSr(n; n) (u(n), u(n))
& I (u(n), u(i(n) )) & Kqk(n) (u(n))
& (y)Fð(y, u0) v F(u, y) v F(u0, y) v . . . v F(u(nÀ1), y) v RS0 (u(n), y)Þ,
which we may abbreviate to CCn.
As before, F(u, u0) & F(u0, u00) & . . . & F(u(rÀ1), u(r)) is abbreviated to F(r).
I shall show that all formulae of the form A(M) & F(n) ! CCn (abbreviated
to CFn) are provable. The meaning of CFn is ‘‘The n-th complete conWguration
of M is so and so’’, where ‘‘so and so’’ stands for the actual n-th
complete conWguration of M. That CFn should be provable is therefore to be
expected.
CF0 is certainly provable, for in the complete conWguration the symbols are all
blanks, the m-conWguration is q1, and the scanned square is u, i.e. CC0 is
(y)RS0 (u, y) & I (u, u) & Kq1 (u):
A(M) ! CC0 is then trivial.
We next show that CFn ! CFnþ1 is provable for each n. There are three cases
to consider, according as in the move from the n-th to the (n þ 1)-th conWgura-
tion the machine moves to left or to right or remains stationary. We suppose that
the Wrst case applies, i.e. the machine moves to the left. A similar argument
applies in the other cases. If rðn, i(n)Þ ¼ a, rðn þ 1, i(n þ 1)Þ ¼ c,
kði(n)Þ ¼ b, and kði(n þ 1)Þ ¼ d, then Des (M) must include Inst {qaSbSdLqc}
as one of its terms, i.e.
Des (M ) ! Inst {qaSbSdLqc}:
Hence A(M ) & F(nþ1) ! Inst {qaSbSd Lqc } & F(nþ1):
But Inst {qaSbSdLqc } & F(nþ1) ! (CCn ! CCnþ1)
is provable, and so therefore is
A(M ) & F(nþ1) ! (CCn ! CCnþ1)
and
À & F (n) ! Á ! À & F (nþ1) ! Á
A(M ) CCn A(M ) CCnþ1 ,
i:e: CFn ! CFnþ1:
CFn is provable for each n. Now it is the assumption of this lemma that S1 appears
somewhere, in some complete conWguration, in the sequence of symbols printed by
On Computable Numbers | 87
M; that is, for some integers N , K , CCN has RS1 (u(N), u(K)) as one of its terms,
and therefore CCN ! RS1 (u(N), u(K)) is provable. We have then
CCN ! RS1 (u(N), u(K))
and A(M ) & F(N) ! CCN :
We also have
(9u)A(M ) ! (9u)(9u0) . . . (9u(N 0 ) À ) & F (N ) Á
) A(M ,
where N 0 ¼ max (N , K ): And so
(9u)A(M ) ! (9u)(9u0) . . . (9u(N0))RS1 (u(N), u(K)),
(9u)A(M ) ! (9u(N))(9u(K))RS1 (u(N), u(K)),
(9u)A(M) ! (9s)(9t)RS1 (s, t),
i.e. Un (M) is provable.
This completes the proof of Lemma 1.
L e m m a 2. If Un (M) is provable, then S1 appears on the tape in some com-
plete conWguration of M.
If we substitute any propositional functions for function variables in a
provable formula, we obtain a true proposition. In particular, if we substitute
the meanings tabulated on pp. [84–85] in Un (M), we obtain a true proposition
with the meaning ‘‘S1 appears somewhere on the tape in some complete con-
Wguration of M ’’.
We are now in a position to show that the Entscheidungsproblem cannot
be solved. Let us suppose the contrary. Then there is a general (mechanical)
process for determining whether Un (M) is provable. By Lemmas 1 and 2,
this implies that there is a process for determining whether M ever prints 0,
and this is impossible, by § 8. Hence the Entscheidungsproblem cannot be
solved.
In view of the large number of particular cases of solutions of the Entschei-
dungsproblem for formulae with restricted systems of quantors, it is interesting
to express Un (M) in a form in which all quantors are at the beginning. Un (M)
is, in fact, expressible in the form
(u)(9x)(w)(9u1) . . . (9un)B, (I)
where B contains no quantors, and n ¼ 6. By unimportant modiWcations we can
obtain a formula, with all essential properties of Un (M), which is of form (I)
with n ¼ 5.
88 | Alan Turing
Added 28 August, 1936.15
Appendix
Computability and effective calculability
The theorem that all eVectively calculable (l-deWnable) sequences are computable and its
converse are proved below in outline. It is assumed that the terms ‘‘well-formed formula’’
(W.F.F.) and ‘‘conversion’’ as used by Church and Kleene are understood. In the second of
these proofs the existence of several formulae is assumed without proof; these formulae
may be constructed straightforwardly with the help of, e.g., the results of Kleene in ‘‘A
theory of positive integers in formal logic’’, American Journal of Math, 57 (1935), 153–173,
219–244.
The W.F.F. representing an integer n will be denoted by Nn. We shall say that a
sequence g whose n-th Wgure is fg(n) is l-deWnable or eVectively calculable if
1 þ fg(u) is a l-deWnable function of n, i.e. if there is a W.F.F. Mg such that, for all
integers n,
ÈÉ
Mg ðNnÞ conv Nfg(n)þ1,
ÈÉ
i.e. Mg ðNnÞ is convertible into lxy : x(x(y)) or into lxy : x(y) according as the n-th
Wgure of l is 1 or 0.
To show that every l-deWnable sequence g is computable, we have to show how to
construct a machine to compute g. For use with machines it is convenient to make a trivial
modiWcation in the calculus of conversion. This alteration consists in using x, x0, x00, . . . as
variables instead of a, b, c, . . . . We now construct a machine L which, when supplied with
the formula Mg, writes down the sequence g. The construction of L is somewhat similar to
that of the machine K which proves all provable formulae of the functional calculus. We
Wrst construct a choice machine L1, which, if supplied with a W.F.F., M say, and suitably
manipulated, obtains any formula into which M is convertible. L1 can then be modiWed so
as to yield an automatic machine L2 which obtains successively all the formulae into which
M is convertible (cf. foot-note p. [77]). The machine L includes L2 as a part. The motion
of the machine L when supplied with the formula Mg is divided into sections of which
the n-th is devoted to Wnding the n-th Wgure of g. The Wrst stage in this n-th section
is the formation of {Mg}(Nn). This formula is then supplied to the machine
L2, which converts it successively into various other formulae. Each formula into which it
is convertible eventually appears, and each, as it is found, is compared with
and with lx½lx0[{x}ð{x}(x0)Þ], i:e: N2,
lx½lx0[{x}(x0)], i:e: N1:
If it is identical with the Wrst of these, then the machine prints the Wgure 1 and the
n-th section is Wnished. If it is identical with the second, then 0 is printed and the
section is Wnished. If it is diVerent from both, then the work of L2 is resumed.
15 The Graduate College, Princeton University, New Jersey, USA.
On Computable Numbers | 89
By hypothesis, {Mg}(Nn) is convertible into one of the formulae N2 or N1; consequently
the n-th section will eventually be Wnished, i.e. the n-th Wgure of g will eventually be
written down.
To prove that every computable sequence g is l-deWnable, we must show how to Wnd a
formula Mg such that, for all integers n,
{Mg}(Nn) conv N1þfg(n):
Let M be a machine which computes g and let us take some description of the
complete conWgurations of M by means of numbers, e.g. we may take the D.N of the
complete conWguration as described in § 6. Let x(n) be the D.N of the n-th complete
conWguration of M. The table for the machine M gives us a relation between x(n þ 1)
and x(n) of the form
x(n þ 1) ¼ rgðx(n)Þ,
where rg is a function of very restricted, although not usually very simple, form: it is
determined by the table for M. rg is l-deWnable (I omit the proof of this), i.e. there is a
W.F.F. Ag such that, for all integers n,
{Ag}(Nx(n)) conv Nx(nþ1):
Let U stand for
ÂÈ É Ã
lu {u}(Ag) (Nr ) ,
where r ¼ x(0); then, for all integers n,
{Ug}(Nn) conv Nx(n):
It may be proved that there is a formula V such that
8 if , in going from the n-th to
<>>>>>> conv N1 the (n þ 1)-th complete configuration, the
f{V }(Nx(nþ1))g(Nx(n))>>>>>>: conv N2 figure 0 is printed:
conv N3 if the figure 1 is printed.
otherwise.
Let Wg stand for
ÂÈ À À ÁÁÉÀ ÁÃ
lu {V } {Ag} {Ug}(u) {Ug}(u) ,
so that, for each integer n,
f{V }(Nx(nþ1))g(Nx(n)) conv {Wg}(Nn),
and let Q be a formula such that
ÈÉ
{Q}(Wg) (Ns) conv Nr(z),
90 | Alan Turing
where r (s) is the s-th integer q for which {Wg}(Nq) is convertible into either N1 or N2.
Then, if Mg stands for
 ÀÈ É ÁÃ
lw {Wg} {Q}(Wg) (w) ,
it will have the required property.16
16 In a complete proof of the l-deWnability of computable sequences it would be best to modify this
method by replacing the numerical description of the complete conWgurations by a description which can be
handled more easily with our apparatus. Let us choose certain integers to represent the symbols and the
m-conWgurations of the machine. Suppose that in a certain complete conWguration the numbers represent-
ing the successive symbols on the tape are s1s2 . . . sn, that the m-th symbol is scanned, and that the
m-conWguration has the number t ; then we may represent this complete conWguration by the formula
½[Ns1 , Ns2 , . . . , NsmÀ1], [Nt , Nsm ], [Nsmþ1, . . . , Nsn ],
where [a, b] stands for lu½f{u}(a)g(b),
[a, b, c] stands for lu½f{{u}(a)}(b)g(c),
etc.
CHAPTER 2
On Computable Numbers:
Corrections and Critiques
Alan Turing, Emil Post,
and Donald W. Davies
Introduction
Jack Copeland
This chapter contains four items:
2.1 On Computable Numbers, with an Application to the Entscheidungs-
problem. A Correction. Alan Turing
2.2 On Computable Numbers, with an Application to the Entscheidungs-
problem. A Critique. Emil Post
2.3 Draft of a Letter from Turing to Alonzo Church Concerning
the Post Critique
2.4 Corrections to Turing’s Universal Computing Machine Donald W. Davies
As is not uncommon in work of such complexity, there are a number of mistakes
in ‘On Computable Numbers’ (Chapter 1). Turing corrected some of these in his
short note 2.1, published in the Proceedings of the London Mathematical Society a
few months after the original paper had appeared.
The mathematician Emil L. Post’s critique of ‘On Computable Numbers’ was
published in 1947 and formed part of Post’s paper ‘Recursive Unsolvability of a
Problem of Thue’.1 Post is one of the major Wgures in the development of mathe-
matical logic in the twentieth century, although his work did not gain wide recogni-
tion until after his death. (Born in 1897, Post died in the same year as Turing.)
By 1936 Post had arrived independently at an analysis of computability
substantially similar to Turing’s.2 Post’s ‘problem solver’ operated in a ‘symbol
1 Journal of Symbolic Logic, 12 (1947), 1–11.
2 E. L. Post, ‘Finite Combinatory Processes—Formulation 1’, Journal of Symbolic Logic, 1 (1936), 103–4.