0% found this document useful (0 votes)
25 views33 pages

Turing Machine Sample

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views33 pages

Turing Machine Sample

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

pdf version of the entry

Turing Machines
https://plato.stanford.edu/archives/win2021/entries/turing-machine/ Turing Machines
from the Winter 2021 Edition of the First published Mon Sep 24, 2018

Stanford Encyclopedia Turing machines, first described by Alan Turing in Turing 1936–7, are
simple abstract computational devices intended to help investigate the
of Philosophy extent and limitations of what can be computed. Turing’s ‘automatic
machines’, as he termed them in 1936, were specifically devised for the
computing of real numbers. They were first named ‘Turing machines’ by

E
Alonzo Church in a review of Turing’s paper (Church 1937). Today, they
are considered to be one of the foundational models of computability and
(theoretical) computer science.[1]

Colin Allen
PL
Edward N. Zalta
Principal Editor

Hannah Kim
Uri Nodelman
Senior Editor

Paul Oppenheimer 1. Definitions of the Turing Machine


Associate Editor Associate Editor Associate Editor 1.1 Turing’s Definition
Faculty Sponsors: R. Lanier Anderson & Thomas Icard 1.2 Post’s Definition
Editorial Board: https://plato.stanford.edu/board.html 1.3 The Definition Formalized
Library of Congress ISSN: 1095-5054
1.4 Describing the Behavior of a Turing Machine
M
Notice: This PDF version was distributed by request to mem- 2. Computing with Turing Machines
bers of the Friends of the SEP Society and by courtesy to SEP 2.1 Some (Simple) Examples
content contributors. It is solely for their fair use. Unauthorized 2.2 Computable Numbers and Problems
distribution is prohibited. To learn how to join the Friends of the 2.3 Turing’s Universal Machine
SA

SEP Society and obtain authorized PDF versions of SEP entries, 2.3.1 Interchangeability of program and behavior: a
please visit https://leibniz.stanford.edu/friends/ .
notation
Stanford Encyclopedia of Philosophy 2.3.2 Interchangeability of program and behavior: a basic
Copyright c 2021 by the publisher
The Metaphysics Research Lab set of functions
Department of Philosophy 2.4 The Halting Problem and the Entscheidungsproblem
Stanford University, Stanford, CA 94305
2.4.1 Direct and indirect proofs of uncomputable decision
Turing Machines
problems
Copyright c 2021 by the author
Liesbeth De Mol 2.4.2 Turing’s basic problem CIRC?, PRINT? and the
All rights reserved. Entscheidungsproblem
Copyright policy: https://leibniz.stanford.edu/friends/info/copyright/ 2.4.3 The halting problem

1
Turing Machines Liesbeth De Mol

2.5 Variations on the Turing machine Entscheidungsproblem The problem to decide for every statement
3. Philosophical Issues Related to Turing Machines in first-order logic (the so-called restricted functional calculus, see
3.1 Human and Machine Computations the entry on classical logic for an introduction) whether or not it is
3.2 Thesis, Definition, Axioms or Theorem derivable in that logic.
4. Alternative Historical Models of Computability
4.1 General Recursive Functions Note that in its original form (Hilbert & Ackermann 1928), the problem
4.2 λ-Definability was stated in terms of validity rather than derivability. Given Gödel’s
4.3 Post Production Systems completeness theorem (Gödel 1929) proving that there is an effective
4.4 Formulation 1 procedure (or not) for derivability is also a solution to the problem in its
5. Impact of Turing Machines on Computer Science validity form. In order to tackle this problem, one needs a formalized
5.1 Impact on Theoretical Computer Science notion of “effective procedure” and Turing’s machines were intended to do
5.2 Turing Machines and the Modern Computer exactly that.
5.3 Theories of Programming
A Turing machine then, or a computing machine as Turing called it, in
Bibliography
Turing’s original definition is a machine capable of a finite set of
configurations q1 , … , qn (the states of the machine, called m-
Academic Tools
Other Internet Resources
configurations by Turing). It is supplied with a one-way infinite and one-
Busy Beaver
dimensional tape divided into squares each capable of carrying exactly one
The Halting Problem
symbol. At any moment, the machine is scanning the content of one
Online Turing Machine Simulators
square r which is either blank (symbolized by S0 ) or contains a symbol
S1 , … , Sm with S1 = 0 and S2 = 1.
Software simulators
Hardware simulators
Related Entries The machine is an automatic machine (a-machine) which means that at
any given moment, the behavior of the machine is completely determined
by the current state and symbol (called the configuration) being scanned.
1. Definitions of the Turing Machine This is the so-called determinacy condition (Section 3). These a-machines
are contrasted with the so-called choice machines for which the next state
1.1 Turing’s Definition depends on the decision of an external device or operator (Turing 1936–7:
232). A Turing machine is capable of three types of action:
Turing introduced Turing machines in the context of research into the
foundations of mathematics. More particularly, he used these abstract 1. Print Si , move one square to the left (L) and go to state qj
devices to prove that there is no effective general method or procedure to 2. Print Si , move one square to the right (R) and go to state qj
solve, calculate or compute every instance of the following problem:

2 Stanford Encyclopedia of Philosophy Winter 2021 Edition 3


Turing Machines Liesbeth De Mol

3. Print Si , do not move (N) and go to state qj Where current definitions of Turing machines usually have only one type
of symbols (usually just 0 and 1; it was proven by Shannon that any
The ‘program’ of a Turing machine can then be written as a finite set of Turing machine can be reduced to a binary Turing machine (Shannon
quintuples of the form: 1956)) Turing, in his original definition of so-called computing machines,
used two kinds of symbols: the figures which consist entirely of 0s and 1s
qi Sj Si,j Mi,j qi,j
and the so-called symbols of the second kind. These are differentiated on
Where qi is the current state, Sj the content of the square being scanned, the Turing machine tape by using a system of alternating squares of
Si,j the new content of the square; Mi,j specifies whether the machine is to figures and symbols of the second kind. One sequence of alternating
move one square to the left, to the right or to remain at the same square, squares contains the figures and is called the sequence of F-squares. It
and qi,j is the next state of the machine. These quintuples are also called contains the sequence computed by the machine; the other is called the
the transition rules of a given machine. The Turing machine TSimple which, sequence of E-squares. The latter are used to mark F-squares and are there
when started from a blank tape, computes the sequence S0 S1 S0 S1 … is to “assist the memory” (Turing 1936–7: 232). The content of the E-
then given by Table 1. squares is liable to change. F-squares however cannot be changed which
means that one cannot implement algorithms whereby earlier computed
TABLE 1: Quintuple representation of TSimple digits need to be changed. Moreover, the machine will never print a

; q1 S0 S0 Rq2
symbol on an F-square if the F-square preceding it has not been computed

; q1 S1 S0 Rq2
yet. This usage of F and E-squares can be quite useful (see Sec. 2.3) but,

; q2 S0 S1 Rq1
as was shown by Emil L. Post, it results in a number of complications (see

; q2 S1 S1 Rq1
Sec. 1.2).

There are two important things to notice about the Turing machine setup.
Note that TSimple will never enter a configuration where it is scanning S1 so
The first concerns the definition of the machine itself, namely that the
that two of the four quintuples are redundant. Another typical format to
machine’s tape is potentially infinite. This corresponds to an assumption
represent Turing machines and which was also used by Turing is the
that the memory of the machine is (potentially) infinite. The second
transition table. Table 2 gives the transition table of TSimple.
concerns the definition of Turing computable, namely that a function will
TABLE 2: Transition table for TSimple be Turing computable if there exists a set of instructions that will result in
a Turing machine computing the function regardless of the amount of time
S0 S1 it takes. One can think of this as assuming the availability of potentially
q1 S0 R q2 S0 R q2 infinite time to complete the computation.
q2 S1 R q1 S1 R q1
These two assumptions are intended to ensure that the definition of
computation that results is not too narrow. This is, it ensures that no

4 Stanford Encyclopedia of Philosophy Winter 2021 Edition 5


Turing Machines Liesbeth De Mol

computable function will fail to be Turing-computable solely because While the uncomputability of PRINT? plays a central role in Post’s proof,
there is insufficient time or memory to complete the computation. It Post believed that Turing’s proof of that was affected by the “spurious
follows that there may be some Turing computable functions which may Turing convention” (Post 1947: 9), viz. the system of F and E-squares.
not be carried out by any existing computer, perhaps because no existing Thus, Post introduced a modified version of the Turing machine. The most
machine has sufficient memory to carry out the task. Some Turing important differences between Post’s and Turing’s definition are:
computable functions may not ever be computable in practice, since they
may require more memory than can be built using all of the (finite number 1. Post’s Turing machine, when in a given state, either prints or moves
of) atoms in the universe. If we moreover assume that a physical computer and so its transition rules are more ‘atomic’ (it does not have the
is a finite realization of the Turing machine, and so that the Turing composite operation of moving and printing). This results in the
machine functions as a good formal model for the computer, a result quadruple notation of Turing machines, where each quadruple is in
which shows that a function is not Turing computable is very strong, since one of the three forms of Table 3:
it implies that no computer that we could ever build could carry out the TABLE 3: Post’s Quadruple notation
computation. In Section 2.4, it is shown that there are functions which are
not Turing-computable. qi Sj Si,j qi,j
qi Sj Lqi,j
1.2 Post’s Definition qi Sj Rqi,j

Turing’s definition was standardized through (some of) Post’s 2. Post’s Turing machine has only one kind of symbol and so does not
modifications of it in Post 1947. In that paper Post proves that a certain rely on the Turing system of F and E-squares.
problem from mathematics known as Thue’s problem or the word problem 3. Post’s Turing machine has a two-way infinite tape.
for semi-groups is not Turing computable (or, in Post’s words, recursively 4. Post’s Turing machine halts when it reaches a state for which no
unsolvable). Post’s main strategy was to show that if it were decidable actions are defined.
then the following decision problem from Turing 1936–7 would also be
decidable: Note that Post’s reformulation of the Turing machine is very much rooted
in his Post 1936. (Some of) Post’s modifications of Turing’s definition
PRINT? The problem to decide for every Turing machine M became part of the definition of the Turing machine in standard works
whether or not it will ever print some symbol (for instance, 0). such as Kleene 1952 and Davis 1958. Since that time, several (logically
equivalent) definitions have been introduced. Today, standard definitions
It was however proven by Turing that PRINT? is not Turing computable
of Turing machines are, in some respects, closer to Post’s Turing machines
and so the same is true of Thue’s problem.
than to Turing’s machines. In what follows we will use a variant on the
standard definition from Minsky 1967 which uses the quintuple notation
but has no E and F-squares and includes a special halting state H. It also

6 Stanford Encyclopedia of Philosophy Winter 2021 Edition 7


Turing Machines Liesbeth De Mol

has only two move operations, viz., L and R and so the action whereby the 1.4 Describing the Behavior of a Turing Machine
machine merely prints is not used. When the machine is started, the tape is
blank except for some finite portion of the tape. Note that the blank square We introduce a representation which allows us to describe the behavior or
can also be represented as a square containing the symbol S0 or simply 0. dynamics of a Turing machine Tn , relying on the notation of the complete
The finite content of the tape will also be called the dataword on the tape. configuration (Turing 1936–7: 232) also known today as instantaneous
description (ID) (Davis 1982: 6). At any stage of the computation of Ti its
1.3 The Definition Formalized ID is given by:

Talk of “tape” and a “read-write head” is intended to aid the intuition (and (1) the content of the tape, that is, its data word
reveals something of the time in which Turing was writing) but plays no (2) the location of the reading head
important role in the definition of Turing machines. In situations where a (3) the machine’s internal state
formal analysis of Turing machines is required, it is appropriate to spell
So, given some Turing machine T which is in state qi scanning the symbol
out the definition of the machinery and program in more mathematical
Sj , its ID is given by Pqi Sj Q where P and Q are the finite words to the left
terms. Purely formally a Turing machine can be specified as a quadruple
and right hand side of the square containing the symbol Sj . Figure 1 gives
T = (Q, Σ, s, δ) where:
a visual representation of an ID of some Turing machine T in state qi
Q is a finite set of states q scanning the tape.
Σ is a finite set of symbols
s is the initial state s ∈ Q

δ is a transition function determining the next move:

δ : (Q × Σ) → (Σ × {L, R} × Q) FIGURE 1: A complete configuration of some Turing machine T

The transition function for the machine T is a function from computation The notation thus allows us to capture the developing behavior of the
states to computation states. If δ(qi , Sj ) = (Si,j , D, qi,j ), then when the machine and its tape through its consecutive IDs. Figure 2 gives the first
machine’s state is qj , reading the symbol Sj , T replaces Sj by Si,j , moves in few consecutive IDs of TSimple using a graphical representation.
direction D ∈ {L, R} and goes to state qi,j .

FIGURE 2: The dynamics of TSimple graphical representation

8 Stanford Encyclopedia of Philosophy Winter 2021 Edition 9


Turing Machines Liesbeth De Mol

The animation can be started by clicking on the picture. One can also be carried out in computing a number” (Turing 1936–7: 249), it follows
explicitly print the consecutive IDs, using their symbolic representations. that, if we accept Turing’s analysis:
This results in a state-space diagram of the behavior of a Turing machine.
⎯⎯

So, for TSimple we get (Note that 0 means the infinite repetition of 0s):
Any problem not computable by a Turing machine is not
“computable” in the absolute sense (at least, absolute relative to
⎯⎯
⎯ ⎯⎯

0q1 00 humans, see Section 3).
⎯⎯
⎯ ⎯⎯

00 q2 00
For any problem that we believe is computable, we should be able to
⎯⎯
⎯ ⎯⎯
⎯ construct a Turing machine which computes it. To put it in Turing’s
001q1 00 wording:
⎯⎯
⎯ ⎯⎯

0010 q2 00
⎯⎯
⎯ ⎯⎯
⎯ It is my contention that [the] operations [of a computing
00101q1 00
machine] include all those which are used in the computation
⎯⎯
⎯ ⎯⎯

001010 q2 00 of a number. (Turing 1936–7: 231)

In this section, examples will be given which illustrate the computational
2. Computing with Turing Machines power and boundaries of the Turing machine model. Section 3 then
discusses some philosophical issues related to Turing’s thesis.
As explained in Sec. 1.1, Turing machines were originally intended to
formalize the notion of computability in order to tackle a fundamental 2.1 Some (Simple) Examples
problem of mathematics. Independently of Turing, Alonzo Church gave a
different but logically equivalent formulation (see Sec. 4). Today, most In order to speak about a Turing machine that does something useful from
computer scientists agree that Turing’s, or any other logically equivalent, the human perspective, we will have to provide an interpretation of the
formal notion captures all computable problems, viz. for any computable symbols recorded on the tape. For example, if we want to design a
problem, there is a Turing machine which computes it. This is known as machine which will compute some mathematical function, addition say,
the Church-Turing thesis, Turing’s thesis (when the reference is only to then we will need to describe how to interpret the ones and zeros
Turing’s work) or Church’s thesis (when the reference is only to Church’s appearing on the tape as numbers.
work).
In the examples that follow we will represent the number n as a block of
It implies that, if accepted, any problem not computable by a Turing n + 1 copies of the symbol ‘1’ on the tape. Thus we will represent the
machine is not computable by any finite means whatsoever. Indeed, since number 0 as a single ‘1’ and the number 3 as a block of four ‘1’s. This is
it was Turing’s ambition to capture “[all] the possible processes which can called unary notation.

10 Stanford Encyclopedia of Philosophy Winter 2021 Edition 11


Turing Machines Liesbeth De Mol

We will also have to make some assumptions about the configuration of Addition of two numbers n and m
the tape when the machine is started, and when it finishes, in order to
Table 4 gives the transition table of a Turing machine TAdd2 which adds
interpret the computation. We will assume that if the function to be
two natural numbers n and m. We assume the machine starts in state q1
computed requires n arguments, then the Turing machine will start with its
scanning the leftmost 1 of n + 1.
head scanning the leftmost ‘1’ of a sequence of n blocks of ‘1’s. The
blocks of ‘1’s representing the arguments must be separated by a single TABLE 4: Transition table for TAdd 2
occurrence of the symbol ‘0’. For example, to compute the sum 3 + 4, a
Turing machine will start in the configuration shown in Figure 3. 0 1
q1 / 0 R q2
q2 1 L q3 1 R q2
q3 0 R q4 1 L q3
q4 / 0 R qhalt

FIGURE 3: Initial configuration for a computation over two numbers n and


The idea of doing an addition with Turing machines when using unary
m representation is to shift the leftmost number n one square to the right.
This is achieved by erasing the leftmost 1 of n + 1 (this is done in state
q1 ) and then setting the 0 between n + 1 and m + 1 to 1 (state q2 ). We
Here the supposed addition machine takes two arguments representing the
then have n + m + 2 and so we still need to erase one additional 1. This is
numbers to be added, starting at the leftmost 1 of the first argument. The
arguments are separated by a single 0 as required, and the first block
done by erasing the leftmost 1 (states q3 and q4 ). Figure 4 shows this
computation for 3 + 4 .
contains four ‘1’s, representing the number 3, and the second contains five
‘1’s, representing the number 4.

A machine must finish in standard configuration too. There must be a


single block of symbols (a sequence of 1s representing some number or a
symbol representing another kind of output) and the machine must be
scanning the leftmost symbol of that sequence. If the machine correctly FIGURE 4: The computation of 3 + 4 by TAdd 2
computes the function then this block must represent the correct answer.
Addition of n numbers
Adopting this convention for the terminating configuration of a Turing
We can generalize TAdd2 to a Turing machine TAddi for the addition of an
arbitrary number i of integers n1 , n2 , … , nj . We assume again that the
machine means that we can compose machines by identifying the final

machine starts in state q1 scanning the leftmost 1 of n1 + 1. The transition


state of one machine with the initial state of the next.

table for such a machine TAddi is given in Table 5.

12 Stanford Encyclopedia of Philosophy Winter 2021 Edition 13


Turing Machines Liesbeth De Mol

TABLE 5: Transition table for TAdd i 2.2 Computable Numbers and Problems
0 1
0 R q2
Turing’s original paper is concerned with computable (real) numbers. A
q1 /
q2 1 R q3 1 R q2 (real) number is Turing computable if there exists a Turing machine which
q3 0 L q6 1 L q4 computes an arbitrarily precise approximation to that number. All of the
q4 0 R q5 1 L q4 algebraic numbers (roots of polynomials with algebraic coefficients) and
q5 / 0 R q1 many transcendental mathematical constants, such as e and π are Turing-
q6 0 R qhalt 1 L q6 computable. Turing gave several examples of classes of numbers
computable by Turing machines (see section 10 Examples of large classes
The machine TAddi uses the principle of shifting the addends to the right of numbers which are computable of Turing 1936–7) as a heuristic
which was also used for TAdd2 . More particularly, Taddi computes the sum argument showing that a wide diversity of classes of numbers can be
of n1 + 1, n2 + 1,… ni + 1 from left to right, viz. it computes this sum as computed by Turing machines.
follows:
One might wonder however in what sense computation with numbers, viz.
N1 = n1 + n2 + 1 calculation, captures non-numerical but computable problems and so how
N2 = N1 + n3 Turing machines capture all general and effective procedures which
N3 = N2 + n4 determine whether something is the case or not. Examples of such
⋮ problems are:
Ni = Ni−1 + ni + 1
“decide for any given x whether or not x denotes a prime”
The most important difference between TAdd2 and TAddi is that TAddi needs “decide for any given x whether or not x is the description of a Turing
to verify if the leftmost addend Nj , 1 < j ≤ i is equal to Ni . This is machine”.
achieved by checking whether the first 0 to the right of Nj is followed by
another 0 or not (states q2 and q3 ). If it is not the case, then there is at least In general, these problems are of the form:
one more addend nj+1 to be added. Note that, as was the case for TAdd2 ,
“decide for any given x whether or not x has property X”
the machine needs to erase an additional one from the addend nj+1 which
is done via state q5 . It then moves back to state q1 . If, on the other hand, An important challenge of both theoretical and concrete advances in
Nj = Ni , the machine moves to the leftmost 1 of computing (often at the interface with other disciplines) has become the
Ni = n1 + n2 + … + ni + 1 and halts. problem of providing an interpretation of X such that it can be tackled
computationally. To give just one concrete example, in daily
computational practices it might be important to have a method to decide

14 Stanford Encyclopedia of Philosophy Winter 2021 Edition 15


Turing Machines Liesbeth De Mol

for any digital “source” whether or not it can be trusted and so one needs a (and so that Turing’s thesis is valid), it is implied that anything which can
computational interpretation of trust. be “computed”, can also be computed by that one universal machine.
Conversely, any problem that is not computable by the universal machine
The characteristic function of a predicate is a function which has the value is considered to be uncomputable.
TRUE or FALSE when given appropriate arguments. In order for such
functions to be computable, Turing relied on Gödel’s insight that these This is the rhetorical and theoretical power of the universal machine
kind of problems can be encoded as a problem about numbers (See concept, viz. that one relatively simple formal device captures all “the
Gödel’s incompleteness theorem and the next Sec. 2.3) In Turing’s possible processes which can be carried out in computing a number”
wording: (Turing 1936–7). It is also one of the main reasons why Turing has been
retrospectively identified as one of the founding fathers of computer
The expression “there is a general process for determining …” has science (see Section 5).
been used [here] […] as equivalent to “there is a machine which
will determine …”. This usage can be justified if and only if we So how to construct a universal machine U out of the set of basic
can justify our definition of “computable”. For each of these operations we have at our disposal? Turing’s approach is the construction
“general process” problems can be expressed as a problem of a machine U which is able to (1) ‘understand’ the program of any other
concerning a general process for determining whether a given machine Tn and, based on that “understanding”, (2) ‘mimic’ the behavior
integer n has a property G(n) [e.g. G(n) might mean “n is of Tn . To this end, a method is needed which allows to treat the program
satisfactory” or “n is the Gödel representation of a provable and the behavior of Tn interchangeably since both aspects are manipulated
formula”], and this is equivalent to computing a number whose n- on the same tape and by the same machine. This is achieved by Turing in
th figure is 1 if G(n) is true and 0 if it is false. (1936–7: 248) two basic steps: the development of (1) a notational method (2) a set of
elementary functions which treats that notation—independent of whether
It is the possibility of coding the “general process” problems as numerical it is formalizing the program or the behavior of Tn —as text to be
problems that is essential to Turing’s construction of the universal Turing compared, copied down, erased, etc. In other words, Turing develops a
machine and its use within a proof that shows there are problems that technique that allows to treat program and behavior on the same level.
cannot be computed by a Turing machine.
2.3.1 Interchangeability of program and behavior: a notation
2.3 Turing’s Universal Machine
Given some machine Tn , Turing’s basic idea is to construct a machine Tn′
The universal Turing machine which was constructed to prove the
which, rather than directly printing the output of Tn , prints out the
uncomputability of certain problems, is, roughly speaking, a Turing
successive complete configurations or instantaneous descriptions of Tn . In
machine that is able to compute what any other Turing machine computes.
order to achieve this, Tn′ :
Assuming that the Turing machine notion fully captures computability

16 Stanford Encyclopedia of Philosophy Winter 2021 Edition 17


Turing Machines Liesbeth De Mol

[…] could be made to depend on having the rules of operation […] so, for instance q3 becomes DAAA.
of [Tn ] written somewhere within itself […] each step could be Replacing each symbol Sj in a quintuple of Tn by
carried out by referring to these rules. (Turing 1936–7: 242)
D C…C ,
In other words, Tn′prints out the successive complete configurations of Tn ⏟ j

by having the program of Tn written on its tape. Thus, Turing needs a


so, for instance, S1 becomes DC.
notational method which makes it possible to ‘capture’ two different
aspects of a Turing machine on one and the same tape in such a way they Using this method, each quintuple of some Turing machine Tn can be
can be treated by the same machine, viz.: expressed in terms of a sequence of capital letters and so the ‘program’ of
any machine Tn can be expressed by the set of symbols A, C, D, R, L, N
(1) its description in terms of what it should do—the quintuple notation
and ;. This is the so-called Standard Description (S.D.) of a Turing
(2) its description in terms of what it is doing—the complete
machine. Thus, for instance, the S.D. of TSimple is:
configuration notation
;DADDRDAA;DADCDRDAA;DAADDCRDA;DAADCDC
Thus, a first and perhaps most essential step, in the construction of U are
RDA
the quintuple and complete configuration notation and the idea of putting
them on the same tape. More particularly, the tape is divided into two This is, essentially, Turing’s version of Gödel numbering. Indeed, as
regions which we will call the A and B region here. The A region contains Turing shows, one can easily get a numerical description representation or
a notation of the ‘program’ of Tn and the B region a notation for the Description Number (D.N.) of a Turing machine Tn by replacing:
successive complete configurations of Tn . In Turing’s paper they are
separated by an additional symbol “::”. “A” by “1”
“C” by “2”
To simplify the construction of U and in order to encode any Turing “D” by “3”
machine as a unique number, Turing develops a third notation which “L” by “4”
permits to express the quintuples and complete configurations with letters “R” by “5”
only. This is determined by [Note that we use Turing’s original encoding. “N” by “6”
Of course, there is a broad variety of possible encodings, including binary “;” by “7”
encodings]:
Thus, the D.N. of TSimple is:
Replacing each state qi in a quintuple of Tn by
7313353117313135311731133153173113131531
D A…A ,
⏟ i

18 Stanford Encyclopedia of Philosophy Winter 2021 Edition 19


Turing Machines Liesbeth De Mol

Note that every machine Tn has a unique D.N.; a D.N. represents one and Marking a sequence of symbols by some symbol a (remember that
one machine only. Turing uses two kinds of alternating squares)
Comparing two symbol sequences
Clearly, the method used to determine the S. D. of some machine Tn can Copying a symbol sequence
also be used to write out the successive complete configurations of Tn .
Using “:” as a separator between successive complete configurations, the Turing develops a notational technique, called skeleton tables, for these
first few complete configurations of TSimple are: functions which serves as a kind of shorthand notation for a complete
Turing machine table but can be easily used to construct more complicated
:DAD:DDAAD:DDCDAD:DDCDDAAD:DDCDDCDAD machines from previous ones. The technique is quite reminiscent of the
recursive technique of composition (see: recursive functions).
2.3.2 Interchangeability of program and behavior: a basic set of
functions To illustrate how such functions are Turing computable, we discuss one
such function in more detail, viz. the compare function. It is constructed
Having a notational method to write the program and successive complete on the basis of a number of other Turing computable functions which are
configurations of some machine Tn on one and the same tape of some built on top of each other. In order to understand how these functions
other machine Tn′ is the first step in Turing’s construction of U. However, work, remember that Turing used a system of alternating F and E-squares
U should also be able to “emulate” the program of Tn as written in region where the F-squares contain the actual quintuples and complete
A so that it can actually write out its successive complete configurations in configurations and the E-squares are used as a way to mark off certain
region B. Moreover it should be possible to “take out and exchange[…] parts of the machine tape. For the comparing of two sequences S1 and S2 ,
[the rules of operations of some Turing machine] for others” (Turing each symbol of S1 will be marked by some symbol a and each symbol of
1936–7: 242). Viz., it should be able not just to calculate but also to S2 will be marked by some symbol b.
compute, an issue that was also dealt with by others such as Church,
Turing defined nine different functions to show how the compare function
Gödel and Post using their own formal devices. It should, for instance, be
can be computed with Turing machines:
able to “recognize” whether it is in region A or B and it should be able to
determine whether or not a certain sequence of symbols is the next state qi FIND(qi , qj , a) : this machine function searches for the leftmost occurrence
which needs to be executed. of a. If a is found, the machine moves to state qi else it moves to state
qj . This is achieved by having the machine first move to the
This is achieved by Turing through the construction of a sequence of
beginning of the tape (indicated by a special mark) and then to have it
Turing computable problems such as:
move right until it finds a or reaches the rightmost symbol on the
Finding the leftmost or rightmost occurrence of a sequence of tape.
symbols FINDL(qi , qj , a) : the same as FIND but after a has been found, the

20 Stanford Encyclopedia of Philosophy Winter 2021 Edition 21


Turing Machines Liesbeth De Mol

machine moves one square to the left. This is used in functions which a’s and b’s will have been erased and the machine moves to state qj ,
need to compute on the symbols in F-squares which are marked by else, it will move to state qn . It is computed by
symbols a in the E-squares.
ERASE(qi , qj , a) : the machine computes FIND. If a is found, it erases a COMPARE_ERASE(COMPARE_ALL(qj , qn , a, b), qj , qn , a, b)
and goes to state qi else it goes to state qj
and so by recursively calling COMPARE_ALL.
ERASE_ALL(qj , a) = ERASE(ERASE_ALL, qj , a) : the machines
computes ERASE on a repeatedly until all a’s have been erased. In a similar manner, Turing defines the following functions:
Then it moves to qj .
EQUAL(qi , qj , a) : the machine checks whether or not the current symbol COPY(qi , a): copy the sequence of symbols marked with a’s to the right
is a. If yes, it moves to state qi else it moves to state qj of the last complete configuration and erase the marks.
CMP_XY(qi , qj , b) = FINDL(EQUAL(qi , qj , x), qj , b) : whatever the COPYn (qi , a1 , a2 , … , an ): copy down the sequences marked a1 to an to
current symbol x, the machine computes FINDL on b (and so looks the right of the last complete configuration and erase all marks ai .
for the symbol marked by b). If there is a symbol y marked with b, REPLACE(qi , a, b) : replace all letters a by b
the machine computes EQUAL on x and y, else, the machine goes to MARK_NEXT_CONFIG(qi , a): mark the first configuration qi Sj to the
state qj . In other words, CMP_XY(qi , qj , b) compares whether the right of the machine’s head with the letter a.
current symbol is the same as the leftmost symbol marked b. FIND_RIGHT(qi , a): find the rightmost symbol a.
COMPARE_MARKED(qi , qj , qn , a, b): the machine checks whether the
Using the basic functions COPY, REPLACE and COMPARE, Turing
leftmost symbols marked a and b respectively are the same. If there is
constructs a universal Turing machine.
no symbol marked a nor b, the machine goes to state qn ; if there is a
symbol marked a and one marked b and they are the same, the Below is an outline of the universal Turing machine indicating how these
machine goes to state qi , else the machine goes to state qj . The basic functions indeed make possible universal computation. It is assumed
function is computed as that upon initialization, U has on its tape the S.D. of some Turing machine
FINDL(CMP_XY(qi , qj , b), FIND(qj , qn , b), a) Tn . Remember that Turing uses the system of alternating F and E-squares
COMPARE_ERASE(qi qj , qn , a, b): the same as COMPARE_MARKED and so, for instance, the S.D. of TSimple will be written on the tape of U as:
but when the symbols marked a and b are the same, the marks a and
b are erased. This is achieved by computing ERASE first on a and ;_D_A_D_D_R_D_A_A_;_D_A_D_C_D_R_D_A_A_;_D_
then on b. A_A_D_D_C_R_D_A_;_D_A_A_D_C_D_C_R_D_A_

COMPARE_ALL(qj , qn , a, b) The machine compares the sequences A where “_” indicates an unmarked E-square.
and B marked with a and b respectively. This is done by repeatedly
computing COMPARE_ERASE on a and b. If A and B are equal, all INIT: To the right of the rightmost quintuple of T_n, U prints
::_:_D_A_, where _ indicates an unmarked E-square.

22 Stanford Encyclopedia of Philosophy Winter 2021 Edition 23


Turing Machines Liesbeth De Mol

FIND_NEXT_STATE: The machine first marks (1) with y the qCC,i SCC,j itself is left unmarked; the symbol just preceding it is
configuration qCC,i SCC,j of the rightmost (and so last) complete marked with an x and the remaining symbols to the left or marked
configuration computed by U in the B part of the tape and (2) with x with v. Finally, all symbols to the right, if any, are marked with w and
the configuration qq,m Sq,n of the leftmost quintuple which is not a “:” is printed to the right of the rightmost symbol in order to
preceded by a marked (with the letter z) semicolon in the A part of the indicate the beginning of the next complete configuration of Tn to be
tape. The two configurations are compared. If they are identical, the computed by U. Continuing with our example, (1) will be marked as
machine moves to MARK_OPERATIONS, if not, it marks the follows by U:
semicolon preceding qq,m Sq,n with z and goes to

S0 ⏟
Dv DvCv Dx D_A_A_D_ : _
⏟ S1 ⏟ ⏟
FIND_NEXT_STATE. This is easily achieved using the function 
S0 S0
COMPARE_ALL which means that, whatever the outcome of the q2
comparison, the marks x and y will be erased. For instance, suppose
that Tn = TSimple and that the last complete configuration of TSimple as
U then goes to PRINT
computed by U is: PRINT. It is determined if, in the instructions that have been marked
(1) : _ D_ D_C_ D_ D_A_A_D_ in MARK_OPERATIONS, there is an operation Print 0 or Print 1. If
⏟ ⏟ ⏟
 that is the case, 0 : respectively 1 : is printed to the right of the last
S0 ⏟S1 S0 S0
q2
complete configuration. This is not a necessary function but Turing
Then U will move to region A and determine that the corresponding insisted on having U print out not just the (coded) complete
quintuple is: configurations computed by Tn but also the actual (binary) real
number computed by Tn .
(2)
⏟⏟
D_A_A_D_ D_C_ R_ D_A_


S0 ⏟S1 q1 PRINT_COMPLETE_CONFIGURATION. U prints the next
q2
complete configuration and erases all marks u, v, w, x, y. It then
MARK_OPERATIONS: The machine U marks the operations that it returns to FIND_NEXT_STATE. U first searches for the rightmost
needs to execute in order to compute the next complete configuration letter u, to check which move is needed (R, L, N) and erases the mark
of Tn . The printing and move (L,R, N) operations are marked with u u for R, L, N. Depending on the value L, R or N will then write down
and the next state with y. All marks z are erased. Continuing with our the next complete configuration by applying COPY5 to u, v, w, x, y.
example, U will mark (2) as follows: The move operation (L, R, N) is accounted for by the particular
combination of u, v, w, x, y:
D_A_A_D_DuCuRuDyAy
When ~L : COPY5 (FIND_NEXT_STATE, v, y, x, u, w)
MARK_COMPCONFIG: The last complete configuration of Tn as When ~R : COPY5 (FIND_NEXT_STATE, v, x, u, y, w)
When ~N : COPY5 (FIND_NEXT_STATE, v, x, y, u, w)
computed by U is marked into four regions: the configuration

24 Stanford Encyclopedia of Philosophy Winter 2021 Edition 25


Turing Machines Liesbeth De Mol

5 (FIND_NEXT_STATE, v, x, y, u, w)
achieved by relying on other equivalent models of computability such as,
Following our example, since TSimple needs to move right, the new for instance, tag systems. For a survey on research into small universal
rightmost complete configursiation of TSimple written on the tape of U devices (see Margenstern 2000; Woods & Neary 2009).
is:
2.4 The Halting Problem and the Entscheidungsproblem

D_ D_C_ D_ D_C_ D_A_

S0 ⏟S1 ⏟
S0 ⏟S1 q1
As explained, the purpose of Turing’s paper was to show that the
Since we have that for this complete configuration the square being Entscheidungsproblem for first-order logic is not computable. The same
scanned by TSimple is one that was not included in the previous result was achieved independently by Church (1936a, 1936b) using a
complete configuration (viz. TSimple has reached beyond the rightmost different kind of formal device which is logically equivalent to a Turing
previous point) the complete configuration as written out by U is in machine (see Sec. 4). The result went very much against what Hilbert had
fact incomplete. This small defect was corrected by Post (Post 1947) hoped to achieve with his finitary and formalist program. Indeed, next to
by including an additional instruction in the function used to mark the Gödel’s incompleteness results, they broke much of Hilbert’s dream of
complete configuration in the next round. making mathematics void of Ignorabimus and which was explicitly
expressed in the following words of Hilbert:
As is clear, Turing’s universal machine indeed requires that program and
‘data’ produced by that program are manipulated interchangeably, viz. the The true reason why Comte could not find an unsolvable problem,
program and its productions are put next to each other and treated in the lies in my opinion in the assertion that there exists no unsolvable
same manner, as sequences of letters to be copied, marked, erased and problem. Instead of the stupid Ignorabimus, our solution should be:
compared. We must know. We shall know. (1930: 963) [translation by the
author]
Turing’s particular construction is quite intricate with its reliance on the F
and E-squares, the use of a rather large set of symbols and a rather arcane Note that the solvability Hilbert is referring to here concerns solvability of
notation used to describe the different functions discussed above. Since mathematical problems in general and not just mechanically solvable. It is
1936 several modifications and simplifications have been implemented. shown however in Mancosu et al. 2009 (p. 94), that this general aim of
The removal of the difference between F and E-squares was already solving every mathematical problem, underpins two particular convictions
discussed in Section 1.2 and it was proven by Shannon that any Turing of Hilbert namely that (1) the axioms of number theory are complete and
machine, including the universal machine, can be reduced to a binary (2) that there are no undecidable problems in mathematics.
Turing machine (Shannon 1956). Since the 1950s, there has been quite
some research on what could be the smallest possible universal devices
(with respect to the number of states and symbols) and quite some “small”
universal Turing machines have been found. These results are usually

26 Stanford Encyclopedia of Philosophy Winter 2021 Edition 27


Turing Machines Liesbeth De Mol

2.4.1 Direct and indirect proofs of uncomputable decision notion of computability. Turing proposed the Turing machine formalism to
problems this end. A second step is to show that there are problems that are not
computable within the formalism. To achieve this, a uniform process U
So, how can one show, for a particular decision problem Di , that it is not needs to be set-up relative to the formalism which is able to compute
computable? There are two main methods: every computable number. One can then use (some form of)
diagonalization in combination with U to derive a contradiction.
Indirect proof: take some problem Duncomp which is already known to be Diagonalization was introduced by Cantor to show that the set of real
uncomputable and show that the problem “reduces” to Di . numbers is “uncountable” or not denumerable. A variant of the method
Direct proof: prove the uncomputability of Di directly by assuming some was used also by Gödel in the proof of his first incompleteness theorem.
version of the Church-Turing thesis.

Today, one usually relies on the first method while it is evident that in the
2.4.2 Turing’s basic problem CIRC?, PRINT? and the
absence of a problem Duncomp, Turing but also Church and Post (see Sec.
Entscheidungsproblem
4) had to rely on the direct approach.
Recall that in Turing’s original version of the Turing machine, the
The notion of reducibility has its origins in the work of Turing and Post machines are computing real numbers. This implied that a “well-
who considered several variants of computability (Post 1947; Turing behaving” Turing machine should in fact never halt and print out an
1939). The concept was later appropriated in the context of computational infinite sequence of figures. Such machines were identified by Turing as
complexity theory and is today one of the basic concepts of both circle-free. All other machines are called circular machines. A number n
computability and computational complexity theory (Odifreddi 1989; which is the D.N. of a circle-free machine is called satisfactory.
Sipser 1996). Roughly speaking, a reduction of a problem Di to a problem
This basic difference is used in Turing’s proof of the uncomputability of:
Dj comes down to providing an effective procedure for translating every
instance di,m of the problem Di to an instance dj,n of Dj in such a way that CIRC? The problem to decide for every number n whether or not
an effective procedure for solving dj,n also yields an effective procedure it is satisfactory
for solving di,m. In other words, if Di reduces to Dj then, if Di is
uncomputable so is Dj . Note that the reduction of one problem to another The proof of the uncomputability of CIRC? uses the construction of a
can also be used in decidability proofs: if Di reduces to Dj and Dj is hypothetical and circle-free machine Tdecide which computes the diagonal
known to be computable then so is Di. sequence of the set of all computable numbers computed by the circle-free
machines. Hence, it relies for its construction on the universal Turing
In the absence of Duncomp a very different approach was required and machine and a hypothetical machine that is able to decide CIRC? for each
Church, Post and Turing each used more or less the same approach to this number n given to it. It is shown that the machine Tdecide becomes a
end (Gandy 1988). First of all, one needs a formalism which captures the circular machine when it is provided with its own description number,

28 Stanford Encyclopedia of Philosophy Winter 2021 Edition 29


Turing Machines Liesbeth De Mol

hence the assumption of a machine which is capable of solving CIRC? Turing’s problem PRINT? is in fact very close to HALT? (see Davis
must be false. 1958: Chapter 5, Theorem 2.3).

Based on the uncomputability of CIRC?, Turing then shows that also A popular proof of HALT? goes as follows. Assume that HALT? is
PRINT? is not computable. More particularly he shows that if PRINT? computable. Then it should be possible to construct a Turing machine
were to be computable, also CIRC? would be decidable, viz. he rephrases which decides, for each machine Ti and some input w for Ti whether or
PRINT? in such a way that it becomes the problem to decide for any not Ti will halt on w. Let us call this machine TH . More particularly, we
machine whether or not it will print an infinity of symbols which would have:
amount to deciding CIRC?.
HALT if Ti halts on w
{ LOOP
TH (Ti , w) =
Finally, based on the uncomputability of PRINT? Turing shows that the if Ti loops on w
Entscheidungsproblem is not decidable. This is achieved by showing:
We now define a second machine TD which relies on the assumption that
1. how for each Turing machine T, it is possible to construct a the machine TH can be constructed. More particularly, we have:

⎧ HALT if Ti does not halt on its own


corresponding formula T in first-order logic and


2. if there is a general method for determining whether T is provable,
description number
TD (Ti , D. N. of Ti ) = ⎨
⎪ LOOP
then there is a general method for proving that T will ever print 0.
if Ti halts on its own
This is the problem PRINT? and so cannot be decidable (provided ⎪
we accept Turing’s thesis). ⎩ description number

It thus follows from the uncomputability of PRINT?, that the If we now set Ti to TD we end up with a contradiction: if TD halts it means
Entscheidungsproblem is not computable. that TD does not halt and vice versa. A popular but quite informal variant
of this proof was given by Christopher Strachey in the context of
programming (Strachey 1965).
2.4.3 The halting problem
2.5 Variations on the Turing machine
Given Turing’s focus on computable real numbers, his base decision
problem is about determining whether or not some Turing machine will
As is clear from Sections 1.1 and 1.2, there is a variety of definitions of the
not halt and so is not quite the same as the more well-known halting
Turing machine. One can use a quintuple or quadruple notation; one can
problem:
have different types of symbols or just one; one can have a two-way
HALT? The problem to decide for every Turing machine T whether or infinite or a one-way infinite tape; etc. Several other less obvious
not T will halt. modifications have been considered and used in the past. These
modifications can be of two kinds: generalizations or restrictions. These

30 Stanford Encyclopedia of Philosophy Winter 2021 Edition 31


Turing Machines Liesbeth De Mol

do not result in “stronger” or “weaker” models. Viz. these modified that a certain decision problem defined by Post (the decision problem for
machines compute no more and no less than the Turing computable tag systems) is non-Turing computable (Minsky 1961). Hartmanis and
functions. This adds to the robustness of the Turing machine definition. Stearns then, in their founding paper for computational complexity theory,
proved that any n-tape Turing machine reduces to a single tape Turing
Binary machines machine and so anything that can be computed by an n-tape or multitape
In his short 1936 note Post considers machines that either mark or unmark Turing machine can also be computed by a single tape Turing machine,
a square which means we have only two symbols S0 and S1 but he did not and conversely (Hartmanis & Stearns 1965). They used multitape
prove that this formulation captures exactly the Turing computable machines because they were considered to be closer to actual digital
functions. It was Shannon who proved that for any Turing machine T with computers.
n symbols there is a Turing machine with two symbols that simulates T n-dimensional Turing machines
(Shannon 1956). He also showed that for any Turing machine with m
states, there is a Turing machine with only two states that simulates it. Another variant is to consider Turing machines where the tape is not one-
dimensional but n-dimensional. This variant too reduces to the one-
Non-erasing machines dimensional variant.
Non-erasing machines are machines that can only overprint S0 . In Moore Non-deterministic machines
1952, it was mentioned that Shannon proved that non-erasing machines
can compute what any Turing machine computes. This result was given in An apparently more radical reformulation of the notion of Turing machine
a context of actual digital computers of the 50s which relied on punched is that of non-deterministic Turing machines. As explained in 1.1, one
tape (and so, for which, one cannot erase). Shannon’s result however fundamental condition of Turing’s machines is the so-called determinacy
remained unpublished. It was Wang who published the result (Wang condition, viz. the idea that at any given moment, the machine’s behavior
1957). is completely determined by the configuration or state it is in and the
symbol it is scanning. Next to these, Turing also mentions the idea of
Non-writing machines choice machines for which the next state is not completely determined by
It was shown by Minsky that for every Turing machine there is a non- the state and symbol pair. Instead, some external device makes a random
writing Turing machine with two tapes that simulates it. choice of what to do next. Non-deterministic Turing machines are a kind
of choice machines: for each state and symbol pair, the non-deterministic
Multiple tapes machine makes an arbitrary choice between a finite (possibly zero)
number of states. Thus, unlike the computation of a deterministic Turing
Instead of one tape one can consider a Turing machine with multiple tapes.
machine, the computation of a non-deterministic machine is a tree of
This turned out the be very useful in several different contexts. For
possible configuration paths. One way to visualize the computation of a
instance, Minsky, used two-tape non-writing Turing machines to prove
non-deterministic Turing machine is that the machine spawns an exact

32 Stanford Encyclopedia of Philosophy Winter 2021 Edition 33


Turing Machines Liesbeth De Mol

copy of itself and the tape for each alternative available transition, and (Hamkins & Lewis 2008) and accelerating Turing machines (Copeland
each machine continues the computation. If any of the machines 2002). There are various reasons for introducing such stronger models.
terminates successfully, then the entire computation terminates and Some are well-known models of computability or recursion theory and are
inherits that machine’s resulting tape. Notice the word successfully in the used in the theory of higher-order recursion and relative computability
preceding sentence. In this formulation, some states are designated as (oracle machines); others, like the accelerating machines, were introduced
accepting states and when the machine terminates in one of these states, in the context of supertasks and the idea of providing physical models that
then the computation is successful, otherwise the computation is “compute” functions which are not Turing-computable.
unsuccessful and any other machines continue in their search for a
successful outcome. The addition of non-determinism to Turing machines 3. Philosophical Issues Related to Turing Machines
does not alter the extent of Turing-computability. Non-determinism was
introduced for finite automata in the paper, Rabin & Scott 1959, where it is 3.1 Human and Machine Computations
also shown that adding non-determinism does not result in more powerful
automata. Non-deterministic Turing machines are an important model in In its original context, Turing’s identification between the computable
the context of computational complexity theory. numbers and Turing machines was aimed at proving that the
Entscheidungsproblem is not a computable problem and so not a so-called
Weak and semi-weak machines “general process” problem (Turing 1936–7: 248). The basic assumption to
be made for this result is that our “intuitive” notion of computability can
Weak Turing machines are machines where some word over the alphabet
be formally defined as Turing computability and so that there are no
is repeated infinitely often to the left and right of the input. Semi-weak
“computable” problems that are not Turing computable. But what was
machines are machines where some word is repeated infinitely often either
Turing’s “intuitive” notion of computability and how can we be sure that it
to the left or right of the input. These machines are generalizations of the
really covers all computable problems, and, more generally, all kinds of
standard model in which the initial tape contains some finite word
computations? This is a very basic question in the philosophy of computer
(possibly nil). They were introduced to determine smaller universal
science.
machines. Watanabe was the first to define a universal semi-weak machine
with six states and five symbols (Watanabe 1961). Recently, a number of At the time Turing was writing his paper, the modern computer was not
researchers have determined several small weak and semi-weak universal developed yet and so rephrasings of Turing’s thesis which identify Turing
Turing machines (e.g., Woods & Neary 2007; Cook 2004) computability with computability by a modern computer are
interpretations rather than historically correct statements of Turing’s
Besides these variants on the Turing machine model, there are also
thesis. The existing computing machines at the time Turing wrote his
variants that result in models which capture, in some well-defined sense,
paper, such as the differential analyzer or desk calculators, were quite
more than the (Turing)-computable functions. Examples of such models
restricted in what they could compute and were used in a context of
are oracle machines (Turing 1939), infinite-time Turing machines
human computational practices (Grier 2007). It is thus not surprising that

34 Stanford Encyclopedia of Philosophy Winter 2021 Edition 35


Turing Machines Liesbeth De Mol

Turing did not attempt to formalize machine computation but rather It is this so-called “direct appeal to intuition” (1936–7: 249) of Turing’s
human computation and so computable problems in Turing’s paper analysis and resulting model that explain why the Turing machine is today
become computable by human means. This is very explicit in Section 9 of considered by many as the best standard model of computability (for a
Turing 1936–7 where he shows that Turing machines are a ‘natural’ model strong statement of this point of view, see Soare 1996). Indeed, from the
of (human) computation by analyzing the process of human computation. above set of conditions one can quite easily derive Turing’s machines.
The analysis results in a kind of abstract human ‘computor’ who fulfills a This is achieved basically by analyzing the restrictive conditions into
set of different conditions that are rooted in Turing’s recognition of a set of “‘simple operations’ which are so elementary that it is not easy to imagine
human limitations which restrict what we can compute (of our sensory them further divided” (Turing 1936–7: 250).
apparatus but also of our mental apparatus). This ‘computor’ computes
(real) numbers on an infinite one-dimensional tape divided into squares Note that while Turing’s analysis focuses on human computation, the
[Note: Turing assumed that the reduction of the 2-dimensional character of application of his identification between (human) computation and Turing
the paper a human mathematician usually works on “is not essential of machine computation to the Entscheidungsproblem suggests that he did
computation” (Turing 1936–7: 249)]. It has the following restrictions not consider the possibility of a model of computation that somehow goes
(Gandy 1988; Sieg 1994): “beyond” human computation and is capable of providing an effective and
general procedure which solves the Entscheidungsproblem. If that would
Determinacy condition D “The behaviour of the computer at any moment have been the case, he would not have considered the
is determined by the symbols which he is observing and his ‘state of Entscheidungsproblem to be uncomputable.
mind’ at that moment.” (Turing 1936–7: 250)
Boundedness condition B1 “there is a bound B to the number of symbols The focus on human computation in Turing’s analysis of computation, has
or squares which the computer can observe at one moment. If he led researchers to extend Turing’s analysis to computation by physical
wishes to observe more, he must use successive observations.” devices. This results in (versions of) the physical Church-Turing thesis.
(Turing 1936–7: 250) Robin Gandy focused on extending Turing’s analysis to discrete
Boundedness condition B2 “the number of states of mind which need be mechanical devices (note that he did not consider analog machines). More
taken into account is finite” (Turing 1936–7: 250) particularly, like Turing, Gandy starts from a basic set of restrictions of
Locality condition L1 “We may […] assume that the squares whose computation by discrete mechanical devices and, on that basis, develops a
symbols are changed are always ‘observed’ squares.” (Turing 1936– new model which he proved to be reducible to the Turing machine model.
7: 250) This work is continued by Wilfried Sieg who proposed the framework of
Locality condition L2 “each of the new observed squares is within L Computable Dynamical Systems (Sieg 2008). Others have considered the
squares of an immediately previously observed square.” (Turing possibility of “reasonable” models from physics which “compute”
1936–7: 250) something that is not Turing computable. See for instance Aaronson,
Bavarian, & Gueltrini 2016 (Other Internet Resources) in which it is
shown that if closed timelike curves would exist, the halting problem

36 Stanford Encyclopedia of Philosophy Winter 2021 Edition 37


Turing Machines Liesbeth De Mol

would become solvable with finite resources. Others have proposed itself is axiomatized (Sieg 2008) and one whereby an axiomatization is
alternative models for computation which are inspired by the Turing given from which the Church-Turing thesis can be derived (Dershowitz &
machine model but capture specific aspects of current computing practices Gurevich 2008).
for which the Turing machine model is considered less suited. One
example here are the persistent Turing machines intended to capture 4. Alternative Historical Models of Computability
interactive processes. Note however that these results do not show that
there are “computable” problems that are not Turing computable. These Besides the Turing machine, several other models were introduced
and other related proposals have been considered by some authors as independently of Turing in the context of research into the foundation of
reasonable models of computation that somehow compute more than mathematics which resulted in theses that are logically equivalent to
Turing machines. It is the latter kind of statements that became affiliated Turing’s thesis. For each of these models it was proven that they capture
with research on so-called hypercomputation resulting in the early 2000s the Turing computable functions. Note that the development of the modern
in a rather fierce debate in the computer science community, see, e.g., computer stimulated the development of other models such as register
Teuscher 2004 for various positions. machines or Markov algorithms. More recently, computational approaches
in disciplines such as biology or physics, resulted in bio-inspired and
3.2 Thesis, Definition, Axioms or Theorem physics-inspired models such as Petri nets or quantum Turing machines. A
discussion of such models, however, lies beyond the scope of this entry.
As is clear, strictly speaking, Turing’s thesis is not provable, since, in its
original form, it is a claim about the relationship between a formal and a 4.1 General Recursive Functions
vague or intuitive concept. By consequence, many consider it as a thesis or
a definition. The thesis would be refuted if one would be able to provide The original formulation of general recursive functions can be found in
an intuitively acceptable effective procedure for a task that is not Turing- Gödel 1934, which built on a suggestion by Herbrand. In Kleene 1936 a
computable. This far, no such counterexample has been found. Other simpler definition was given and in Kleene 1943 the standard form which
independently defined notions of computability based on alternative uses the so-called minimization or μ -operator was introduced. For more
foundations, such as recursive functions and abacus machines have also information, see the entry on recursive functions.
been shown to be equivalent to Turing computability. These equivalences
Church used the definition of general recursive functions to state his
between quite different formulations indicate that there is a natural and
thesis:
robust notion of computability underlying our understanding. Given this
apparent robustness of our notion of computability, some have proposed to Church’s thesis Every effectively calculable function is general
avoid the notion of a thesis altogether and instead propose a set of axioms recursive
used to sharpen the informal notion. There are several approaches, most
notably, an approach of structural axiomatization where computability

38 Stanford Encyclopedia of Philosophy Winter 2021 Edition 39


Turing Machines Liesbeth De Mol

In the context of recursive function one uses the notion of recursive understood as the application of the function M to N.
solvability and unsolvability rather than Turing computability and
uncomputability. This terminology is due to Post (1944). The λ-formulas, or well-formed formulas of λ-calculus are all and only
those formulas that result from (repeated) application of these three rules.
4.2 λ-Definability There are three operations or rules of conversion. Let us define SxN M| as
standing for the formula that results by substitution of N for x in M.
Church’s λ-calculus has its origin in the papers (Church 1932, 1933) and
which were intended as a logical foundation for mathematics. It was 1. Reduction. To replace any part {λx[M]}(N) of a formula by SxN M|
Church’s conviction at that time that this different formal approach might provided that the bound variables of M are distinct both from x and
avoid Gödel incompleteness (Sieg 1997: 177). However, the logical from the free variables of N. For example {λx[x 2 ]}(2) reduces to 22
system proposed by Church was proven inconsistent by his two PhD 2. Expansion To replace any part SxN M| of a formula by {λx[M]}(N)
students Stephen C. Kleene and Barkley Rosser and so they started to provided that ((λxM)N) is well-formed and the bound variables of M
focus on a subpart of that logic which was basically the λ-calculus. are distinct both from x and from the free variables in N. For
Church, Kleene and Rosser started to λ-define any calculable function they example, 22 can be expanded to {λx[x 2 ]}(2)
could think of and quite soon Church proposed to define effective 3. Change of bound variable To replace any part M of a formula by
calculability in terms of λ-definability. However, it was only after Church, Sxy M| provided that x is not a free variable of M and y does not occur
Kleene and Rosser had established that general recursiveness and λ- in M. For example changing {λx[x 2 ]} to {λy[y2 ]}
definability are equivalent that Church announced his thesis publicly and
in terms of general recursive functions rather than λ-definability (Davis Church introduces the following abbreviations to define the natural
1982; Sieg 1997). numbers in λ-calculus:

In λ-calculus there are only two types of symbols. The three primitive 1 → λyx. yx,
symbols λ, (, ) also called the improper symbols, and an infinite list of 2 → λyx. y(yx),
variables. There are three rules to define the well-formed formulas of λ- 3 → λyx. y(y(yx)),
calculus, called λ-formulas. …

1. The λ-formulas are first of all the variables themselves. Using this definition, it is possible to λ-define functions over the positive
2. If P is a λ-formula containing x as a free variable then λx[P] is also a integers. A function F of one positive integer is λ-definable if we can find
λ-formula. The λ-operator is used to bind variables and it thus a λ-formula F, such that if F(m) = n and m and n are λ-formulas standing
converts an expression containing free variables into one that denotes for the integers m and n, then the λ-formula {F}(m) can be converted to n
a function by applying the conversion rules of λ-calculus. Thus, for example, the
3. If M and N are λ-formulas then so is {M}(N), where {M}(N) is to be

40 Stanford Encyclopedia of Philosophy Winter 2021 Edition 41


Turing Machines Liesbeth De Mol

successor function S, first introduced by Church, can be λ-defined as g11 Pi1 g12 Pi1 … g1m1 Pi1m g1(m1 +1)
1 2 1
follows: g21 Pi2 g22 Pi2 … g2m2 Pi2m g2(m2 +1)
1 2 2

S → λabc. b(abc) ……………………………


gk1 Pik gk2 Pik … gkmk Pikm gk(mk +1)
1 2 k
To give an example, applying S to the λ-formula standing for 2, we get:
produce
(λabc. b(abc))(λyx. y(yx)) g1 Pi1 g2 Pi2 … gm Pim g(m+1)
→ λbc. b((λyx. y(yx))bc)
The symbols g are a kind of metasymbols: they correspond to actual
→ λbc. b((λx. b(bx))c) sequences of letters in actual productions. The symbols P are the
→ λbc. b(b(bc)) operational variables and so can represent any sequence of letters in a
production. So, for instance, consider a production system over the
alphabet Σ = {a, b} with initial word:
Today, λ-calculus is considered to be a basic model in the theory of
programming.
W0 = ababaaabbaabbaabbaba
4.3 Post Production Systems
and the following production rule:
Around 1920–21 Emil Post developed different but related types of
production systems in order to develop a syntactical form which would
P1,1 bbP1,2
allow him to tackle the decision problem for first-order logic. One of these produces
forms are Post canonical systems C which became later known as Post P1,3 aaP1,4
production systems.
Then, starting with W0 , there are three possible ways to apply the
A canonical system consists of a finite alphabet Σ , a finite set of initial production rule and in each application the variables P1,i will have
words W0,0 , W0,1 ,…, W0,n and a finite set of production rules of the different values but the values of the g’s are fixed. Any set of finite
following form: sequences of words that can be produced by a canonical system is called a
canonical set.

A special class of canonical forms defined by Post are normal systems. A


normal system N consists of a finite alphabet Σ , one initial word W0 ∈ Σ∗
and a finite set of production rules, each of the following form:

42 Stanford Encyclopedia of Philosophy Winter 2021 Edition 43


Turing Machines Liesbeth De Mol

gi P 4.4 Formulation 1
produces
Pgi′ In 1936 Post published a short note from which one can derive Post’s
second thesis (De Mol 2013):
Any set of finite sequences of words that can be produced by a normal
system is called a normal set. Post was able to show that for any canonical Post’s thesis II Solvability of a problem in the intuitive sense
set C over some alphabet Σ there is a normal set N over an alphabet Δ coincides with solvability by formulation 1
with Σ ⊆ Δ such that C = N ∩ Σ∗ . It was his conviction that (1) any set of
Formulation 1 is very similar to Turing machines but the ‘program’ is
finite sequences that can be generated by finite means can be generated by
given as a list of directions which a human worker needs to follow. Instead
canonical systems and (2) the proof that for every canonical set there is a
of a one-way infinite tape, Post’s ‘machine’ consists of a two-way infinite
normal set which contains it, which resulted in Post’s thesis I:
symbol space divided into boxes. The idea is that a worker is working in
Post’s thesis I (Davis 1982) Every set of finite sequences of letters this symbol space, being capable of a set of five primitive acts (O1 mark a
that can be generated by finite processes can also be generated by box, O2 unmark a box, O3 move one box to the left, O4 move one box to
normal systems. More particularly, any set of words on an alphabet the right, O5 determining whether the box he is in is marked or
Σ which can be generated by a finite process is of the form unmarked), following a finite set of directions d1 ,…, dn where each
N ∩ Σ∗ , with N a normal set. direction di always has one of the following forms:

Post realized that “[for the thesis to obtain its full generality] a complete A. Perform one of the operations (O1 –O4 ) and go to instruction dj
analysis would have to be made of all the possible ways in which the B. Perform operation O5 and according as the box the worker is in is
human mind could set up finite processes for generating sequences” (Post marked or unmarked follow direction dj ′ or dj ″ .
1965: 408) and it is quite probable that the formulation 1 given in Post C. Stop.
1936 and which is almost identical to Turing’s machines is the result of
Post also defined a specific terminology for his formulation 1 in order to
such an analysis.
define the solvability of a problem in terms of formulation 1. These
Post production systems became important formal devices in computer notions are applicability, finite-1-process, 1-solution and 1-given. Roughly
science and, more particularly, formal language theory (Davis 1989; speaking these notions assure that a decision problem is solvable with
Pullum 2011). formulation 1 on the condition that the solution given in the formalism
always terminates with a correct solution.

44 Stanford Encyclopedia of Philosophy Winter 2021 Edition 45


Turing Machines Liesbeth De Mol

5. Impact of Turing Machines on Computer Science computational complexity theory, algorithmic information theory, etc.
This significance of the Turing machine model for theoretical computer
Turing is today one of the most celebrated figures of computer science. science has at least two historical roots.
Many consider him as the father of computer science and the fact that the
main award in the computer science community is called the Turing award First of all, there is the continuation of the work in mathematical logic
is a clear indication of that (Daylight 2015). This was strengthened by the from the 1920s and 1930s by people like Martin Davis—who is a student
Turing centenary celebrations from 2012, which were largely coordinated of Post and Church—and Kleene. Within that tradition, Turing’s work was
by S. Barry Cooper. This resulted not only in an enormous number of of course well-known and the Turing machine was considered as the best
scientific events around Turing but also a number of initiatives that model of computability given. Both Davis and Kleene published a book in
brought the idea of Turing as the father of computer science also to the the 1950s on these topics (Kleene 1952; Davis 1958) which soon became
broader public (Bullynck, Daylight, & De Mol 2015). Amongst Turing’s standard references not just for early computability theory but also for
contributions which are today considered as pioneering, the 1936 paper on more theoretical reflections in the late 1950s and 1960s on computing.
Turing machines stands out as the one which has the largest impact on
Secondly, one sees that in the 1950s there is a need for theoretical models
computer science. However, recent historical research shows also that one
to reflect on the new computing machines, their abilities and limitations
should treat the impact of Turing machines with great care and that one
and this in a more systematic manner. It is in that context that the
should be careful in retrofitting the past into the present.
theoretical work already done was picked up. One important development
is automata theory in which one can situate, amongst others, the
5.1 Impact on Theoretical Computer Science development of other machine models like the register machine model or
the Wang B machine model which are, ultimately, rooted in Turing’s and
Today, the Turing machine and its theory are part of the theoretical
Post’s machines; there are the minimal machine designs discussed in
foundations of computer science. It is a standard reference in research on
Section 5.2; and there is the use of Turing machines in the context of what
foundational questions such as:
would become the origins of formal language theory, viz the study of
What is an algorithm? different classes of machines with respect to the different “languages” they
What is a computation? can recognize and so also their limitations and strengths. It are these more
What is a physical computation? theoretical developments that contributed to the establishment of
What is an efficient computation? computational complexity theory in the 1960s. Of course, besides Turing
etc. machines, other models also played and play an important role in these
developments. Still, within theoretical computer science it is mostly the
It is also one of the main models for research into a broad range of Turing machine which remains the model, even today. Indeed, when in
subdisciplines in theoretical computer science such as: variant and 1965 one of the founding papers of computational complexity theory
minimal models of computability, higher-order computability,

46 Stanford Encyclopedia of Philosophy Winter 2021 Edition 47


Turing Machines Liesbeth De Mol

(Hartmanis & Stearns 1965) is published, it is the multitape Turing be regarded as practical versions of this same type of machine.
machine which is introduced as the standard model for the computer. (Turing 1947)

5.2 Turing Machines and the Modern Computer Note however that Turing already knew the ENIAC and EDVAC designs
and proposed the ACE as a kind of improvement on that design (amongst
In several accounts, Turing has been identified not just as the father of others, it had a simpler hardware architecture).
computer science but as the father of the modern computer. The classical
These claims about Turing as the inventor and/or father of the computer
story for this more or less goes as follows: the blueprint of the modern
have been scrutinized by some historians of computing (Daylight 2014;
computer can be found in von Neumann’s EDVAC design and today
Haigh 2013; Haigh 2014; Mounier-Kuhn 2012), mostly in the wake of the
classical computers are usually described as having a so-called von
Turing centenary and this from several perspectives. Based on that
Neumann architecture. One fundamental idea of the EDVAC design is the
research it is clear that claims about Turing being the inventor of the
so-called stored-program idea. Roughly speaking this means the storage of
modern computer give a distorted and biased picture of the development
instructions and data in the same memory allowing the manipulation of
of the modern computer. At best, he is one of the many who made a
programs as data. There are good reasons for assuming that von Neumann
contribution to one of the several historical developments (scientific,
knew the main results of Turing’s paper (Davis 1988). Thus, one could
political, technological, social and industrial) which resulted, ultimately, in
argue that the stored-program concept originates in Turing’s notion of the
(our concept of) the modern computer. Indeed, the “first” computers are
universal Turing machine and, singling this out as the defining feature of
the result of a wide number of innovations and so are rooted in the work of
the modern computer, some might claim that Turing is the father of the
not just one but several people with diverse backgrounds and viewpoints.
modern computer. Another related argument is that Turing was the first
who “captured” the idea of a general-purpose machine through his notion In the 1950s then the (universal) Turing machine starts to become an
of the universal machine and that in this sense he also “invented” the accepted model in relation to actual computers and is used as a tool to
modern computer (Copeland & Proudfoot 2011). This argument is then reflect on the limits and potentials of general-purpose computers by both
strengthened by the fact that Turing was also involved with the engineers, mathematicians and logicians. More particularly, with respect
construction of an important class of computing devices (the Bombe) used to machine designs, it was the insight that only a few number of operations
for decrypting the German Enigma code and later proposed the design of were required to built a general-purpose machine which inspired in the
the ACE (Automatic Computing Engine) which was explicitly identified 1950s reflections on minimal machine architectures. Frankel, who
as a kind of physical realization of the universal machine by Turing (partially) constructed the MINAC stated this as follows:
himself:
One remarkable result of Turing’s investigation is that he was able
Some years ago I was researching on what might now be described to describe a single computer which is able to compute any
as an investigation of the theoretical possibilities and limitations of
digital computing machines. […] Machines such as the ACE may

48 Stanford Encyclopedia of Philosophy Winter 2021 Edition 49


Turing Machines Liesbeth De Mol

computable number. He called this machine a universal computer. machine and the important principle of the interchangeability between
It is thus the “best possible” computer mentioned. hardware and programs.

[…] This surprising result shows that in examining the question of Today, the universal Turing machine is by many still considered as the
what problems are, in principle, solvable by computing machines, main theoretical model of the modern computer especially in relation to
we do not need to consider an infinite series of computers of the so-called von Neumann architecture. Of course, other models have
greater and greater complexity but may think only of a single been introduced for other architectures such as the Bulk synchronous
machine. parallel model for parallel machines or the persistent Turing machine for
modeling interactive problems.
Even more surprising than the theoretical possibility of such a
“best possible” computer is the fact that it need not be very 5.3 Theories of Programming
complex. The description given by Turing of a universal computer
is not unique. Many computers, some of quite modest complexity, The idea that any general-purpose machine can, in principle, be modeled
satisfy the requirements for a universal computer. (Frankel 1956: as a universal Turing machine also became an important principle in the
635) context of automatic programming in the 1950s (Daylight 2015). In the
machine design context it was the minimizing of the machine instructions
The result was a series of experimental machines such as the MINAC,
that was the most important consequence of that viewpoint. In the
TX-0 (Lincoln Lab) or the ZERO machine (van der Poel) which in their
programming context then it was about the idea that one can built a
turn became predecessors of a number of commercial machines. It is
machine that is able to ‘mimic’’ the behavior of any other machine and so,
worth pointing out that also Turing’s ACE machine design fits into this
ultimately, the interchangeability between machine hardware and language
philosophy. It was also commercialized as the BENDIX G15 machine (De
implementations. This is introduced in several forms in the 1950s by
Mol, Bullynck, & Daylight 2018).
people like John W. Carr III and Saul Gorn—who were also actively
Of course, by minimizing the machine instructions, coding or involved in the shaping of the Association for Computing Machinery
programming became a much more complicated task. To put it in Turing’s (ACM)—as the unifying theoretical idea for automatic programming
words who clearly realized this trade-off between code and (hard-wired) which indeed is about the (automatic) “translation” of higher-order to
instructions when designing the ACE: “[W]e have often simplified the lower-level, and, ultimately, machine code. Thus, also in the context of
circuit at the expense of the code” (Turing 1947). And indeed, one sees programming, the universal Turing machine starts to take on its
that with these early minimal designs, much effort goes into developing foundational role in the 1950s (Daylight 2015).
more efficient coding strategies. It is here that one can also situate one
Whereas the Turing machine is and was a fundamental theoretical model
historical root of making the connection between the universal Turing
delimiting what is possible and not on the general level, it did not have a
real impact on the syntax and semantics of programming languages. In

50 Stanford Encyclopedia of Philosophy Winter 2021 Edition 51


Turing Machines Liesbeth De Mol

that context it were rather λ-calculus and Post production systems that had Cambridge: Cambridge University Press; fifth edition 2007.
an effect (though also here one should be careful in overstating the doi:10.1017/CBO9780511804076 (fifth edition)
influence of a formal model on a programming practice). In fact, Turing Bromley, Allan G., 1985, “Stored Program Concept. The Origin of the
machines were often regarded as machine models rather than as a model Stored Program Concept”, Technical Report 274, Basser Department
for programming: of Computer Science, November 1985. [Bromley 1985 available
online]
Turing machines are not conceptually different from the automatic Bullynck, Maarten, Edgar G. Daylight, and Liesbeth De Mol, 2015, “Why
computers in general use, but they are very poor in their control Did Computer Science Make a Hero Out of Turing?”,
structure. […] Of course, most of the theory of computability deals Communications of the ACM, 58(3): 37–39.doi:10.1145/2658985
with questions which are not concerned with the particular ways Church, Alonzo, 1932, “A Set of Postulates for the Foundation of Logic”,
computations are represented. It is sufficient that computable Annals of Mathematics, 33(2): 346–366. doi:10.2307/1968337
functions be represented somehow by symbolic expressions, e.g., –––, 1933, “A Set of Postulates for the Foundation of Logic (Second
numbers, and that functions computable in terms of given Paper)”, Annals of Mathematics, 34(4): 839–864.
functions be somehow represented by expressions computable in doi:10.2307/1968702
terms of the expressions representing the original functions. –––, 1936a, “An Unsolvable Problem of Elementary Number Theory”,
However, a practical theory of computation must be applicable to American Journal of Mathematics, 58(2): 345–363.
particular algorithms. (McCarthy 1963: 37) –––, 1936b, “A Note on the Entscheidungsproblem”, Journal of Symbolic
Logic, 1(1): 40–41. doi:10.2307/2269326
Thus one sees that the role of the Turing machine for computer science
–––, 1937, “Review of: On Computable Numbers with An Application to
should be situated rather on the theoretical level: the universal machine is
the Entscheidungsproblem by A.M. Turing”, Journal of Symbolic
today by many still considered as the model for the modern computer
Logic, 2(1): 42–43. doi:10.1017/S002248120003958X
while its ability to mimic machines through its manipulation of programs-
Cook, Matthew, 2004, “Universality in Elementary Cellular Automata”,
as-data is one of the basic principles of modern computing. Moreover, its
Complex Systems, 15(1): 1–40.
robustness and naturalness as a model of computability have made it the
Cooper, S. Barry and Jan Van Leeuwen, 2013, Alan Turing: His Work and
main model to challenge if one is attacking versions of the so-called
Impact, Amsterdam: Elsevier. doi:10.1016/C2010-0-66380-2
(physical) Church-Turing thesis.
Copeland, B. Jack, 2002, “Accelerating Turing Machines”, Minds and
Machines, 12(2): 281–301. doi:10.1023/A:1015607401307
Bibliography
Copeland, B. Jack and Diane Proudfoot, 2011, “Alan Turing: Father of the
Barwise, Jon and John Etchemendy, 1993, Turing’s World, Stanford, CA: Modern Computer”, The Rutherford Journal, 4: 1. [Copeland &
CSLI Publications. Proudfoot 2011 available online]
Boolos, George S. and Richard C. Jeffrey, 1974, Computability and Logic, Davis, Martin, 1958 [1982], Computability and Unsolvability, New York:

52 Stanford Encyclopedia of Philosophy Winter 2021 Edition 53


Turing Machines Liesbeth De Mol

McGraw-Hill. Reprinted Dover, 1982. is More in the Fifties: Encounters between Logical Minimalism and
–––, 1965, The Undecidable. Basic papers on undecidable propositions, Computer Design during the 1950s”, IEEE Annals of the History of
unsolvable problems and computable functions, New York: Raven Computing, 40(1): 19–45. doi:10.1109/MAHC.2018.012171265 [De
Press. Mol et al. 2018 available online]
–––, 1978, “What is a Computation?”, Lynn Arthur Steen (ed.), Deutsch, D., 1985, “Quantum Theory, the Church-Turing Principle and the
Mathematics Today: Twelve Informal Essays, New York: Springer, Universal Quantum Computer”, Proceedings of the Royal Society A,
pp. 241–267. doi:10.1007/978-1-4613-9435-8_10 400(1818): 97–117. doi:10.1098/rspa.1985.0070
–––, 1982, “Why Gödel Didn’t Have Church’s Thesis”, Information and Dershowitz, Nachum and Yuri Gurevich, 2008, “ A Natural
Control, 54:(1–2): 3–24. doi:10.1016/S0019-9958(82)91226-8 Axiomatization of Computability and Proof of Church’s Thesis”,
–––, 1988, “Mathematical Logic and the Origin of the Modern Computer”, Bulletin of Symbolic Logic, 14(3): 299–350.
in Herken 1988: 149–174. Frankel, Stanley, 1956, “Useful Applications of a Magnetic-Drum
–––, 1989, “Emil Post’s Contribution to Computer Science”, Proceedings Computer”, Electrical Engineering, 75(7): 634–39,
of the Fourth Annual Symposium on Logic in Computer Science, doi:10.1109/EE.1956.6442018
IEEE Computer Society Press, pp. 134–137. Gandy, Robin, 1980, “Church’s Thesis and Principles for Mechanism”, in
doi:10.1109/LICS.1989.39167 Jon Barwise, H. Jerome Keisler, and Kenneth Kunen (eds.), The
Davis, Martin and Wilfried Sieg, 2015, “Conceptual Confluence in 1936: Kleene Symposium: Proceedings of the Symposium Held June 18–24,
Post and Turing”, in Giovanni Sommaruga and Thomas Strahm 1978 at Madison, Wisconsin, U.S.A., (Studies in Logic and the
(eds.), Turing’s Revolution: The Impact of His Ideas about Foundations of Mathematics, 101), Amsterdam: North-Holland, pp.
Computability, Cham: Springer. doi:10.1007/978-3-319-22156-4_1 123–148. doi:10.1016/S0049-237X(08)71257-6
Daylight, Edgar G., 2014, “A Turing Tale”, Communications of the ACM, –––, 1988, “The Confluence of Ideas in 1936”, in Herken 1988: 55–111.
57(10): 36–38. doi:10.1145/2629499 Gödel, Kurt, 1929, “Die Vollständigkeit der Axiome des logischen
–––, 2015, “Towards a Historical Notion of ‘Turing—The Father of Funktionenkalkül”, Monatshefte für Mathematik und Physik, 37:
Computer Science’”, History and Philosophy of Logic, . 36(3): 205– 349–360. doi:10.1007/BF01696781
228. doi:10.1080/01445340.2015.1082050 –––, 1934, “On Undecidable Propositions of Formal Mathematical
De Mol, Liesbeth, 2013, “Generating, Solving and the Mathematics of Systems”, mimeographed lecture notes by S. C. Kleene and J. B.
Homo Sapiens. Emil Post’s Views On computation”, Hector Zenil Rosser, Institute for Advanced Study, Princeton, NJ; corrected and
(ed.), A Computable Universe. Understanding Computation & amplified in Davis 1965: 41–74.
Exploring Nature As Computation, Hackensack, NJ: World Scientific, Grier, David Alan, 2007, When Computers Were Human, Princeton, NJ:
pp. 45–62. doi:10.1142/9789814374309_0003 [De Mol 2013 Princeton University Press.
available online] Haigh, Thomas, 2013, “‘Stored Program Concept’ Considered Harmful:
De Mol, Liesbeth, Maarten Bullynck, and Edgar G. Daylight, 2018, “Less History and Historiography”, in Paola Bonizzoni, Vasco Brattka, and

54 Stanford Encyclopedia of Philosophy Winter 2021 Edition 55


Turing Machines Liesbeth De Mol

Benedikt Löwe, The Nature of Computation. Logic, Algorithms, Theory of Computation, Englewood Cliffs, NJ: Prentice-Hall.
Applications: 9th Conference on Computability in Europe, CiE 2013, Lin, Shen and Tibor Radó, 1965, “Computer Studies of Turing Machine
Milan, Italy, July 1–5, 2013 Proceedings, (Lecture Notes in Problems”, Journal of the Association for Computing Machinery,
Computer Science, 7921), Berlin: Springer, pp. 241–251. 12(2): 196–212. doi:10.1145/321264.321270
doi:10.1007/978-3-642-39053-1_28 Mancosu, Paolo, Richard Zach, and Calixto Badesa, 2009, “The
–––, 2014, “Actually, Turing Did Not Invent the Computer”, Development of Mathematical Logic from Russell to Tarski, 1900–
Communications of the ACM, 57(1): 36–41. doi:10.1145/2542504 1935”, in Leila Haaparanta (ed.), The Development of Modern Logic,
Hamkins, Joel David and Andy Lewis, 2000, “Infinite Time Turing New York: Oxford University Press, pp. 318–470.
Machines”, Journal of Symbolic Logic, 65(2): 567–604. doi:10.1093/acprof:oso/9780195137316.003.0029 [Mancosu et al.
doi:10.2307/2586556 2009 available online]
Hartmanis, J. and R.E. Stearns, 1965, “On the Computational Complexity Margenstern, Maurice, 2000, “Frontier Between Decidability and
of Algorithms” Transactions of the American Mathematical Society, Undecidability: A Survey”, Theoretical Computer Science, 231(2):
117: 285–306. doi:10.1090/S0002-9947-1965-0170805-7 217–251. doi:10.1016/S0304-3975(99)00102-4
Herken, Rolf, (ed.), 1988, The Universal Turing Machine: A Half-Century McCarthy, John, 1963, “A Basis for a Mathematical Theory of
Survey, New York: Oxford University Press. Computation”, in: P. Braffort and D. Hirschberg, Computer
Hilbert, David, 1930, “Naturerkennen und Logik”, Naturwissenschaften, Programming and Formal Systems, Amsterdam: North-Holland, pp.
18(47–49): 959–963. doi:10.1007/BF01492194 33–70. [McCarthy 1963 available online]
Hilbert, David and Wilhelm Ackermann, 1928, Grundzüge der Minsky, Marvin, 1961, “Recursive Unsolvability of Post's Problem of
Theoretischen Logik, Berlin: Springer. doi:10.1007/978-3-642-65400- ‘Tag’ and other Topics in Theory of Turing Machines”, Annals of
8 Mathematics, 74(3): 437–455. doi:10.2307/2269716
Hodges, Andrew, 1983, Alan Turing: The Enigma, New York: Simon and –––, 1967, Computation: Finite and Infinite Machines, Englewood Cliffs,
Schuster. NJ: Prentice Hall.
Kleene, Stephen Cole, 1936, “General Recursive Functions of Natural Moore, E.F., 1952, “A simplified universal Turing machine”, Proceedings
Numbers”, Mathematische Annalen, 112: 727–742. of the Association of Computing Machinery (meetings at Toronto,
doi:10.1007/BF01565439 Ontario), Washington, DC: Sauls Lithograph, 50–55.
–––, 1943, “Recursive predicates and quantifiers”, Transactions of the doi:10.1145/800259.808993
American Mathematical Society, 53(1): 41–73. doi:10.2307/2267986 Mounier-Kuhn, Pierre, 2012, “Logic and Computing in France: A Late
–––, 1952, Introduction to Metamathematics, Amsterdam: North Holland. Convergence”, in AISB/IACAP World Congress 2012: History and
Lambek, Joachim, 1961, “How to Program an Infinite Abacus”, Canadian Philosophy of Programming, University of Birmingham, 2-6 July
Mathematical Bulletin, 4: 295–302. doi:10.4153/CMB-1961-032-6 2012. [Mounier-Kuhn 2012 available online]
Lewis, Henry R. and Christos H. Papadimitriou, 1981, Elements of the Odifreddi, P., 1989, Classical Recursion Theory, Amsterdam: Elsevier.

56 Stanford Encyclopedia of Philosophy Winter 2021 Edition 57


Turing Machines Liesbeth De Mol

Petzold, Charles, 2008, The Annotated Turing: A Guided Tour Through Shapiro, Stewart, 2007, “Computability, Proof, and Open-Texture”, in
Alan Turing’s Historic Paper on Computability and Turing Machines, Adam Olszewski, Jan Wolenski, and Robert Janusz (eds.), Church’s
Indianapolis, IN: Wiley. Thesis After 70 years, Berlin: Ontos Verlag, pp. 420–455.
Post, Emil L., 1936, “Finite Combinatory Processes-Formulation 1”, doi:10.1515/9783110325461.420
Journal of Symbolic Logic, 1(3): 103–105. doi:10.2307/2269031 Sieg, Wilfried, 1994, “Mechanical Procedures and Mathematical
–––, 1944, “Recursively Enumerable Sets of Positive Integers and Their Experience”, in Alexander George (ed.), Mathematics and Mind,
Decision Problems”, Bulletin of the American Mathematical Society, Oxford: Oxford University Press, pp. 71–117.
50(5): 284–316. [Post 1944 available online] –––, 1997, “Step by Recursive Step: Church’s Analysis of Effective
–––, 1947, “Recursive Unsolvability of a Problem of Thue”, Journal of Calculability”, The Bulletin of Symbolic Logic, 3(2): 154–180.
Symbolic Logic, 12(1): 1–11. doi:10.2307/2267170 doi:10.2307/421012
–––, 1965, “Absolutely Unsolvable Problems and Relatively Undecidable –––, 2008, “Church without Dogma: Axioms for Computability”, in S.
Propositions—Account of an Anticipation”, in Martin Davis (ed.), Barry Cooper, Benedikt Löwe, and Andrea Sorbi (eds.), New
The Undecidable: Basic Papers on Undecidable Propositions, Computational Paradigms: Changing Conceptions of What is
Unsolvable Problems and Computable Functions, New York: Raven Computable, New York: Springer Verlag, pp. 139–152.
Press. Corrected republication 2004, Dover publications, New York, doi:10.1007/978-0-387-68546-5_7
pp. 340–433. Sipser, Michael, 1996, Introduction to the Theory of Computation, Boston:
Pullum, Geoffrey K., 2011, “On the Mathematical Foundations of PWS Publishing.
Syntactic Structures”, Journal of Logic, Language and Information, Soare, Robert I., 1996, “Computability and Recursion”, Bulletin for
20(3): 277–296. doi:10.1007/s10849-011-9139-8 Symbolic Logic, 2(3): 284–321. doi:10.2307/420992
Rabin, M.O. and D. Scott, 1959, “Finite Automata and their Decision Strachey, Christopher, 1965, “An Impossible Program (letter to the editor
Problems”, IBM Journal of Research and Development, 3(2): 114– )”, The Computer Journal, 7(4): 313. doi:10.1093/comjnl/7.4.313
125. doi:10.1147/rd.32.0114 Teuscher, Christof (ed.), 2004, Alan Turing: Life and Legacy of a Great
Radó, Tibor, 1962, “On Non-Computable Functions”, Bell System Thinker, Berlin: Springer. doi:10.1007/978-3-662-05642-4
Technical Journal, 41(3/May): 877–884. doi:10.1002/j.1538- Turing, A.M., 1936–7, “On Computable Numbers, With an Application to
7305.1962.tb00480.x the Entscheidungsproblem”, Proceedings of the London
Shannon, Claude E., 1956, “A Universal Turing Machine with Two Mathematical Society, s2-42: 230–265; correction ibid., s2-43: 544–
Internal States”, in Shannon & McCarthy 1956: 157–165. 546 (1937). doi:10.1112/plms/s2-42.1.230 and doi:10.1112/plms/s2-
doi:10.1515/9781400882618-007 43.6.544
Shannon, Claude E. and John McCarthy (eds), 1956, Automata Studies, –––, 1937, “Computability and λ-Definability”, Journal of Symbolic
(Annals of Mathematics Studies, 34), Princeton: Princeton University Logic, 2(4): 153–163. doi:10.2307/2268280
Press. –––, 1939, “Systems of Logic Based on Ordinals”, Proceedings of the

58 Stanford Encyclopedia of Philosophy Winter 2021 Edition 59


Turing Machines Liesbeth De Mol

London Mathematical Society, s2-45: 161–228. doi:10.1112/plms/s2- Enhanced bibliography for this entry at PhilPapers, with links
45.1.161 to its database.
–––, 1947 [1986], “Lecture to the London Mathematical Society on 20
February 1947”, reprinted in A M. Turing's ACE Report of 1946 and Other Internet Resources
Other Papers: Papers by Alan Turing and Michael Woodger,
“Turing Machines”, Stanford Encyclopedia of Philosophy (Fall 2018
(Charles Babbage Institute Reprint, 10), B.E. Carpenter and R.W.
Edition), Edward N. Zalta (ed.), URL =
Doran (eds.), Cambridge, MA: MIT Press, 1986.
<http://plato.stanford.edu/archives/fall2018/entries/turing-machine/>.
–––, 1954, “Solvable and Unsolvable Problems”, Science News,
[This was the previous entry on Turing Machines in the SEP, written
(February, Penguin), 31: 7–23.
by David Barker-Plummer.].
Wang, Hao, 1957, “A Variant to Turing’s Theory of Computing
Aaronson, Scott, Mohammad Bavarian, and Giulio Gueltrini, 2016,
Machines”, Journal of the ACM, 4(1): 63–92.
“Computability Theory of Closed Timelike Curves”, manuscript
doi:10.1145/320856.320867
available at arXiv.org.
Watanabe, Shigeru, 1961, “5-Symbol 8-State and 5-Symbol 6-State
The Alan Turing Home Page, maintained by Andrew Hodges
Universal Turing Machines”, Journal of the ACM, 8(4): 476–483.
Bletchley Park, in the U.K., where, during the Second World War,
doi:10.1145/321088.321090
Alan Turing was involved in code breaking activities at Station X.
Woods, Damien and Turlough Neary, 2007, “Small Semi-Weakly
Universal Turing Machines”, in Jérôme Durand-Lose and Maurice
Margenstern (eds.), Machines, Computations, and Universality: 5th
Busy Beaver
International Conference, MCU 2007 Orléans, France, September
Michael Somos’ page of Busy Beaver references.
10–13, 2007, (Lecture Notes in Computer Science, 4664), Berlin:
Springer, pp. 303–315. doi:10.1007/978-3-540-74593-8_26
The Halting Problem
–––, 2009, “The Complexity of Small Universal Turing Machines: A
Survey”, Theoretical Computer Science, 410(4–5): 443–450. Halting problem is solvable (funny)
doi:10.1016/j.tcs.2008.09.051
Online Turing Machine Simulators
Academic Tools
Turing machines are more powerful than any device that can actually be
How to cite this entry. built, but they can be simulated both in software and hardware.
Preview the PDF version of this entry at the Friends of the SEP
Society.
Look up topics and thinkers related to this entry at the Internet
Philosophy Ontology Project (InPhO).

60 Stanford Encyclopedia of Philosophy Winter 2021 Edition 61


Turing Machines Liesbeth De Mol

Software simulators Notes to Turing Machines


There are many Turing machine simulators available. Here are three 1. The update to this entry published in September 2018 was initially
software simulators that use different technologies to implement begun in 2015 by S. Barry Cooper, who died unexpectedly shortly after he
simulators using your browser. began work. His most important change at that time was to sketch some of
the points he was planning to discuss in the updated entry. We used these
Andrew Hodges’ Turing Machine Simulator (for limited number of points as a guideline to shape the 2018 update. They can be summarized as
machines) follows:
Suzanne Britton’s Turing Machine Simulator (A Java Applet)
i. The description of the algorithmic activity is explicitly aimed at the
Here is an application that you can run on the desktop (no endorsement of machine, rather than at an attendant human. And this activity is
these programs is implied). reduced by Turing to its simplest elements, yielding an honesty about
the work done appropriate to the measuring of computational
Visual Turing: freeware simulator for Windows 95/98/NT/2000
complexity or allowing more general computations of infinite length.
ii. The role of the data to be manipulated is clear and relatively flexible
Hardware simulators within the logical structure of the algorithm, a spotlighting
appropriate to today’s informational world.
Turing Machine in the Classic Style, Mike Davey’s physical Turing iii. The focus on a ‘machine’, based on Turing’s modelling of it on the
machine simulator. human computer following instructions, makes clearer the
Lego of Doom, Turing machine simulator using Lego™. dependence of the implementation of abstract computation on the
provision of a physical host. And conversely, Turing’s clear
Related Entries description of the modelling and its incorporation of all possibilities,
persuaded Gödel and others of the validity of the Church-Turing
Church-Turing Thesis | computability and complexity | computational
thesis.
complexity theory | recursive functions | Turing, Alan
iv. Turing’s predilection for ingenious programs arose from an early
awareness of the flexibility of the balance between computer
Acknowledgments
hardware and software. But it was his description of the program
The version of this entry published on September 24, 2018 is essentially a using language representable as data readable by the machine that
new entry, though the author would like to acknowledge the few sentences anticipated the program-as-data paradigm. And the latter led to
that remain from the previous version written by David Barker-Plummer. Turing’s Universal machine (see below), and the theoretical
See also footnote 1 for an acknowledgment to S. Barry Cooper. underpinning of John von Neumann’s logical architecture, so
important in the history of today’s stored-program computer.

62 Stanford Encyclopedia of Philosophy Winter 2021 Edition 63


Turing Machines

v. In Turing 1936–7, the unsolvability of Hilbert’s


Entscheidungsproblem becomes more clearly associated with the
sampling of collated computable data—clarifying the association of
incomputability with descriptions involving the use of quantifiers.
The relationship of descriptions using natural language to the
underlying computability, or lack of it, is an ongoing area of research
and speculation.

We note here that Section 5, was written based on point iv.

Copyright © 2021 by the author


Liesbeth De Mol

64 Stanford Encyclopedia of Philosophy

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy