On Computable Numbers, With An Application To The Entscheidungsproblem by A. M. Turing
On Computable Numbers, With An Application To The Entscheidungsproblem by A. M. Turing
The
ON COMPUTABLE NUMBERS, computable numbers do not, however, include all definable numbers, and an
example is given of a definable number which is not computable.
WITH AN APPLICATION TO THE Although the class of computable numbers is so great, and in many ways similar to
ENTSCHEIDUNGSPROBLEM 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 superficially similar to
those of Gdel [1] . These results {231} have valuable applications. In particular, it
By A. M. TURING is shown (11) that the Hilbertian Entscheidungsproblem can have no solution.
[Received 28 May, 1936.Read 12 November, 1936.] In a recent paper Alonzo Church[2] has introduced an idea of effective
calculability, which is equivalent to my computability, but is very differently
1. Computing machines. defined. Church also reaches similar conclusions about the
2. Definitions. Entscheidungsproblem.[3] The proof of equivalence between computability and
effective calculability is outlined in an appendix to the present paper.
Automatic machines.
Computing machines. 1. Computing machines.
Circle and circle-free numbers.
Computable sequences and numbers. We have said that the computable numbers are those whose decimals are calculable
by finite means. This requires rather more explicit definition. No real attempt will
3. Examples of computing machines. be made to justify the definitions given until we reach 9. For the present I shall
4. Abbreviated tables only say that the justification lies in the fact that the human memory is necessarily
limited.
Further examples.
We may compare a man in the process of computing a real number to a machine
5. Enumeration of computable sequences. which is only capable of a finite number of conditions q1, q2, ..., qR which will be
6. The universal computing machine. called m-configurations. The machine is supplied with a tape, (the analogue of
7. Detailed description of the universal machine. paper) running through it, and divided into sections (called squares) each capable
8. Application of the diagonal process. of bearing a symbol. At any moment there is just one square, say the r-th, bearing
9. The extent of the computable numbers. the symbol S(r) which is in the machine. We may call this square the scanned
10. Examples of large classes of numbers which are computable. square. The symbol on the scanned square may be called the scanned symbol.
11. Application to the Entscheidungsproblem. The scanned symbol is the only one of which the machine is, so to speak,
APPENDIX directly aware. However, by altering its m-configuration the machine can
effectively remember some of the symbols which it has seen (scanned)
ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE
previously. The possible behaviour of the machine at any moment is determined by
ENTSCHEIDUNGSPROBLEM.
the m-configuration qn and the scanned symbol S(r). This pair qn, S(r) will be
A CORRECTION By A. M. Turing
called the configuration: thus the configuration determines the possible behaviour
Endnotes of the machine. In some of the configurations 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 configurations it erases the scanned symbol. The machine may also
The computable numbers may be described briefly as the real numbers whose change the square which is being scanned, but only by shifting it one place to right
expressions as a decimal are calculable by finite means. Although the subject of this or 1eft. In addition to any of these operations the m-configuration may be changed.
paper is ostensibly the computable numbers, it is almost equally easy to define and Some of the symbols written down {232} will form the sequence of figures which is
investigate computable functions of an integral variable or a real or computable the decimal of the real number which is being computed. The others are just rough
variable, computable predicates, and so forth. The fundamental problems involved notes to assist the memory. It will only be these rough notes which will be liable
are, however, the same in each case, and I have chosen the computable numbers for to erasure.
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 It is my contention that these operations include all those which are used in the
one another. This will include a development of the theory of functions of a real computation of a number. The defence of this contention will be easier when the
variable expressed in terms of computable numbers. According to my definition, a theory of the machines is familiar to the reader. In the next section I therefore
number is computable if its decimal can be written down by a machine. proceed with the development of the theory and assume that it is understood what is
meant by machine, tape, scanned, etc.
In 9, 10 I give some arguments with the intention of showing that the
computable numbers include all numbers which could naturally be regarded as 2. Definitions.
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 Automatic machines.
configuration described in the first two columns the operations in the third column
If at each stage the motion of a machine (in the sense of 1) is completely are carried out successively, and the machine then goes over into the
determined by the configuration, we shall call the machine an automatic machine m-configuration described in the last column. When the second column is left
(or a-machine). For some purposes we might use machines (choice machines or blank, it is understood that the behaviour of the third and fourth columns applies for
c-machines) whose motion is only partially determined by the configuration (hence any symbol and for no symbol. The machine starts in the m-configuration b with a
the use of the word possible in 1). When such a machine reaches one of these blank tape.
ambiguous configurations, 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 Configuration Behaviour
deal with axiomatic systems. In this paper I deal only with automatic machines, and b None P0, R c
will therefore often omit the prefix a-.
c None R e
e None P1, R z
Computing machines.
z None R b
If an a-machine prints two kinds of symbols, of which the first kind (called figures)
{234}If (contrary to the description in 1) we allow the letters L, R to appear more
consists entirely of 0 and 1 (the others being called symbols of the second kind),
than once in the operations column we can simplify the table considerably.
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
final
m-configuration, the subsequence of the symbols printed by it which are of the first m-config. symbol operations
m-config.
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 None P0 b
point is called the number computed by the machine. b
~ 0
1
R, R, P1
R, R, P0
b
b
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-configuration will be said II. As a slightly more difficult example we can construct a machine to compute the
to describe the complete configuration at that stage. The changes of the machine sequence 001011011101111011111.... The machine is to be capable of five
and tape between successive complete configurations will be called the moves of m-configurations, viz. o, q, p, f, b and of printing e, x, 0, 1.
the machine. The first three symbols on the tape will be e e 0; the other figures follow on
alternate squares. On the intermediate squares we never print anything but x.
{233} These letters serve to keep the place for us and are erased when we have finished
Circular and circle-free machines. with them. We also arrange that in the sequence of figures on alternate squares there
shall be no blanks.
If a computing machine never writes down more than a finite number of symbols of
the first kind it will be called circular. Otherwise it is said to be circle-free.
Configuration Behaviour
A machine will be circular if it reaches a configuration from which there is no final
m-config. symbol operations
possible move, or if it goes on moving, and possibly printing symbols of the second m-config.
kind, but cannot print any more symbols of the first kind. The significance of the Pe, R, Pe, R, P0,
b o
term circular will be explained in 8. R, R, P0, L, L
ee0 0
p p
1: e e 0 0 1 :
f
ee 0 0 1 0 :
f
f2(CYB,I)
~ not I
None
R
R
f1(CYB,I)
B
then becomes C. If
there is no I then
the m-configuration
f f o becomes B.
ee0 0 1 x 0 : ... .
o If we were to replace C throughout by q (say), B by r, and I by x, we should have a
complete table for the m-configuration f(qYr, x). f is called an m-configuration
This table could also be written in the form function or m-function.
The only expressions which are admissible for substitution in an m-function are the
b :eeo0 0: eeq0 0:
(C) m-configurations and symbols of the machine. Those have to be enumerated 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
in which a space has been made on the left of the scanned symbol and the
enumeration but simply stated that the machine had certain m-configurations
m-configuration written in this space. This form is less easy to follow, but we shall
(enumerated) and all m-configurations obtainable by substitution of
make use of it later for theoretical purposes.
m-configurations in certain m-functions, we should usually get an infinity of
The convention of writing the figures only on alternate squares is very useful: I m-configurations; e.g., we might say that the machine was to have the
shall always make use of it. I shall call the one sequence of alternate squares m-configuration q and all m-configurations obtainable by substituting an
F-squares and the other sequence E-squares. The symbols on E-squares will be m-configuration for C in p(C). Then it would have qY p(q), p( p(q) ) ,p(p( p(q) ) )
liable to erasure. The symbols on F-squares form a continuous sequence. There are ... as m-configurations.
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 Our interpretation rule then is this. We are given the names of the m-configurations
satisfied by having a sufficiently rich variety of symbols capable of being printed on of the machine, mostly expressed in terms of m-functions. We are also given
E-squares. If a symbol J- is on an F-square S and a symbol I is on the E-square skeleton tables. All we want is the complete table for the m-configurations of the
next on the right of S, then S and J will be said to be marked with I. The process of machine. This is obtained by repeated substitution in the skeleton tables.
printing this I will be called marking J (or S) with I.
{237} Further examples.
4. Abbreviated tables
(In the explanations the symbol \ is used to signify the machine goes into the
m-configuration ...)
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, e(CYBYI) f ( e1(CYBYI)BYI ) From e(CYBYI)
etc. Where such processes are concerned we can abbreviate the tables for the the first I is
m-configurations considerably by the use of skeleton tables. In skeleton tables e1(CYBYI) E C erased and \C. If
there appear capital German letters [4] and small Greek letters. These are of the there is no I\B.
nature of variables. By replacing each capital German letter throughout by an e(BYI) From e(B,I) all
e( e(BYI),BYI )
m-configuration {236} and each small Greek letter by a symbol, we obtain the table letters I are
for an m-configuration. erased and \B
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 last example seems somewhat more difficult to interpret than most. Let us
the skeleton tables, there is no need to give any exact definitions in this connection. suppose that in the list of m-configurations of some machine there appears e(b, x)
e(b, x) e( e(b, x), b, x ) (= q, say). The table is
Let us consider an example: or q e(qYb, x). Or, in greater detail:
Final q e(qYb,x)
m-configuration Symbol Behaviour
m-config. e(qYb,x) f ( e1(qYbY x),b,x )
From the e1(qYb,x) E q.
f(CYB,I)
~ e
not e
L
L
f1(CYBYI)
f(CYB,I)
m-configuration
f(CYBYI) the
I C machine finds the
f1(CYB,I) not I R f1(CYB,I) symbol of form I In this we could replace e1(qYB, x) by q' and then give the table for f(with the
which is farthest to right substitutions) and eventually reach a table in which no m-functions appeared.
cpe(UYEYI,J) cpe cpe(UYEYI,J),UYEYI,J .
pe(C,J) f ( pe1(C,J)C,e) From pe(CYJ) the
machine prints J at the
R, cpe(UYEYI,J). The sequence of symbols marked I is compared with the sequence
~ Any end of the sequence of
pe1(CYJ) R pe1(C,J) symbols and \C. marked J. \E if they are similar. Otherwise U. Some of the symbols Iand Jare
None erased.
PJ
{239}
l(C) L C From f'(CYB,I) it does the Any R q(C) q(C,I). The machine
r(C) R C same as for f(CYB,I) but
moves to the left before
C.
q(C)
~ None R q1(C) finds the last symbol of
form I. \C.
f'(CYB,I)
f"(CYB,I)
f ( l(C),B,I )
f ( r(C)YB,I )
q1(C)
~ Any R
None
q(C)
C
q(C,I) q( q1(CYI) )
c(CYB,I) f ( c1(C)YB,I ) c(CYB,I). The machine
c1(C) writes at the end the first
J pe(C,J)
symbol marked I and \C. q1(C,I)
~ I
not I L
C
q1(CYI)
{238}The last line stands for the totality of lines obtainable from it by replacing J by pe2( pe(CYI,J) . The
any symbol which may occur on the tape of the machine concerned. pe2(CYI,J) pe( pe(CYJ),I ) machine prints I J at
the end.
ce(CYB,I) c( e(CYB,I), B,I ) ce(B,I). The machine ce2(BYI,J) ce( ce(BYJ),I ) ce3(BYI,J,O). The
ce(B,I) ce( ce(B,I), B,I ) copies down in order at machine copies down
the end all symbols ce3(BYI,J,O) ce( ce2(BYJ,O),I ) at the end first the
marked I and erases the symbols marked I, then
letters I;\B. those marked J, and
re(CYB,I,J) f ( re1(CYB,I,J) B,I ) re(C,B,I,J). The machine finally those
re1(CYB,I,J) replaces the first I by J marked O; it erases the
C
E,PJ and \C\B if there is no I. symbols I,J,O.
e R e1(C) From e(C) the marks
re(B,I,J) re ( re(B,I,J) B,I,J) re(B,I,J). The machine
replaces all letters I byJ;
\B.
e(C)
~ Not L
e
e(C) are erased from all
marked symbols. \C.
R,
cr(CYB,I) c( re(CYB,I,a) B,I ) cr(B,I) differs from
cr(B,I)
cr ( cr(B,I),
re(B,a,I),I )
ce(B,I) only in that the
letters I are not erased.
e1(C)
~ Any E,
None R
e1(C)
C
The m-configuration
cr(B,I) is taken up when
no letters a are on the
tape. 5. Enumeration of computable sequences.
cp(CYU,E,I,J) f' ( cp1YC1YU,J), f(UYE,J),I ) A computable sequence O is determined by a description of a machine which
cp1(CYU,J) O f' ( cp2(CYU,J),UYJ) computes O. Thus the sequence 001011011101111... is determined by the table on
p.234, and, in fact, any computable sequence is capable of being described in terms
O
cp2(CYUYO)
~ not
O
C
U.
of such a table.
It will be useful to put these tables into a kind of standard form. In the first place let
us suppose that the table is given in the same form as the first table, for example, I
The first symbol marked I and the first marked J are compared. If there is neither I on p.233. That is to say, that the entry in the operations column is always of one of
nor J \E. If there are both and the symbols are alike, \C. Otherwise \U. the forms E : E, R : E, L : Pa : Pa, R : Pa, L : R : L : or no entry at all. The table
can always be put into this form by introducing more m-configurations. Now let us
cpe(CYUYEYI,J) cp(e( e(CYCYJ)CYI ) ,UYEYI,J) give numbers to the m-configurations, calling them q1 , ..., qR, as in 1. The initial
m-configuration is always to be called q1. We also give numbers to the symbols S1,
, Sm {240}and, in particular, blank = S0, 0 = S1 , l = S2. The lines of the table are
cpe(CYUYEYI,J) differs from cp(CYUYEYI,J) in that in the case when there is
now of form
similarity the first I and J are erased.
m-config. symbol operations final m-config.
qi Sj PSk, L qm (N1) The standard description is
qi Sj PSk, R qm (N2) DADDCRDAA; DAADDRDAAA;
qi Sj PSk qm (N3) DAAADDCCRDAAAA; DAAAADDRDA;
A table is given below of the behaviour of this universal machine. The The table for U.
m-configurations of which the machine is capable are all those occurring in the first b f(b1, b1, ::) b. The machine prints :DA on
and last columns of the table, together with all those which occur when we write the F-squares after :: \anf.
R, R, P :, R, R,
out the unabbreviated tables of those which appear in the table in the form of b1 anf
PD, R, R, PA
m-functions. E.g., e(anf) appears in the table and is an m-function. Its
unabbreviated table is (see p. 239) anf g(anf1 , :) anf. The machine marks the
configuration in the last
e R e1(anf)
e(anf)
~ not e L e(anf)
anf1 con(fom, y) complete configuration with y.
\fom.
fom. The machine finds the
Any R, E, R e1(anf) ;
e(anf)
~ None e(anf)
fom
~ z
not z
R, Pz, L con(fmp, x) last semi-colon not marked
L, L
L
fom
fom
with z. It marks this semi-colon
with z and the configuration
nor ;
following it with x.
Consequently e1(anf) is an m-configuration of I. fmp cpe( e(fom,x, y), sim, fmp. The machine compares
x, y ) the sequences marked x and y.
When I is ready to start work the tape running through it bears on it the symbol e on
It erases all letters x and y.
an F-square and again e on the next E-square; after this, on F-squares only, comes
\sim if they are alike.
the S.D of the machine followed by a double colon : : (a single symbol, on an
Otherwise \fom.
F-square). The S.D consists of a number of instructions, separated by semi-colons.
Each instruction consists of five consecutive parts anf. Taking the long view, the last instruction relevant to the last configuration is
found. It can be recognised afterwards as the instruction following the last
i ) D followed by a sequence of letters A. This describes the relevant semi-colon marked z. \sim.
m-configuration.
{245}
ii ) D followed by a sequence of letters C. This describes the scanned symbol. f'(sim1Y sim. The machine marks out
sim
sim1, z) the instructions. That part of
iii ) D followed by another sequence of letters C. This describes the symbol sim1 con(sim2, ) the instructions which refers
into which the scanned symbol is to be changed. to operations to be carried
con(C,I)
~
Not
A
R, R con(CYI)
con(CYI). Starting from an
F-square, S say, the
sequence C of symbols
mf2
~ :
D R, Px, L,
mf4
mf3
marked with x. The
remainder of the complete
configuration is divided into
L,PI,R con1(CYI) L, L
A describing a configuration two parts, of which the first
not : mf3 is marked with v and the last problem of enumerating computable sequences is equivalent to the problem of
mf3 L, L with w. A colon is printed finding out whether a given number is the D.N of a circle-free machine, and we
: mf4
after the whole. \sh. have no general process for doing this in a finite number of steps. In fact, by
con(l( l(mf5) ) , applying the diagonal process argument correctly, we can show that there cannot be
mf4 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 J. This proof, although perfectly
mf5
~ Any R, Pw, R
None P:
mf5
sh 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 significance of the idea circle-free. It depends
f(sh1Y instY sh. The instructions (marked
sh not on constructing J, but on constructing J ', whose n-th figure is Yn(n).
u) u) are examined. If it is
sh1 L, L, L sh2 found that they involve {247} Let us suppose that there is such a process; that is to say, that we can invent a
Print 0 or Print 1, then machine D which, when supplied with the S.D of any computing machine M will
R, R, R, 0: or 1: is printed at the end.
sh2
~ D
not D
R
sh2
inst
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 I we could
construct a machine M to compute the sequence J'. The machine D may require a
tape. We may suppose that it uses the E-squares beyond all symbols on F- squares,
sh3
~ C
not C
R, R sh4
inst 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 first N 1 sections,
sh4
~ C
not C
R, R sh5
pe2(inst, 0, :)
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.Ns of circle-free machines. In the N-th section the machine D tests the
sh5
~ C
not C
inst
pe2(inst, 1, :)
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 first. R(N) figures of the sequence of which a D.N is N
are calculated. The R(N)-th figure of this sequence is written down as one of the
{246} inst g( l(inst1),u) inst. The next complete figures of the sequence J' computed by H. If N is not satisfactory, then R(N) = R(N
configuration is written 1) and the machine goes on to the (N + 1)-th section of its motion.
inst1 I R, E inst1(I) down, carrying out the
ce5(ov, v, y, marked instructions. The From the construction of Hwe can see that H is circle-free. Each section of the
inst1(L) letters u, v, w, x, y are motion of H comes to an end after a finite number of steps. For, by our assumption
x, u, w)
erased. \anf. about D, the decision as to whether N is satisfactory is reached in a finite number of
ce5(ov, v, y,
inst1(R) steps. If N is not satisfactory, then the N-th section is finished. If N is satisfactory,
x, u, w)
this means that the machine M(N) whose D.N is N is circle-free, and therefore its
ce5(ov, v, y, R(N)-th figure can be calculated in a finite number of steps. When this figure has
inst1(N)
x, u, w) been calculated and written down as the R(N)-th figure of J', the N-th section is
ov e(anf) finished. 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
8. Application of the diagonal process. must test whether K is satisfactory, giving a verdict s or u. Since K is the D.N
of Hand since H is circle-free, the verdict cannot be u. On the other hand the
It may be thought that arguments which prove that the real numbers are not verdict cannot be s. For if it were, then in the K-th section of its motion H would
enumerable[5] would also prove that the computable numbers and sequences cannot be bound to compute the first R(K 1)+1 = R(K) figures of the sequence computed
be enumerable . It might, for instance, be thought that the limit of a sequence of by the machine with K as its D.N and to write down the R(K)-th as a figure of the
computable numbers must be computable. This is clearly only true if the sequence sequence computed by H. The computation of the first R(K) 1 figures would be
of computable numbers is defined by some rule. carried out all right, but the instructions for calculating the R(K)-th would amount
to calculate the first R(K) figures computed by H and write down the R(K)-th.
Or we might apply the diagonal process. If the computable sequences are
This R(K)-th figure wonld never be found. I.e., H is circular, contrary both to what
enumerable, let In be the n-th computable sequence, and let Yn(m) be the m-th
we have found in the last paragraph and to the verdict s. Thus both verdicts are
figure in In. Let J be the sequence with 1 Yn(n) as its n-th figure. Since Jis
impossible and we conclude that there can be no machine D.
computable, there exists a number K such that 1 Yn(n) = YK(n) all n. Putting n =
K, we have 1 = 2YK(K), i.e. 1 is even. This is impossible. The computable {248} We can show further that there can be no machine R which, when applied
sequences are therefore not enumerable. with the S.D of an arbitrary machine M, will determine whether M ever prints a
given symbol (0 say).
The fallacy in this argument lies in the assumption that J is computable. It would be
true if we could enumerate the computable sequences by finite means, but the We will first show that, if there is a machine R, then there is a general process for
determining whether a given machine M prints 0 infinitely often. Let M1 be a is provable, then the determination can be carried out by a machine.
machine which prints the same sequence as M, except that in the position where the
first 0 printed by M stands, M1 prints %. M2 is to have the first two symbols 0 I. [Type (a)]. This argument is only an elaboration of the ideas of 1.
replaced by %, and so on. Thus, if M were to print
Computing is normally done by writing certain symbols on paper. We may suppose
A B A 01 A A B 0 0 1 0 A B, 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
then M1 would print 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
A B A % 1 A A B 0 0 1 0 A B 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
and M2 would print finite. If we were to allow an infinity of symbols, then there would be symbols
differing to an arbitrarily small extent.[6] The effect of this restriction of the
A B A % 1 A A B % 0 1 0 A B . 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 {250} 17 or
Now let F be a machine which, when supplied with the S.D of M, will write down
999999999999999 is normally treated as a single symbol. Similarly in any
successively the S.D of M, of M1, of M2, (there is such a machine). We
European language words are treated as single symbols (Chinese, however,
combine F with R and obtain a new machine, G. In the motion of G first F is used
attempts to have an enumerable infinity of symbols). The differences from our
to write down the S.D of M, and then R tests it, :0: is written if it is found that M
point of view between the single and compound symbols is that the compound
never prints 0; then F writes the S.D of M1 and this is tested, :0: being printed if
symbols, if they are too lengthy, cannot be observed at one glance. This is in
and only if M1 never prints 0; and so on. Now let us test G with R. If it is found
accordance with experience. We cannot tell at a glance whether 9999999999999999
that G never prints 0, then M prints 0 infinitely often; if G prints 0 sometimes,
and 999999999999999 are the same.
then M does not print 0 infinitely often.
The behaviour of the computer at any moment is determined by the symbols which
Similarly there is a general process for determining whether M prints 1 infinitely
he is observing. and his state of mind at that moment. We may suppose that there
often. By a combination of these processes we have a process for determining
is a bound B to the number of symbols or squares which the computer can observe
whether M prints an infinity of figures, i.e. we have a process for determining
at one moment. If he wishes to observe more, he must use successive observations.
whether M is circle-free. There can therefore be no machine R.
We will also suppose that the number of states of mind which need be taken into
The expression there is a general process for determining has been need account is finite. The reasons for this are of the same character as those which
throughout this section as equivalent to there is a machine which will determine restrict the number of symbols. If we admitted an infinity of states of mind, some of
This usage can be justified if and only if we can justify our definition of them will be arbitrarily close and will be confused. Again, the restriction is not
computable. For each of these general process problems can be expressed as a one which seriously affects computation, since the use of more complicated states
problem concerning a general process for determining whether a given integer n has of mind can be avoided by writing more symbols on the tape.
a property G(n) [e.g. G(n) might mean n is satisfactory or n is the Gdel
Let us imagine the operations performed by the computer to be split up into simple
representation of a provable formula], and this is equivalent to computing a
operations which are so elementary that it is not easy to imagine them further
number whose n-th figure is 1 if G (n) is true and 0 if it is false. {249}
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
9. The extent of the computable numbers. may suppose that in a simple operation not more than one symbol is altered. Any
other changes can be set up into simple changes of this kind. The situation in regard
No attempt has yet been made to show that the computable numbers include all to the squares whose symbols may be altered in this way is the same as in regard to
numbers which would naturally be regarded as computable. All arguments which the observed squares. We may, therefore, without loss of generality, assume that the
can be given are bound to be, fundamentally, appeals to intuition, and for this squares whose symbols are changed are always observed squares.
reason rather unsatisfactory mathematically. The real question at issue is What are
the possible processes which can be carried out in computing a number? Besides these changes of symbols, the simple operations must include changes of
distribution of observed squares. The new observed squares must be immediately
The arguments which I shall use are of three kinds. 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 previously observed
a. A direct appeal to intuition.
squares does not exceed a certain fixed amount. Let us say that each of the new
2. A proof of the equivalence of two definitions (in case the new definition has
observed squares is within L squares of an immediately previously observed square.
a greater intuitive appeal).
In connection with immediate recognisability, it may be thought that there are
3. Giving examples of large classes of numbers which are computable.
other kinds of square which are immediately recognisable. In particular, squares
Once it is granted that computable numbers are all computable several other marked by special symbols might be taken as imme- {251}diately recognisable. Now
propositions of the same character follow. In particular, it follows that, if there is a if these squares are marked only by single symbols there can be only a finite
general process for determining whether a formula of the Hilbert function calculus 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 meaning x is a non-negative integer and F(x,y) meaning y = x + 1. When we
sequence of symbols, we cannot regard the process of recognition as a simple join all these formulae together conjunctively we shall have a formula, U say,
process. This is a fundamental point and should be illustrated. In most mathematical which defines I. The terms of U must include the necessary parts of the Peano
papers the equations and theorems are numbered. Normally the numbers do not go axioms, viz.,
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 (`u)N(u)& (x) ( N(x)\(`y)F(x,y)) &
157767733443477; then, farther on in the paper, we might find ... hence (applying ( F(x,y)\N(y)) ,
Theorem 157767733443477) we have.... In order to make sure which was the
relevant theorem we should have to compare the two numbers figure by figure, which we will abbreviate to P.
possibly ticking the figures off 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 When we say U defines I, we mean that U is not a provable formula, and also
recognisable squares, it does not upset my contention so long as these squares can that, for each n, one of the following formulae (An) or (Bn) is provable.
be found by some process of which my type of machine is capable. This idea is
developed in III below. U & F[5] \ G:(u[5]), (An)[11]
The simple operations must therefore include: U & F[5] \ ( G:(u[5]) ) , (Bn)
(a) Changes of the symbol on one of the observed squares. where F[5] stands for F(u, u') & F(u', u") & F(u[5-1], u[5]).
(b) Changes of one of the squares observed to another square within L squares of
one of the previously observed squares. {253} I say that Iis then a computable sequence: a machine K: to compute I can be
obtained by a fairly simple modification of K.
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 We divide the motion of K: into sections. The n-th section is devoted to finding the
following: n-th figure of I. After the (n l)-th section is finished a double colon : : is printed
after all the symbols, and the succeeding work is done wholly on the squares to the
A. A possible change (a) of symbol together with a possible change of state of right of this double colon. The first step is to write the letter A followed by the
mind. formula (An) and then B followed by (Bn). The machine K: then starts to do the
work of K, but whenever a provable formula is found, this formula is compared
B. A possible change (b) of observed squares, together with a possible change of with (An) and with (Bn). If it is the same formula as (An), then the figure 1 is
state of mind. printed, and the n-th section is finished. If it is (Bn), then 0 is printed and the
section is finished. If it is different from both, then the work of K is continued from
The operation actually performed is determined, as has been suggested on p.250, by the point at which it had been abandoned. Sooner or later one of the formulae (An)
the state of mind of the computer and the observed symbols. In particular, they or (Bn) is reached; this follows from our hypotheses about I and U, and the known
determine the state of mind of the computer after the operation is carried out. nature of K. Hence the n-th section will eventually be finished; Ka is circle-free; I is
computable.
We may now construct a machine to do the work of this computer. To each state of
mind of the computer corresponds an m-configuration of the machine. The It can also be shown that the numbers I definable in this way by the use of axioms
machine scans B squares corresponding to the B squares observed by the computer. include all the computable numbers. This is done by describing computing
In any move the machine can change a symbol on a scanned square or can change machines in terms of the function calculus.
anyone of the scanned squares to another square distant not more than L squares
from one of the other scanned {252} squares. The move which is done, and the It must be remembered that we have attached rather a special meaning to the phrase
succeeding configuration, are determined by the scanned symbol and the U defines I. The computable numbers do not include all (in the ordinary sense)
m-configuration. The machines just described do not differ very essentially from definable numbers. Let P be a sequence whose n-th figure is 1 or 0 according as n
computing machines as defined in 2, and corresponding to any machine of this is or is not satisfactory. It is an immediate consequence of the theorem of 8 that P
type a computing machine can be constructed to compute the same sequence, that is is not computable. It is (so far as we know at present) possible that any assigned
to say the sequence computed by the computer. number of figures of P can be calculated, but not by a uniform process. When
sufficiently many figures of P have been calculated, an essentially new method is
II. [Type (b)]. necessary in order to obtain more figures.
If the notation of the Hilbert functional calculus [7] is modified so as to be III. This may be regarded as a modification of I or as a corollary of II.
systematic, and so as to involve only a finite number of symbols, it becomes
possible to construct an automatic [8] machine K which will find all the provable We suppose, as in I, that the computation is carried out on a tape; but we avoid
formulae of the calculus.[9] introducing the state of mind by considering a more physical and definite
counterpart of it. It is always possible for the computer to break off from his work,
Now let I be a sequence, and let us denote by Ga(x) the proposition The x-th to go away and forget all about it, and later to come back and go on with it. If he
figure of I is 1, so that [10] Ga(x) means The x-th figure of I is 0. Suppose does this he must leave a note of instructions (written in some standard form)
further that we can find a set of properties which define the sequence I and which explaining how the work is to be continued. This note is the counterpart of the
can be expressed in terms of Ga(x) and of the propositional functions N(x) state of mind. We will suppose that the computer works by such a desultory
manner that he never does more than one step at a sitting. The note of instructions variable is computable.
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 ii ) Any function of an integral variable defined recursively in terms of computable
{254} instructions and the symbols on the tape. That is, the state of the system may functions is computable. I.e. if Y(m, n) is computable, and r is some integer,
be described by a single expression (sequence of symbols), consisting of the then T(n) is computable, where
symbols on the tape followed by A (which we suppose not to appear elsewhere) and T(0) = r,
then by the note of instructions. This expression may be called the state formula. T(n) = Y( n, T(n 1) ) .
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 iii ) If Y(m,n) is a computable function of two integral variables, then Y(n,n) is a
formulae is expressible in the functional calculus. In other words we assume that computable function of n.
there is an axiom U 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 iv ) If Y(n) is a computable function whose value is always 0 or 1, then the
formula at the proceeding stage. If this is so, we can construct a machine to write sequence whose n-th figure is Y(n) is computable. Dedekinds theorem does not
down the successive state formulae, and hence to compute the required number. hold in the ordinary form if we replace real throughout by computable. But it
holds in the following form:
10. Examples of large classes of numbers which are
v ) If G(I) is a propositional function of the computable numbers and
computable.
It will be useful to begin with definitions of a computable function of an integral a ) (`I)(`J) { G(I) & ( G(J) ) } ,
variable and of a computable variable, etc. There are many equivalent ways of
defining a computable function of an integral variable. The simplest is, possibly, as b ) G(I) & ( G(J ) ) \(I<J),
follows. If O is a computable sequence in which 0 appears infinitely [12] often, and
n is an integer, then let us defines W(O,n) to be the number of figures 1 between and there is a general process for determining the truth value of G(I), then {256}
the n-th and the (n+1)-th figure 0 in O. Then Y(n) is computable if , for all n and there is a computable number W such that
some O, Y(n)=W(O,n). An equivalent definition is this. Let H(x,y) mean Y(x) = y.
Then if we can find a contradiction-free axiom U& such that U& \P, and if for each G(I) \ I ? W,
integer n there exists and integer N, such that G(I) \ I @ W.
U& & F[9] \ H(u[5], u(#[5]) 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.
and such that, if m / Y(n), then, for some N ',
Owing to this restriction of Dedekinds theorem, we cannot say that a computable
U& & F[9Z] \ ( H(u[5],4) ) , bounded increasing sequence of computable numbers has a computable limit. This
may possibly be understood by considering a sequence such as
then Y may be said to be a computable function.
1, !, $, *, &, !, .
We cannot define general computable functions of a real variable, since there is no
general method of describing a real number, but we can define a computable On the other hand, (v) enables us to prove
function of a computable variable. If n is satisfactory, let On be the number
vi ) If Iand J are computable and I<J and Y(I)<0<Y(J), where Y(I) is a computable
computed by M(n), and let
increasing continuous function, then there is a unique computable number O,
satisfying I<O<J and Y(O) = 0.
In=tan( X(On !) ) ,
Computable convergence.
{255} unless On = 0 or On = 1, in either of which cases In = 0. Then, as n runs
through the satisfactory numbers, In runs through the computable numbers.[13] We shall say that a sequence Jn of computable numbers converges computably if
Now let Y(n) be a computable function which can be shown to be such that for any there is a computable integral valued function N(Q) of the computable variable Q,
satisfactory argument its value is satisfactory.[14] Then the function f, defined by such that we can show that, if Q>0 and n>N(Q) and m>N(Q), then |Jn Jm|<Q.
f(In) = I&!n", is a computable function and all computable functions of a
computable variable are expressible in this form. We can then show that
Similar definitions may be given of computable functions of several variables, vii ) A power series whose coefficients form a computable sequence of computable
computable-valued functions of an integral variable, etc. numbers is computably convergent at all computable points in the interior of its
interval of convergence.
I shall enunciate a number of theorems about computability, but I shall prove only
(ii) and a theorem similar to (iii). viii ) The limit of a computably convergent sequence is computable.
i ) A computable function of a computable function of an integral or computable And with the obvious definition of uniformly computably convergent:
{258}
ix ) The limit of a uniformly computably convergent computable sequence of
computable functions is a computable function. Hence
U* & F[8Z] \ [{ G(u[&O5P], u [4]) v G(u[4], u[&O5P]) & H(u[5], u[&O5P]) } \
x ) The sum of a power series whose coefficients form a computable sequence is a ( H(u[5], u[4]) ) ].
computable function in the interior of its interval of convergence.
Hence U* & F[8Z] \ ( H(u[5],u[4]) )
From (viii) and X= 4(l #+% ...) we deduce that X is computable. From e= 1 + 1
+ $ + $ we deduce that e is computable. The conditions of our second definition of a computable function are therefore
satisfied. Consequently T is a computable function.
{257} From (vi) we deduce that all real algebraic numbers are computable.
Proof of a modified form of (iii).
From (vi) and (x) we deduce that the real zeros of the Bessel functions are
computable. Suppose that we are given a machine N, which, starting with a tape bearing on it ee
followed by a sequence of any number of letters F on F-squares and in the
Proof of (ii).
m-configuration b, will compute a sequence On depending on the number n of
Let H(x,y) mean T(x)=y, and let K(x,y,z) mean Y(x,y)=z. U& is the axiom for letters F. If Yn(m) is the m-th figure of On, then the sequence J whose n-th
Y(x,y). We take U* to be figure is Yn(n) is computable.
We suppose that the table for N has been written out in such a way that in each line
U& & P & ( F(x, y) \G(x,y) ) & ( G(x, y) & G(y,z)\G(x,z) )
only one operation appears in the operations column. We also suppose that C, B, %
and ^ do not occur in the table, and we replace e throughout by C, 0 by % and 1
& ( F[6]\H(u,u[6]) ) & ( F(v,w) & H(v, x) & by ^. Further substitutions are then made. Any line of form
K(w,x,z)\H(w,z) )
U I P% B
& [H(w,z)& G(z,t) v G(t,z)\ ( H(w,t) ) ].
we replace by
I shall not give the proof of consistency of U*. Such a proof may be constructed by U I P% re(BYu, h, k)
the methods used in Hilbert and Bernays, Grundlagen der Mathematik (Berlin,
1934), p.209 et seq. The consistency is also clear from the meaning. and any line of the form
Suppose that for some n, N, we have shown U I P^ B
then, for some M, and we add to the table the following lines:
U* & F[8] \K(u[5], u[&O5-1P], u[&O5P] u pe(u1,0)
u1 R, Pk, R, PB, R, PB u2
U* & F[8] \F(u[5-1], u[5] & H(u[5-1], u[&O5-1P] u2 re(u3Yu3, k, h)
& Ku[5], u[&O5-1P], u[&O5P])
u2 pe(u2, F)
and
and similar lines with v for u and 1 for 0 together with the following line
U* & F[8] \[F(u[5-1], u[5] & H(u[5-1], u[&O5-1P]
& Ku[5], u[&O5-1P], u[&O5P]) \H(u[5], u[&O5P])]. c R, PC, R, Ph b.
Hence U* & F[8] \H(u[5], u[&O5P]). We then have the table for the machine N' which computes J. The initial
m-confguration is c, and the initial scanned symbol is the second e. {259}
Also U* & F[6] \H(u,u[&O0P] .
U* & F[8] \H(u[5], u[&O5P]) 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
is provable. Also, if M' @ M and M' @ m and m /T(u), then present I shall confine myself to proving this particular theorem. For the
formulation of this problem I must refer the reader to Hilbert and Ackermanns
U* & F[8Z] \G(u[&O5P]), u[4]) v G(u[4], u[&O5P]) Grundzge der Theoretischen Logik (Berlin, 1931), chapter 3.
I propose, therefore, to show that there can be no general process for determining Sk, Lqo}and take their logical sum. This we call Des (M).
whether a given formula U of the functional calculus Z is provable, i.e. that there
can be no machine which, supplied with any one U of these formulae, will The formula Un (M) is to be
eventually say whether U is provable.
(`u)[N(u) & (x) ( N(x)\`x')F(x,x') )
It should perhaps be remarked what I shall prove is quite different from the
well-known results of Gdel [15]. Gdel has shown that (in the formalism of & (y,z)( F(y,z)\N(y) & N(z) ) & (y)RS6(u,y)
Principia Mathematica) there are propositions U such that neither U nor U is
provable. As a consequence of this, it is shown that no proof of consistency of
Principia Mathematica (or of Z) can be given within that formalism. On the other & I(u,u) & Kq7 (u) & Des(M) ]
hand, I shall show that there is no general method which tells whether a given
formula U is provable in Z, or, what comes to the same, whether the system \(`s)(`t)[N(s) & N(t) & RS7(s,t)].
consisting of Z with U adjoined as an extra axiom is consistent.
[ N(u) & ... Des (M) ] may be abbreviated to A(M).
If the negation of what Gdel has shown had been proved, i.e. if, for each U,
either U or U is provable, then we should have an immediate solution of the When we substitute the meanings suggested on p.259 60 we find that Un (M) has
Entscheidungsproblem. For we can invent a machine K which will prove the interpretation in some complete configuration of MY S1(i.e. 0) appears on the
consecutively all provable formulae. Sooner or later K will reach either U or U. If tape. Corresponding to this I prove that
it reaches U, then we know that U is provable. If it reaches U, then, since Z is
consistent (Hilbert and Ackermann, p.65), we know that U is not provable. a ) If S1 appears on the tape in some complete configuration of M, then Un (M) is
provable.
Owing to the absence of integers in Z the proofs appear somewhat lengthy. The
underlying ideas are quite straightforward. b ) If Un (M) is provable, then S1 appears on the tape in some complete
configuration of M.
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 When this has been done, the remainder of the theorem is trivial.
provable, then there is a general method for determining whether M ever prints 0.
{261}LEMMA1. If S1 appears on the tape in some complete configuration of M ,
The interpretations of the propositional functions involved are as follows: then Un (M) is provable.
R So(x,y) is to be interpreted as in the complete configuration x (of M) the We have to show how to prove Un (M). Let us suppose that in the n-th complete
symbol on the square y is S . configuration 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
{260}I(x,y) is to be interpreted as in the complete configuration x the square y is the m-configuration is qk!n". Then we may form the proposition
scanned.
RSx[v\6](u[5], u) & RSx[v\7] (u[5], u') & ... RSx[v\v](u[5],u[5])
Kqp(x) is to be interpreted as in the complete configuration x the m-configuration
is qm. & I(u[5],u[`[5]) & Kqh[v], (u[5])
F(x,y) is to be interpreted as y is the immediate successor of x. & (y)F((y,u') v F(u,y) v F(u',y) v ... v F(u[5-1],y)
v RS6(u[5], y))
Inst{qiSj Sk Lqo} is to be an abbreviation for
which we may abbreviate to CCn.
(x,y,x',y') ~(R Sg(x,y) & I(x,y) & Kqf(x) & F(x,x') & F(y',y)) As before, F(u,u') & F(u,u") & ... & F(u[6-1],u[6]), is abbreviated to F[6].
I shall show that all formulae of the form A(M) & F[5]\ CCn (abbreviated to CFn)
(
\ I(x',y') & RSh(x',y) & Kqo(x') are provable. The meaning of CFn is The n-th complete configuration of M is so
and so, where so and so stands for the actual n-th complete configuration of M.
& (z) [F(y',z) v ( R Sg(x',z)\RSh(x',z)) ] )}. That CFn should be provable is therefore to be expected.
CF0 is certainly provable, for in the complete configuration the symbols are all
Inst{qi, Sj, Sk, Rqo} and Inst{qi, Sj, Sk, Nqo} blanks, the m-configuration is q1, and the scanned square is u, i.e. CC0 is
are to be abbreviations for other similarly constructed expressions. (y)RS6(u,y) & I(u,u) & Kq7(u).
Let us put the description of M into the first standard form of 6. This description A(M) \CC0 is then trivial.
consists of a number of expressions such as qi, Sj, Sk, Lqo (or with R or N
substituted for L). Let us form all the corresponding expressions such as Inst{qi, Sj, 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 + l)-th configuration the interesting to express Un(M) in a form in which all quantors are at the beginning.
machine moves to left or to right or remains stationary. We suppose that the first Un(M) is, in fact, expressible in the form
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 (u)(`x)(w)(`u1) ... (`un)B, (I)
Des(M) must include Inst{qa Sb Sd Lqc} as one of its terms, i.e.
where B contains no quantors, and n = 6. By unimportant modifications we can
Des(M) \ Inst{qa Sb Sd Lqc}. obtain a formula, with all essential properties of Un(M), which is of form (I) with n
= 5.
Hence A(M) & F[5+1] \ Inst{qa Sb Sd Lqc}& F[5+1].
In view of the large number of particular cases of solutions of the If it is identical with the first of these, then the machine prints the figure 1 and the
Entscheidungsproblem for formulae with restricted systems of quantors, it {263} is n-th section is finished. If it is identical with the second, then 0 is printed and the
section is finished. If it is different from both, then the work of' L2 is resumed. By Vw {W9} {Q}(W9) (w)
hypothesis, {M9}(Nn) is convertible into one of the formulae N2 or N1;
consequently the n-th section will eventually be finished, i.e. the n-th figure of O it will have the required property.[16]
will eventually be written down.
The Graduate College,
To prove that every computable sequence O is V-definable, we must show how to Princeton University,
and a formula M9 such that, for all integers n, New Jersey,
U.S.A.
{M9} (Nn) conv N1+&9!n".
Let M be a machine which computes O and let us take some description of the {544} {Proc. London Math. Soc, Ser. 2, Vol. 43,. No. 2198}
complete configurations of M by means of numbers, e.g. we may take the D.N of
the complete configuration as described in 6. Let W(n) be the D.N of the n-th
complete configuration of M. The table for the machine M gives us a relation ON COMPUTABLE NUMBERS, WITH AN
between W(n + 1) and W(n) of the form APPLICATION TO THE
W(n + 1) = p9( W(n) ), ENTSCHEIDUNGSPROBLEM.
where p9 is a function of very restricted, although not usually very simple, form: it
A CORRECTION
is determined by the table for M. p9 is V-definable (I omit the proof of this), i.e.
there is a W.F.F. A9 such that, for all integers n, By A. M. Turing
{A9} (Nw!n") conv Nw!n+1". In a paper entitled On computable numbers, with an application to the
Entseheidungsproblem [17] the author gave a proof of the insolubility of the
Let U9 stand for Entseheidungsproblem of the engere Funktionenkalkl.[18] This proof contained
some formal errors which will be corrected here: there are also some other
Vu[~ {u}(A9)x(Nr) ] statements in the same paper which should be modified, although they are not
actually false as they stand.
where r = W(0); then, for all integers n,
The expression for Inst{qi Sj Sk Lqo} on p.260 of the paper quoted should read
{U9} (Nn) conv Nw!n".