29
Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability Logic and Computation – p. 1/29

Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Logic and Computationbbonakda/teaching/CS245/Computability.pdf · Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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