N or Space for next slide, P for previous slide, F for full screen, M for menu
Boaz Barak (instructor), Brian Sapozhnikov (Head TF), Albert Chalom, Alexis Ross, Charles O’Mara, Daniel Chen, David Li , Jambay Kinley, Jane Ahn, John Shen, Josh Seides, Laura Pierson, Pranay Tankala, Raymond Lin, Theresa Nguyen, Wanqian Yang, William Fu, Hikari Sorensen (Extension TF), Eric Lu (Patel Fellow)
Laptops/phones only on last 5 rows please.
“Take any definite unsolved problem, such as … the existence of an infinite number of prime numbers of the form \(2^n + 1\). However unapproachable these problems may seem to us and however helpless we stand before them, we have, nevertheless, the firm conviction that their solution must follow by a finite number of purely logical processes…”
“…This conviction of the solvability of every mathematical problem is a powerful incentive to the worker. We hear within us the perpetual call: There is the problem. Seek its solution. You can find it by pure reason, for in mathematics there is no ignorabimus.”, David Hilbert, 1900.
Gödel, 1931: For every sound proof system there is a number theoretic statement that is true but unprovable.
A mathematical statement is a piece of text that can be either true or false. A proof is a piece of text whose existence certifies a statement is true.
A mathematical statement is a piece of text that can be either true or false. A proof is a piece of text whose existence certifies a statement is true.
Def: A proof for a statement \(x\in \{0,1\}^*\) is a string \(w\in \{0,1\}^*\) such that \(V(x,w)=1\) for some function \(V\). \(V\) is verifier or proof system and should be:
Sound: if there exists \(w\in \{0,1\}^*\) s.t. \(V(x,w)=1\) then \(x\) is true.
Effective: \(V\) is computable.
Ideally, we would also like \(V\) to be complete: for every true statement \(x\) in some domain, there exists a proof \(w\) s.t. \(V(x,w)=1\).
Examples: First order logic (Gödel 1929), Presburger arithmetic (Presburger 1929), Geometry (.. Tarski 1951), Quantified Statements over closed fields.
Def: A proof system is an algorithm \(V\) such that for every \(x\in \{0,1\}^*\), if there exists \(w\in \{0,1\}^*\) such that \(V(x,w)=1\) then \(x\) is true.
Question: Which one of the following proof systems satisfies def?
Def: A (sound+effective) proof system is an algorithm \(V\) such that for every \(x\in \{0,1\}^*\), if there exists \(w\in \{0,1\}^*\) such that \(V(x,w)=1\) then \(x\) is true. \(V\) is complete if for every true \(x\), there exists \(w\in \{0,1\}^*\) s.t. \(V(x,w)=1\).
Gödel’s Incompleteness Theorem: If a proof system is sound, effective, and sufficiently rich, then it is incomplete.
Gödel Second Theorem: If a proof system is effective and sufficiently rich, then it can’t prove its own consistency.
Machines can’t think
There is no such thing as objective truth
God exists
The moon landing was faked
Nothing is impossible,
Child, nothing is impossible,
Every bridge is crossable,
Every tooth is flossable,
Every win is lossable,
Every worker’s bossable,
Every cookie’s tossable,
Every yak’s a Lhasa bull,
Nothing is impossible,
Child, nothing is impossible
OK, teacher, can you name something that ISN’T possible?
No, child, nothing is impossible
So, there is something that’s impossible: naming something that’s impossible is impossible.
Well, um, I guess, child..
In that case, it IS possible to name something that’s impossible, because naming something that’s impossible is impossible.
But THEN, naming something that’s impossible is NOT impossible; it’s possible, which means it IS impossible to name something that’s impossible
\(x\) = “The statement \(x\) has no proof in the system \(V\)”
\(x\) = “\(\forall_{w\in \{0,1\}^*} V(x,w)=0\)”
If \(x\) is true, then it has no proof.
If \(x\) is false then \(x\) has a proof and then it is true!
Bottom line: \(x\) is true and has no proof: \(V\) is incomplete!
Note: Proof for \(x\) is proof for \(NOT(x)\). Hence, \(V\) is consistent \(\Rightarrow\) \(x\) has no proof Hence, \(V\) is consistent \(\Rightarrow\) \(x\) is true. Hence \(V\) can’t prove that \(V\) is consistent.
\(x\) = “The statement \(x\) has no proof in the system \(V\)”
\(x\) = “\(\forall_{w\in \{0,1\}^*} V(x,w)=0\)”
Domain: Statements of form “Program \(P\) halts on input \(z\)” and “Program \(P\) does not halt on input \(z\)” (encoded as strings)
Thm: For every sound and effective \(V\), there is a true statement \(x\) that does not have a proof in \(V\).
Proof of thm: Suppose otherwise, then this is an algorithm for halting problem:
Input: TM \(P\), input \(z\)
Operation: Let \(n=0\) and
Analysis: \(H\) either halts on \(z\) or not. If \(V\) is complete then eventually we will recover the proof of the right statement.
If \(F:\{0,1\}^* \rightarrow \{0,1\}\) is uncomputable, then there is no sound, effective, and complete proof system for statements of form “\(F(x)=0\)” and “\(F(x)=1\)”.
Gödel’s Thm (restatement): \(QIS:\{0,1\}^* \rightarrow \{0,1\}\) is uncomputable, where \(QIS(x)=1\) iff \(x\) is a true statement on natural numbers involving \(\forall\), \(\exists\), \(\wedge\), \(\vee\), \(\neg\), \(\gt\),\(\lt\),\(=\),\(+\),\(\times\), \(0\) and \(1\).
Example: \(\color{red}{HILBERTCONJ}\): For every \(n\), there exists a prime \(p \gt n\) of the form \(p=2^n+1\):
\(\color{red}{DIVIDES(a,c)} = \exists_{b\in \mathbb{N}} a = b \times c\)
\(\color{red}{PRIMES(p)} = \forall_{a \in \mathbb{N}} \neg DIVIDES(a,p) \vee (a=1) \vee (a=p)\)
\(\color{red}{HILBERTCONJ} = \forall_{n\in \mathbb{N}} \exists_{p\in \mathbb{N}} (p \gt n) \wedge PRIME(p) \wedge\)
\(\forall_{a\in \mathbb{N}} DIVIDES(a,p-1) \Rightarrow DIVIDES(2,a)\)
If \(F:\{0,1\}^* \rightarrow \{0,1\}\) is uncomputable, then there is no sound, effective, and complete proof system for statements of form “\(F(x)=0\)” and “\(F(x)=1\)”.
Gödel’s Thm (restatement): \(QIS:\{0,1\}^* \rightarrow \{0,1\}\) is uncomputable, where \(QIS(x)=1\) iff \(x\) is a true statement on natural numbers involving \(\forall\), \(\exists\), \(\wedge\), \(\vee\), \(\neg\), \(\gt\),\(\lt\),\(=\),\(+\),\(\times\), \(0\) and \(1\).
Example: For every \(n\), there exists a prime \(p \gt n\) of the form \(p=2^n+1\).
MRDP Thm (Gödel++): \(DIOPHANTINE:\{0,1\}^* \rightarrow \{0,1\}\) is uncomputable, where \(DIOPHANTINE(x)=1\) iff \(x\) is a true statement on natural numbers involving \(\exists\), \(=\), \(+\),\(\times\), \(0\) and \(1\).
Example: There exists \(a,b,c \gt 0\) s.t. \(a^{11} + b^{11} = c^{11}\).
Why care?
First step: Mixed integer statements: talk about both strings and integers.
Example 1: For every \(n\in \mathbb{N}\) there exists a string \(\alpha\in \{0,1\}^n\) such that every substring \(\alpha'\) of \(\alpha\) has \(|\text{no. zeroes} - \text{no. ones}| \leq 1\).
Example 2: There exists \(C\in \mathbb{N}\) such that for every \(n\in \mathbb{N}\) there exists a string \(\alpha\in \{0,1\}^n\) such that every “arithmetic progression substring” \(\alpha'\) of \(\alpha\) has \(|\text{no. zeroes} - \text{no. ones}| \leq C\).
Thm: \(MIS:\{0,1\}^* \rightarrow \{0,1\}\) is uncomputable
Thm: \(MIS:\{0,1\}^* \rightarrow \{0,1\}\) is uncomputable
Approach 1: Given NAND++ program \(P\), build MIS \(\Phi_P\) s.t. \(\Phi_P(H)\) is true iff \(H\) encodes valid sequence of configurations \(\alpha^0, \ldots, \alpha^{T-1}\) of an execution of \(P\) on \(0\).
Approach 2: Build MIS \(\Phi(E)\) if \(E = e_0,\ldots,e_T\) sequence of reductions of \(\lambda\) expression \(exp\).
Approach 3: Turing machines, cellular automata, …
All cases: Consistency can be checked by local operations
Def: Configuration of NAND++ program encodes all the state during a computation: scalar variables, array variables, index variable.
What you need to know:
A configuration is a string.
If \(\beta = NEXT_P(\alpha)\) then they agree in all but \(O(1)\) coordinates.
COROLLARY 1: Find MIS \(\varphi_P\) such that \(\varphi_P(\alpha,\beta)\) true iff \(\beta = NEXT_P(\alpha)\).
COROLLARY 2: Find MIS \(\Psi_P\) such that \(\Psi_P(H)\) true iff \(H\) encodes list \(\alpha^0,\ldots,\alpha^{t-1}\) such that \(\alpha^{i+1} = NEXT_P(\alpha^i)\).
COROLLARY 3: \(MIS\) is uncomputable.
Define sequence of primes \(p_0 \lt p_1 \lt p_2 \lt \ldots\) s.t. there is a quantified integer statement \(P(p,i)\) which is true iff \(p=p_i\).
Map \(x \in \{0,1\}^n\) to \(X\in \mathbb{N}\) where \(X= p_0^{x_0}p_1^{x_1}\ldots p_{n-1}^{x_{n-1}}\)
\(x_i\) is mapped into \(\exists_p P(p,i) \wedge DIVIDES(p,x)\)
Sequence is simply \(p_i\) is smallest prime larger than \((C+i)^3\).
\(P(p,i) = PRIME(P) \wedge\)
\(\forall_{q} (PRIME(q) \wedge q\gt(C+i)\times (C+i)\times(C+i)) \Rightarrow q \geq p\)