logic and computationbbonakda/teaching/cs245/computability.pdf · logic and computation cs245 dr....
TRANSCRIPT
![Page 1: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/1.jpg)
Logic and ComputationCS245
Dr. Borzoo Bonakdarpour
University of Waterloo
(Fall 2012)
Computability and Decidability
Logic and Computation – p. 1/29
![Page 2: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/2.jpg)
Agenda
Programs as Formulas
Cantor’s Diagonalization
Decidability
Logic and Computation – p. 2/29
![Page 3: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/3.jpg)
Programs asFormulas
Addition
∀x.PLUS(0, x, x)
∀x, y, z.PLUS(x, y, z)⇒ PLUS(s(x), y, s(z))
where s is the successor function in the set ofnatural numbers.
Logic and Computation – p. 3/29
![Page 4: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/4.jpg)
Programs asFormulas
Strings
∀x.APPEND([], x, x)
∀x, y, z, h.APPEND(x, y, z)⇒ APPEND(h|x, y, h|z)
where ‘|’ denotes concatenation of two strings.
Logic and Computation – p. 4/29
![Page 5: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/5.jpg)
Programs asFormulas
For a program P with the APPEND axioms showthat P |= APPEND([a, b], [c], [a, b, c]).
Hint: Proof by resolution.
Logic and Computation – p. 5/29
![Page 6: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/6.jpg)
Programs asFormulas
Reverse
∀x.REVERSE([], x, x)
∀x, y, z, w.REVERSE(y, x|z, w)⇒REVERSE(x|y, z, w)
Logic and Computation – p. 6/29
![Page 7: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/7.jpg)
Programs asFormulas
Storage
∀x, y, z.LOOKUP(x, y, cell(x, y, z))
∀x, y, x′, y′, z.LOOKUP(x, y, z)⇒LOOKUP(x, y, cell(x′, y′, z))
Logic and Computation – p. 7/29
![Page 8: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/8.jpg)
Decidability
A set is decidable iff there exists a formula ϕ(x)such that:
⊢ ϕ(t) for t ∈ S
6⊢ ϕ(t) for t 6∈ S
Question: Is the set of terms of FOL decidable?I.e., can we describe FOL by itself?
To answer this question, we should first learnwhether a given set is countable. Because if wewant to describe an uncountable set by acountable set, we will fail!
Logic and Computation – p. 8/29
![Page 9: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/9.jpg)
Countable Sets
Recall that a set S is countable if there is aone-to-one correspondance between S and theN of natural numbers.
How do we prove that a set is uncountable?
Logic and Computation – p. 9/29
![Page 10: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/10.jpg)
Cantor’s DiagonalArgument
Considers an infinite sequence S = (s1, s2, . . . ),where each element si is an infinite sequence of1s or 0s. Each sequence si is countable (why?):
s1 = (0, 0, 0, 0, 0, 0, 0, . . . )s2 = (1, 1, 1, 1, 1, 1, 1, . . . )s3 = (0, 1, 0, 1, 0, 1, 0, . . . )s4 = (1, 0, 1, 0, 1, 0, 1, . . . )s5 = (1, 1, 0, 1, 0, 1, 1, . . . )s6 = (0, 0, 1, 1, 0, 1, 1, . . . )s7 = (1, 0, 0, 0, 1, 0, 0, . . . ). . .
Logic and Computation – p. 10/29
![Page 11: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/11.jpg)
Diagonalization
It is possible to build a sequence s in such a waythat if sn,n = 1, then sn = 0, otherwise sn = 1.
s1 = (0, 0, 0, 0, 0, 0, 0, . . . )s2 = (1,1, 1, 1, 1, 1, 1, . . . )s3 = (0, 1,0, 1, 0, 1, 0, . . . )s4 = (1, 0, 1,0, 1, 0, 1, . . . )s5 = (1, 1, 0, 1,0, 1, 1, . . . )s6 = (0, 0, 1, 1, 0,1, 1, . . . )s7 = (1, 0, 0, 0, 1, 0,0, . . . ). . .s = (1, 0, 1, 1, 1, 0, 1, . . . )
Logic and Computation – p. 11/29
![Page 12: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/12.jpg)
Diagonalization
By definition, s is not contained in the countablesequence S.
Let T be a set consisting of all infinite sequencesof 0s and 1s. By definition, T must contain S ands.
Since s is not in S, T cannot coincide with S.
Therefore, T is uncountable because it cannot beplaced in one-to-one correspondence with N.
Logic and Computation – p. 12/29
![Page 13: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/13.jpg)
R is UncountableWe build a one-to-one correspondance betweenT and a subset of R.
Let function f(t) = 0.t, where t is a string in T .For example, f(0111 . . . ) = 0.0111 . . . .
Observe that f(1000 . . . ) = 0.1000 · · · = 1/2, andf(0111 . . . ) = 0.0111 · · · =1/4 + 1/8 + 1/16 + · · · = 1/2.
Hence, f is not a bijection.
Logic and Computation – p. 13/29
![Page 14: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/14.jpg)
R is UncountableTo produce a bijection from T to the interval (0, 1):
From (0, 1), remove the numbers having two binaryexpansions and forma = (1/2, 1/4, 3/4, 1/8, 3/8, 5/8, 7/8, · · · ).
From T , remove the strings appearing after the binarypoint in the binary expansions of 0, 1, and the numbersin sequence a and form b = (000 · · · , 111 · · · , 1000 · · · ,
0111 · · · , 01000 · · · , 00111 · · · , · · · ).
g(t) from T to (0, 1) is defined by: If t is the nth string insequence b, let g(t) be the nth number in sequence a;otherwise, let g(t) = 0.t.
Logic and Computation – p. 14/29
![Page 15: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/15.jpg)
R is UncountableTo build a bijection from T to R, we use tan(x), abijection from (−π/2, π/2) to R.
The linear function h(x) = π.x− π/2 provides abijection from (0, 1) to (−π/2, π/2).
The composite function tan(h(x)) provides abijection from (0, 1) to R.
Function tan(h(g(t))) is a bijection from T to R.
Logic and Computation – p. 15/29
![Page 16: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/16.jpg)
Diagonalization
Using diagonalization, one can also show that(for example):
|Q| = |N| = |Z|
|N| < |2N|
The set of all functions from N to N isuncountable.
Logic and Computation – p. 16/29
![Page 17: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/17.jpg)
Gödel Numbering
A Gödel numbering is a function that assigns toeach symbol and well-formed formula of someformal language a unique natural number, calledits Gödel number.
There are several ways to do this:
Prime factorization
ASCII code
Logic and Computation – p. 17/29
![Page 18: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/18.jpg)
Gödel Numbering
Moral of the story: each FOL formula ϕ isrepresented by a unique natural number ⌈ϕ⌉.
So what?! Recall that |N| < |2N|? This means wehave too many sets and too few formulas!
This is the core idea of undecidability of FOL.
Logic and Computation – p. 18/29
![Page 19: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/19.jpg)
Decision ProblemsAny question about a function can be convertedto a “yes/no" problem. This is called a decisionproblem.
For example:
Find a path a path from s to t in a graph G
Does there exist a path from s to t in G?
Compute function f(n)
Decide whether f(n) = m
Or ask whether ⊢ Rf(⌈n⌉, ⌈m⌉)Logic and Computation – p. 19/29
![Page 20: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/20.jpg)
Decision Problemsand Decidability
Consider the following validity question:P ⊢ R(t1, . . . , tn). Three possible answers are:
There is a proof (e.g., using FOL resolution).
There is no proof (e.g., using a counterexample). This means we have a proof ofP 6⊢ R.
We cannot tell (i.e., the proof system loops).For example ∀x.P (x)← P (s(x))
This question is equal to that ofdecidability/undecidability.
Logic and Computation – p. 20/29
![Page 21: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/21.jpg)
Decidability of FOL
Theorem. The set VALID = {⌈ϕ⌉ |⊢ ϕ} isundecidable.
Proof sketch. This means that:
⊢ ϕ then ⊢ VALID(⌈ϕ⌉)
6⊢ ϕ then ⊢ ¬VALID(⌈ϕ⌉)
Assume that VALID(x) is a formula.
Logic and Computation – p. 21/29
![Page 22: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/22.jpg)
Diagonalization forFOL
(ϕ1)⌈ϕ2⌉x ⌈ϕ1⌉ ⌈ϕ2⌉ ⌈ϕ3⌉ . . .
ϕ1 ⊢ 6⊢ ⊢ . . .
ϕ2 6⊢ 6⊢ ⊢ . . .
ϕ3 6⊢ ⊢ ⊢ . . .
. . . .
. . . .
. . . .
ϕd 6⊢ ⊢ 6⊢ . . .
Logic and Computation – p. 22/29
![Page 23: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/23.jpg)
Diagonalization forFOL
Note that DIAG(t, ⌈∃x.ϕt ∧ (x = t)⌉) is decidable.
ϕd = ∃y.(DIAG(x, y) ∧ ¬VALID(y))
Diagonal argument:
⊢ ϕ(⌈ϕd⌉)
⊢ ϕd = ∃y.(DIAG(⌈ϕd⌉, y) ∧ ¬VALID(y))
⊢ ¬VALID(⌈ϕd(⌈ϕd⌉)⌉)
6⊢ ϕ(⌈ϕd⌉)
Logic and Computation – p. 23/29
![Page 24: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/24.jpg)
Reducibility
A reduction is a transformation of one probleminto another problem.
We normally reduce problem 1 to problem 2,because we know how to solve problem 2 andthis gives us the answer to problem 1.
Logic and Computation – p. 24/29
![Page 25: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/25.jpg)
Reducibility
Recall graph connectivity, cyclicity, and vertexcover problems in application of thecompactness theorem?
An important consequence of reducibility is toshow that two problems belong to the same“class” (e.g., undecidable).
Logic and Computation – p. 25/29
![Page 26: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/26.jpg)
Another Example
Reduction from propositional satifiability to vertexcover:
¬p
p ¬p
p
p q
q ¬q r ¬r
q r
(p ∨ q) ∧ (¬p ∨ ¬q ∨ ¬r) ∧ (¬p ∨ q ∨ r)
¬r¬q
¬p
Logic and Computation – p. 26/29
![Page 27: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/27.jpg)
The Halting Problem
Let HALTS(⌈P ⌉) be a program that returns true ifP halts (recall that a programm P can beencoded as a first-order formula).
Theorem. The halting problem, is undecidable.
Logic and Computation – p. 27/29
![Page 28: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/28.jpg)
Undecidability ofHALT
Let RESOLUTION(⌈ϕ⌉) be the problem thatimplements resolution for FOL. I.e., it returns trueif ⊢ ϕ.
Then the program “if HALTS(RESOLUTION(⌈x⌉)),then EVAL(RESOLUTION(x)), else false” is adecision procedure for VALID.
In other words, if we could solve the haltingproblem, we could have solved the FOL validityproblem.
Logic and Computation – p. 28/29
![Page 29: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability](https://reader035.vdocuments.site/reader035/viewer/2022071215/604503f6352cc475ca405105/html5/thumbnails/29.jpg)
Gödel’sIncompletenessTheroems
Theorem 1. For any consistent, effectivelygenerated formal theory that proves certain basicarithmetic truths, there is an arithmeticalstatement that is true, but not provable in thetheory.
Theorem 2. For any formal effectively generatedtheory T including basic arithmetical truths andalso certain truths about formal provability, if Tincludes a statement of its own consistency thenT is inconsistent.
Logic and Computation – p. 29/29