Title: The Church-Turing Thesis
1The Church-Turing Thesis
Chapter 18
2Are We Done?
FSM ? PDA ? Turing machine Is this the end of
the line? There are still problems we cannot
solve ? There is a countably infinite
number of Turing machines since we can
lexicographically enumerate all the strings
that correspond to syntactically legal Turing
machines. ? There is an uncountably infinite
number of languages over any nonempty
alphabet. ? So there are more languages
than there are Turing machines.
3What Can Algorithms Do?
- Is it possible to axiomatize all of the
mathematical structures of interest in such a way
that every true statement become a theorem? - Does there exist an algorithm that can examine a
string and determine whether or not it is an
axiom? - Can we decide whether a statement is a theorem?
- Does there exist an algorithm that always halts
and that returns True when given a theorem and
False otherwise?
4Gödels Incompleteness Theorem
Kurt Gödel showed, in the proof of his
Incompleteness Theorem Gödel 1931, that the
answer to question 1 is no. In particular, he
showed that there exists no decidable
axiomatization of Peano arithmetic that is both
consistent and complete.
Axiom Proposition regarded as self-evidently
true without proof Peano Arithmetic Theory of
natural numbers defined by the five Peano's
axioms First order logic Propositional logic
quantification predicate
5The Entscheidungsproblem
- Entscheidungsproblem (German for decision
problem) - Three equivalent ways to state the problem
- Does there exist an algorithm to decide, given an
arbitrary sentence w in first order logic,
whether w is valid? - Given a set of axioms A and a sentence w, does
there exist an algorithm to decide whether w is
entailed by A? - Given a set of axioms, A, and a sentence, w, does
there exist an algorithm to decide whether w can
be proved from A?
6The Entscheidungsproblem
To answer the question, in any of these forms,
requires formalizing the definition of an
algorithm ? Turing Turing machines. ?
Church lambda calculus. Turing proved that
Turing machines and the lambda calculus are
equivalent. The Entscheidungsproblem can be
solved in neither!
7Church's Thesis(Church-Turing Thesis)
All formalisms powerful enough to describe
everything we think of as a computational
algorithm are equivalent. This isnt a formal
statement, so we cant prove it. But many
different computational models have been proposed
and they all turn out to be equivalent.
8The Church-Turing Thesis
Examples of equivalent formalisms ? Modern
computers (with unbounded memory) ? Lambda
calculus ? Partial recursive functions
? Tag systems (FSM plus FIFO queue) ?
Unrestricted grammars aSa ? B
? Post production systems ? Markov
algorithms ? Conways Game of Life ?
One dimensional cellular automata ?
DNA-based computing ? Lindenmayer systems
9The Unsolvability of the Halting Problem
Chapter 19
10Languages and Machines
SD D Context-Free Languages Regular Languages
reg exps FSMs
cfgs PDAs unrestricted
grammars Turing Machines
11D and SD
? A TM M with input alphabet ? decides a language
L ? ? iff, for any string w ? ?, ? if w
? L then M accepts w, and ? if w ? L then M
rejects w. A language L is decidable (in D)
iff there is a Turing machine M that decides
it. ? A TM M with input alphabet ?
semidecides L iff for any string w ? ?,
? if w ? L then M accepts w ? if w ? L then M
does not accept w. M may reject or loop. A
language L is semidecidable (in SD) iff there is
a Turing machine that semidecides it.
12Defining the Universe
- What is the complement of
- AnBn anbn n ? 0
- ltM, wgt TM M halts on input string w.
13Defining the Universe
L1 ltM, wgt TM M halts on input string w. L2
ltMgt M halts on nothing. L3 ltMa, Mbgt Ma
and Mb halt on the same strings. For a string w
to be in L1, it must ? be syntactically
well-formed. ? encode a machine M and a
string w such that M halts when started
on w. Define the universe from which we are
drawing strings to contain only those strings
that meet the syntactic requirements of the
language definition. This convention has no
impact on the decidability of any of these
languages since the set of syntactically valid
strings is in D. (A checker can be built to
check the correct syntax.)
14A Different Definition of Complement
Our earlier definition ?L1 x x is not a
syntactically well formed ltM, wgt pair ?
ltM, wgt TM M does not halt on input string
w. We will use a different definition Define
the complement of any language L whose member
strings include at least one Turing machine
description to be with respect to a universe of
strings that are of the same syntactic form as L.
Now we have ?L1 ltM, wgt TM M does not
halt on input string w.
15The Language H
H ltM, wgt TM M halts on input string
w Theorem The language H ltM, wgt
TM M halts on input string w ? is
semidecidable, but ? is not decidable.
16Does This Program Halt?
times3(x positive integer) While x ? 1
do If x is even then x x/2.
Else x 3x 1
25
17Does This Program Halt?
times3(x positive integer) While x ? 1
do If x is even then x x/2.
Else x 3x 1
25 76 38 19 58
18Does This Program Halt?
times3(x positive integer) While x ? 1
do If x is even then x x/2.
Else x 3x 1
25 76 38 19 58
29 88 44 22 11
19Does This Program Halt?
times3(x positive integer) While x ? 1
do If x is even then x x/2.
Else x 3x 1
25 76 38 19 58
29 88 44 22 11
34 17 52 26 13
20Does This Program Halt?
times3(x positive integer) While x ? 1
do If x is even then x x/2.
Else x 3x 1
25 76 38 19 58
40 20 10 5 16
29 88 44 22 11
34 17 52 26 13
21Does This Program Halt?
times3(x positive integer) While x ? 1
do If x is even then x x/2.
Else x 3x 1
25 76 38 19 58
40 20 10 5 16
29 88 44 22 11
34 17 52 26 13
8 4 2 1
http//www.numbertheory.org/php/collatz.html
22H is Semidecidable
Lemma The language H ltM, wgt TM M
halts on input string w is semidecidable.
Proof
23H is Semidecidable
Lemma The language H ltM, wgt TM M
halts on input string w is semidecidable.
Proof The TM MH semidecides H MH(ltM, wgt)
1. Run M on w. 2. Accept MH
halts iff M halts on w. Thus MH semidecides H.
24The Unsolvability of the Halting Problem
Lemma The language H ltM, wgt TM M
halts on input string w is not
decidable. Proof If H were decidable, then
some TM MH would decide it. MH would implement
the specification halts(ltM string, w stringgt)
If ltMgt is a Turing machine description
and M halts on input w then accept
else reject
25Trouble
Trouble(x string) if halts(x, x) then loop
forever, else halt. If there exists an MH that
computes the function halts, Trouble exists
What is Trouble(ltTroublegt)? What is
halts(ltTrouble, Troublegt)? ? If halts
reports that Trouble(ltTroublegt) halts, Trouble
loops. ? But if halts reports that
Trouble(ltTroublegt) does not halt, then
Trouble halts.
C is a Turing machine that writes x,x on the
tape given x (i.e., input) on the tape
26Viewing the Halting Problem as Diagonalization
? Lexicographically enumerate Turing machines. ?
Let 1 mean halting, blank mean non
halting. But Trouble behaves as Or
maybe halts said that trouble(lttroublegt) would
halt. But then trouble would loop.
i1 i2 i3 ltTroublegt
machine1 1
machine2 1
machine3 1
1
Trouble 1 1
1 1 1
1
Trouble 1 1 1
27If H were in D
H ltM, wgt TM M halts on input string w
Theorem If H were in D then every SD language
would be in D. Proof Let L be any SD language.
There exists a TM ML that semidecides it.
If H were also in D, then there would exist a
Turing machine O that decides it.
28If H were in D
To decide whether w is in L(ML)
M'(w string) 1. Run O on ltML, wgt. 2.
If O accepts (i.e., ML will halt), then
2.1. Run ML on w. 2.2. If it accepts,
accept. Else reject. 3. Else reject. So, if
H were in D, all SD languages would be.
29Back to the Entscheidungsproblem
Theorem The Entscheidungsproblem is
unsolvable. Proof (Due to Turing) 1. If we
could solve the problem of determining whether a
given Turing machine ever prints the symbol
0, then we could solve the problem of
determining whether a given Turing machine halts.
2. But we cant solve the problem of determining
whether a given Turing machine halts, so
neither can we solve the problem of determining
whether it ever prints 0. 3. Given a Turing
machine M, we can construct a logical formula F
that is true iff M ever prints the symbol 0.
4. If there were a solution to the
Entscheidungsproblem, then we would be able
to determine the truth of any logical sentence,
including F and thus be able to decide
whether M ever prints the symbol 0. 5. But we
know that there is no procedure for determining
whether M ever prints 0. 6. So there is no
solution to the Entscheidungsproblem.