CS 21 Decidability and Tractability Lecture 16 February
CS 21 Decidability and Tractability Lecture 16 February 10, 2021 CS 21 Lecture 16 1
Outline • Gödel Incompleteness Theorem February 10, 2021 CS 21 Lecture 16 2
Number Theory • February 10, 2021 CS 21 Lecture 16 3
Number Theory • February 10, 2021 CS 21 Lecture 16 4
Number Theory • February 10, 2021 CS 21 Lecture 16 5
Number Theory • February 10, 2021 CS 21 Lecture 16 6
Number Theory • q February 10, 2021 r CS 21 Lecture 16 7
Number Theory • true false February 10, 2021 CS 21 Lecture 16 8
Proof systems • February 10, 2021 CS 21 Lecture 16 9
Peano Arithmetic • February 10, 2021 CS 21 Lecture 16 10
Peano Arithmetic • February 10, 2021 CS 21 Lecture 16 11
Peano Arithmetic • modus ponens generalization February 10, 2021 CS 21 Lecture 16 12
Proof systems • February 10, 2021 CS 21 Lecture 16 13
Proof systems • A proof system is sound if all theorems in that proof system are true (better have this) • Peano Arithmetic (PA) is sound. true sentences = Th(N) false sentences = co-Th(N) theorems of PA February 10, 2021 CS 21 Lecture 16 14
Proof systems • A proof system is complete if all true sentences are theorems in that proof system • hope to have this (recall Hilbert’s program) true sentences = Th(N) false sentences = co-Th(N) theorems of a complete proof system February 10, 2021 CS 21 Lecture 16 15
Incompleteness Theorem: Peano Arithmetic is not complete. (same holds for any reasonable proof system for number theory) Proof outline: – the set of theorems of PA is RE – the set of true sentences (= Th(N)) is not RE February 10, 2021 CS 21 Lecture 16 16
Incompleteness Theorem • Lemma: the set of theorems of PA is RE. • Proof: – TM that recognizes the set of theorems of PA: – systematically try all possible ways of writing down sequences of formulas – accept if encounter a proof of input sentence (note: true for any reasonable proof system) February 10, 2021 CS 21 Lecture 16 17
Incompleteness Theorem • February 10, 2021 CS 21 Lecture 16 18
Incompleteness Theorem • February 10, 2021 CS 21 Lecture 16 19
Expressing computation in the language of number theory • February 10, 2021 CS 21 Lecture 16 20
Expressing computation in the language of number theory • February 10, 2021 CS 21 Lecture 16 21
Expressing computation in the language of number theory • February 10, 2021 CS 21 Lecture 16 22
Expressing computation in the language of number theory • February 10, 2021 CS 21 Lecture 16 23
Expressing computation in the language of number theory • February 10, 2021 CS 21 Lecture 16 24
Expressing computation in the language of number theory • i, k ) DIGIT(v, p i i = 0, 1, 2, 3, …, n February 10, 2021 CS 21 Lecture 16 25
Expressing computation in the language of number theory • February 10, 2021 CS 21 Lecture 16 26
Expressing computation in the language of number theory • February 10, 2021 CS 21 Lecture 16 27
Incompleteness Theorem • February 10, 2021 CS 21 Lecture 16 28
Incompleteness Theorem • Lemma: Th(N) is not RE • Proof: – reduce from co-HALT (show co-HALT ≤m Th(N)) – recall co-HALT is not RE – constructed such that M loops on w is true February 10, 2021 CS 21 Lecture 16 29
Summary • full-fledged model of computation: TM • many equivalent models • Church-Turing Thesis • encoding of inputs • Universal TM February 10, 2021 CS 21 Lecture 16 30
Summary • classes of problems: – decidable (“solvable by algorithms”) – recursively enumerable (RE) – co-RE • counting: – not all problems are decidable – not all problems are RE February 10, 2021 CS 21 Lecture 16 31
Summary • diagonalization: HALT is undecidable • reductions: other problems undecidable – many examples – Rice’s Theorem • natural problems that are not RE • Recursion Theorem: non-obvious capability of TMs: printing out own description • Incompleteness Theorem February 10, 2021 CS 21 Lecture 16 32
- Slides: 32