SLIDE 1
Undecidability of the halting problem
ATM = {M, w | M is a Turing machine that accepts w} Theorem ATM is undecidable
SLIDE 2 Undecidability of the halting problem
ATM = {M, w | M is a Turing machine that accepts w} Theorem ATM is undecidable Proof.
1
Assume that ATM is decidable by a Turing machine H
2
Construct a new Turing machine D which takes M as input and works as follows:
Run H on M, M and output the opposite of what H
3
Running D on input D results in a contradiction because D rejects D if D accepts D, and D accepts D if D rejects D
SLIDE 3
An explicit language which is not Turing-recognizable
ATM = {w | w / ∈ ATM}
SLIDE 4
An explicit language which is not Turing-recognizable
ATM = {w | w / ∈ ATM} Theorem ATM is not Turing-recognizable
SLIDE 5 An explicit language which is not Turing-recognizable
ATM = {w | w / ∈ ATM} Theorem ATM is not Turing-recognizable Proof.
1
Assume with the aim of reaching a contradiction that ATM is Turing-recognizable.
SLIDE 6 An explicit language which is not Turing-recognizable
ATM = {w | w / ∈ ATM} Theorem ATM is not Turing-recognizable Proof.
1
Assume with the aim of reaching a contradiction that ATM is Turing-recognizable.
2
Let M1 be a Turing machine recognizing ATM and M2 a Turing machine recognizing ATM.
SLIDE 7 An explicit language which is not Turing-recognizable
ATM = {w | w / ∈ ATM} Theorem ATM is not Turing-recognizable Proof.
1
Assume with the aim of reaching a contradiction that ATM is Turing-recognizable.
2
Let M1 be a Turing machine recognizing ATM and M2 a Turing machine recognizing ATM.
3
On input w run both M1 and M2 on w in parallel
SLIDE 8 An explicit language which is not Turing-recognizable
ATM = {w | w / ∈ ATM} Theorem ATM is not Turing-recognizable Proof.
1
Assume with the aim of reaching a contradiction that ATM is Turing-recognizable.
2
Let M1 be a Turing machine recognizing ATM and M2 a Turing machine recognizing ATM.
3
On input w run both M1 and M2 on w in parallel
4
If M1 accepts, then reject. If M2 accepts, then accept.
5
This shows that ATM is decidable, which is a contradiction
SLIDE 9
Reductions
SLIDE 10 Reductions
Definition A function f : Σ∗ → Σ∗ is computable if some Turing machine M
- n every input w halts with f(w) on its tape
SLIDE 11
Reductions
Definition Language A is mapping reducible to language B if there is a computable function f : Σ∗ → Σ∗ such that for every w w ∈ A iff f(w) ∈ B The function f is called a reduction from A to B If A is mapping reducible to B then we write A ≤m B
SLIDE 12
Reductions
Theorem If B is decidable and A ≤m B, then A is decidable
SLIDE 13 Reductions
Theorem If B is decidable and A ≤m B, then A is decidable Proof. Let MB be a Turing machine that decides B and f the reduction from A to B. Given input w:
1
Compute f(w)
2
Run MB on f(w), accept if MB accepts f(w), and reject if MB rejects f(w)
SLIDE 14
Reductions
Theorem If A is undecidable and A ≤m B, then B is undecidable
SLIDE 15 Reductions
Theorem If A is undecidable and A ≤m B, then B is undecidable Proof. Assume with the aim of reaching a contradiction that B is
- decidable. Let MB be a Turing machine that decides B and f the
reduction from A to B. Given input w:
1
Compute f(w)
2
Run MB on f(w), accept if MB accepts f(w), and reject if MB rejects f(w)
3
This shows that A is decidable, which is a contradiction
SLIDE 16
Reductions
Theorem If B is Turing-recognizable and A ≤m B, then A is Turing-recognizable
SLIDE 17
Reductions
Theorem If A is not Turing-recognizable and A ≤m B, then B is not Turing-recognizable
SLIDE 18
Reductions
ETM = {M | M is a Turing machine and L(M) = ∅}
SLIDE 19
Reductions
ETM = {M | M is a Turing machine and L(M) = ∅} Theorem ETM is undecidable
SLIDE 20
Reductions
ETM = {M | M is a Turing machine and L(M) = ∅} Theorem ETM is undecidable Proof. By reduction from ATM (Theorem 5.2 in Sipser)
SLIDE 21
Reductions
EQTM = {M1, M2 | M1 and M2 are TMs and L(M1) = L(M2)}
SLIDE 22
Reductions
EQTM = {M1, M2 | M1 and M2 are TMs and L(M1) = L(M2)} Theorem EQTM is undecidable
SLIDE 23
Reductions
EQTM = {M1, M2 | M1 and M2 are TMs and L(M1) = L(M2)} Theorem EQTM is undecidable Proof. ETM ≤m EQTM:
SLIDE 24 Reductions
EQTM = {M1, M2 | M1 and M2 are TMs and L(M1) = L(M2)} Theorem EQTM is undecidable Proof. ETM ≤m EQTM:
1
Let M2 be a Turing machine such that L(M2) = ∅
SLIDE 25 Reductions
EQTM = {M1, M2 | M1 and M2 are TMs and L(M1) = L(M2)} Theorem EQTM is undecidable Proof. ETM ≤m EQTM:
1
Let M2 be a Turing machine such that L(M2) = ∅
2
Given a Turing machine M, let f(M) = M, M2
SLIDE 26 Reductions
EQTM = {M1, M2 | M1 and M2 are TMs and L(M1) = L(M2)} Theorem EQTM is undecidable Proof. ETM ≤m EQTM:
1
Let M2 be a Turing machine such that L(M2) = ∅
2
Given a Turing machine M, let f(M) = M, M2
3
M ∈ ETM iff L(M) = ∅ iff L(M) = L(M2) iff M, M2 ∈ EQTM
SLIDE 27
Incompleteness Theorem via Undecidability
Kurt Gödel (1906-1978)
SLIDE 28
Incompleteness Theorem via Undecidability (S, 6.2)
Theorem (Informally) There are true mathematical statements that cannot be proved
SLIDE 29 Incompleteness Theorem via Undecidability (S, 6.2)
Theorem (Informally) There are true mathematical statements that cannot be proved Proof idea.
1
The language of all true mathematical statements is undecidable (by reduction from ATM)
SLIDE 30 Incompleteness Theorem via Undecidability (S, 6.2)
Theorem (Informally) There are true mathematical statements that cannot be proved Proof idea.
1
The language of all true mathematical statements is undecidable (by reduction from ATM)
2
The language of all provable statements is Turing recognizable by a Turing machine M
SLIDE 31 Incompleteness Theorem via Undecidability (S, 6.2)
Theorem (Informally) There are true mathematical statements that cannot be proved Proof idea.
1
The language of all true mathematical statements is undecidable (by reduction from ATM)
2
The language of all provable statements is Turing recognizable by a Turing machine M
3
Assume that all true statements are provable
SLIDE 32 Incompleteness Theorem via Undecidability (S, 6.2)
Theorem (Informally) There are true mathematical statements that cannot be proved Proof idea.
1
The language of all true mathematical statements is undecidable (by reduction from ATM)
2
The language of all provable statements is Turing recognizable by a Turing machine M
3
Assume that all true statements are provable
4
Given a statement Φ, run M in parallel on Φ and ¬Φ. One
- f them is true and thus (by assumption) provable. If Φ is
provable then Φ is true and if ¬Φ is provable then Φ is false.
SLIDE 33 Incompleteness Theorem via Undecidability (S, 6.2)
Theorem (Informally) There are true mathematical statements that cannot be proved Proof idea.
1
The language of all true mathematical statements is undecidable (by reduction from ATM)
2
The language of all provable statements is Turing recognizable by a Turing machine M
3
Assume that all true statements are provable
4
Given a statement Φ, run M in parallel on Φ and ¬Φ. One
- f them is true and thus (by assumption) provable. If Φ is
provable then Φ is true and if ¬Φ is provable then Φ is false.
5
So M decides the truth of Φ. This is a contradiction (with 1 above)