Undecidability of the halting problem A TM = {� M , w � | M is a Turing machine that accepts w } Theorem A TM is undecidable
Undecidability of the halting problem A TM = {� M , w � | M is a Turing machine that accepts w } Theorem A TM is undecidable Proof. Assume that A TM is decidable by a Turing machine H 1 Construct a new Turing machine D which takes � M � as 2 input and works as follows: Run H on � M , � M �� and output the opposite of what H outputs Running D on input � D � results in a contradiction because 3 D rejects � D � if D accepts � D � , and D accepts � D � if D rejects � D �
An explicit language which is not Turing-recognizable A TM = { w | w / ∈ A TM }
An explicit language which is not Turing-recognizable A TM = { w | w / ∈ A TM } Theorem A TM is not Turing-recognizable
An explicit language which is not Turing-recognizable A TM = { w | w / ∈ A TM } Theorem A TM is not Turing-recognizable Proof. Assume with the aim of reaching a contradiction that A TM 1 is Turing-recognizable.
An explicit language which is not Turing-recognizable A TM = { w | w / ∈ A TM } Theorem A TM is not Turing-recognizable Proof. Assume with the aim of reaching a contradiction that A TM 1 is Turing-recognizable. Let M 1 be a Turing machine recognizing A TM and M 2 a 2 Turing machine recognizing A TM .
An explicit language which is not Turing-recognizable A TM = { w | w / ∈ A TM } Theorem A TM is not Turing-recognizable Proof. Assume with the aim of reaching a contradiction that A TM 1 is Turing-recognizable. Let M 1 be a Turing machine recognizing A TM and M 2 a 2 Turing machine recognizing A TM . On input w run both M 1 and M 2 on w in parallel 3
An explicit language which is not Turing-recognizable A TM = { w | w / ∈ A TM } Theorem A TM is not Turing-recognizable Proof. Assume with the aim of reaching a contradiction that A TM 1 is Turing-recognizable. Let M 1 be a Turing machine recognizing A TM and M 2 a 2 Turing machine recognizing A TM . On input w run both M 1 and M 2 on w in parallel 3 If M 1 accepts, then reject. If M 2 accepts, then accept. 4 This shows that A TM is decidable, which is a contradiction 5
Reductions
Reductions Definition A function f : Σ ∗ → Σ ∗ is computable if some Turing machine M on every input w halts with f ( w ) on its tape
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
Reductions Theorem If B is decidable and A ≤ m B, then A is decidable
Reductions Theorem If B is decidable and A ≤ m B, then A is decidable Proof. Let M B be a Turing machine that decides B and f the reduction from A to B . Given input w : Compute f ( w ) 1 Run M B on f ( w ) , accept if M B accepts f ( w ) , and reject if 2 M B rejects f ( w )
Reductions Theorem If A is undecidable and A ≤ m B, then B is undecidable
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 M B be a Turing machine that decides B and f the reduction from A to B . Given input w : Compute f ( w ) 1 Run M B on f ( w ) , accept if M B accepts f ( w ) , and reject if 2 M B rejects f ( w ) This shows that A is decidable, which is a contradiction 3
Reductions Theorem If B is Turing-recognizable and A ≤ m B, then A is Turing-recognizable
Reductions Theorem If A is not Turing-recognizable and A ≤ m B, then B is not Turing-recognizable
Reductions E TM = {� M � | M is a Turing machine and L ( M ) = ∅}
Reductions E TM = {� M � | M is a Turing machine and L ( M ) = ∅} Theorem E TM is undecidable
Reductions E TM = {� M � | M is a Turing machine and L ( M ) = ∅} Theorem E TM is undecidable Proof. By reduction from A TM (Theorem 5.2 in Sipser)
Reductions EQ TM = {� M 1 , M 2 � | M 1 and M 2 are TMs and L ( M 1 ) = L ( M 2 ) }
Reductions EQ TM = {� M 1 , M 2 � | M 1 and M 2 are TMs and L ( M 1 ) = L ( M 2 ) } Theorem EQ TM is undecidable
Reductions EQ TM = {� M 1 , M 2 � | M 1 and M 2 are TMs and L ( M 1 ) = L ( M 2 ) } Theorem EQ TM is undecidable Proof. E TM ≤ m EQ TM :
Reductions EQ TM = {� M 1 , M 2 � | M 1 and M 2 are TMs and L ( M 1 ) = L ( M 2 ) } Theorem EQ TM is undecidable Proof. E TM ≤ m EQ TM : Let M 2 be a Turing machine such that L ( M 2 ) = ∅ 1
Reductions EQ TM = {� M 1 , M 2 � | M 1 and M 2 are TMs and L ( M 1 ) = L ( M 2 ) } Theorem EQ TM is undecidable Proof. E TM ≤ m EQ TM : Let M 2 be a Turing machine such that L ( M 2 ) = ∅ 1 Given a Turing machine M , let f ( � M � ) = � M , M 2 � 2
Reductions EQ TM = {� M 1 , M 2 � | M 1 and M 2 are TMs and L ( M 1 ) = L ( M 2 ) } Theorem EQ TM is undecidable Proof. E TM ≤ m EQ TM : Let M 2 be a Turing machine such that L ( M 2 ) = ∅ 1 Given a Turing machine M , let f ( � M � ) = � M , M 2 � 2 � M � ∈ E TM iff L ( M ) = ∅ iff L ( M ) = L ( M 2 ) iff 3 � M , M 2 � ∈ EQ TM
Incompleteness Theorem via Undecidability Kurt Gödel (1906-1978)
Incompleteness Theorem via Undecidability (S, 6.2) Theorem (Informally) There are true mathematical statements that cannot be proved
Incompleteness Theorem via Undecidability (S, 6.2) Theorem (Informally) There are true mathematical statements that cannot be proved Proof idea. The language of all true mathematical statements is 1 undecidable (by reduction from A TM )
Incompleteness Theorem via Undecidability (S, 6.2) Theorem (Informally) There are true mathematical statements that cannot be proved Proof idea. The language of all true mathematical statements is 1 undecidable (by reduction from A TM ) The language of all provable statements is Turing 2 recognizable by a Turing machine M
Incompleteness Theorem via Undecidability (S, 6.2) Theorem (Informally) There are true mathematical statements that cannot be proved Proof idea. The language of all true mathematical statements is 1 undecidable (by reduction from A TM ) The language of all provable statements is Turing 2 recognizable by a Turing machine M Assume that all true statements are provable 3
Incompleteness Theorem via Undecidability (S, 6.2) Theorem (Informally) There are true mathematical statements that cannot be proved Proof idea. The language of all true mathematical statements is 1 undecidable (by reduction from A TM ) The language of all provable statements is Turing 2 recognizable by a Turing machine M Assume that all true statements are provable 3 Given a statement Φ , run M in parallel on Φ and ¬ Φ . One 4 of them is true and thus (by assumption) provable. If Φ is provable then Φ is true and if ¬ Φ is provable then Φ is false.
Incompleteness Theorem via Undecidability (S, 6.2) Theorem (Informally) There are true mathematical statements that cannot be proved Proof idea. The language of all true mathematical statements is 1 undecidable (by reduction from A TM ) The language of all provable statements is Turing 2 recognizable by a Turing machine M Assume that all true statements are provable 3 Given a statement Φ , run M in parallel on Φ and ¬ Φ . One 4 of them is true and thus (by assumption) provable. If Φ is provable then Φ is true and if ¬ Φ is provable then Φ is false. So M decides the truth of Φ . This is a contradiction (with 1 5 above)
Recommend
More recommend