February 11, 2015CS21 Lecture 161 CS21 Decidability and Tractability Lecture 16 February 11, 2015.

Slides:



Advertisements
Similar presentations
Hoare’s Correctness Triplets Dijkstra’s Predicate Transformers
Advertisements

Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Formal Semantics of Programming Languages 虞慧群 Topic 5: Axiomatic Semantics.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
Introduction to Computability Theory
Reducibility A reduction is a way of converting one problem into another problem in such a way that a solution to the second problem can be used to solve.
CS 302: Discrete Math II A Review. An alphabet Σ is a finite set (e.g., Σ = {0,1}) A string over Σ is a finite-length sequence of elements of Σ For x.
Logic and Proof. Argument An argument is a sequence of statements. All statements but the first one are called assumptions or hypothesis. The final statement.
CHAPTER 4 Decidability Contents Decidable Languages
First Order Logic (chapter 2 of the book) Lecture 3: Sep 14.
Computability and Complexity 10-1 Computability and Complexity Andrei Bulatov Gödel’s Incompleteness Theorem.
January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.
CS21 Decidability and Tractability
February 4, 2015CS21 Lecture 131 CS21 Decidability and Tractability Lecture 13 February 4, 2015.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Universal Turing Machine
First Order Logic. This Lecture Last time we talked about propositional logic, a logic on simple statements. This time we will talk about first order.
CSE 311: Foundations of Computing Fall 2013 Lecture 8: More Proofs.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Institute for Experimental Physics University of Vienna Institute for Quantum Optics and Quantum Information Austrian Academy of Sciences Undecidability.
Great Theoretical Ideas in Computer Science about AWESOME Some Generating Functions Probability Infinity MATH Some Formal Logic (which is really.
Propositional Logic Dr. Rogelio Dávila Pérez Profesor-Investigador División de Posgrado Universidad Autónoma Guadalajara
CS 345: Chapter 8 Noncomputability and Undecidability Or Sometimes You Can’t Get It Done At All.
Course Overview and Road Map Computability and Logic.
MA/CSSE 474 Theory of Computation Decision Problems DFSMs.
Great Theoretical Ideas in Computer Science.
1 Introduction to Abstract Mathematics Chapter 2: The Logic of Quantified Statements. Predicate Calculus Instructor: Hayk Melikya 2.3.
Great Theoretical Ideas in Computer Science.
CS6133 Software Specification and Verification
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
First Order Logic Lecture 3: Sep 13 (chapter 2 of the book)
1 First order theories (Chapter 1, Sections 1.4 – 1.5) From the slides for the book “Decision procedures” by D.Kroening and O.Strichman.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
CSE 311: Foundations of Computing Fall 2013 Lecture 8: Proofs and Set theory.
Thales’ Legacy: What Is A Proof? Great Theoretical Ideas In Computer Science Steven RudichCS Spring 2004 Lecture 27April 22, 2004Carnegie Mellon.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Basic Concepts and Background.
CSE 311 Foundations of Computing I Lecture 8 Proofs Autumn 2011 CSE 3111.
CSE 311 Foundations of Computing I Lecture 8 Proofs Autumn 2012 CSE
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis (Winter 2016, these slides were also used for Day 33)
MA/CSSE 474 Theory of Computation Decision Problems, Continued DFSMs.
Foundations of Computing I CSE 311 Fall Announcements Homework #2 due today – Solutions available (paper format) in front – HW #3 will be posted.
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis Delayed due dates for HWs See updated schedule page. No class meeting.
February 8, 2016CS21 Lecture 151 CS21 Decidability and Tractability Lecture 15 February 8, 2016.
Payam Seraji IPM-Isfahan branch, Ordibehesht 1396
From Classical Proof Theory to P vs. NP
Gödel's Legacy: The Limits Of Logics
Discrete Mathematics for Computer Science
CS154, Lecture 7: Turing Machines.
Great Theoretical Ideas in Computer Science
Homework: Friday Read Section 4.1. In particular, you must understand the proofs of Theorems 4.1, 4.2, 4.3, and 4.4, so you can do this homework. Exercises.
Decidability of logical theories
CSE 311: Foundations of Computing
CS21 Decidability and Tractability
Thales’ and Gödel’s Legacy: Proofs and Their Limitations
CS21 Decidability and Tractability
CS21 Decidability and Tractability
CS21 Decidability and Tractability
MA/CSSE 474 More Math Review Theory of Computation
Great Theoretical Ideas in Computer Science
CS21 Decidability and Tractability
CS21 Decidability and Tractability
Decidability of logical theories
Instructor: Aaron Roth
CS154, Lecture 11: Self Reference, Foundation of Mathematics
Theory of Computability
Properties of Relational Logic
Presentation transcript:

February 11, 2015CS21 Lecture 161 CS21 Decidability and Tractability Lecture 16 February 11, 2015

CS21 Lecture 162 Outline Gödel Incompleteness Theorem on to Complexity…

Gödel Incompleteness Theorem February 11, 2015CS21 Lecture 163

February 11, 2015CS21 Lecture 164 Background Hilbert’s program (1920’s): –formalize mathematics in axiomatic form –derive all true statements “mechanically” from initial axioms –would put mathematicians out of business! –very influential proposal to start: try for all true statements about the natural numbers (“number theory”)

February 11, 2015CS21 Lecture 165 Background: Kurt Gödel (1931): it is not possible! no formalization of number theory can prove all true statements stunning result considered one of greatest 20 th century achievements in mathematics

February 11, 2015CS21 Lecture 166 Background We will prove using: –RE languages and non-RE languages –reductions Idea: –set of all theorems is RE –set of all true statements is not RE This kind of proof of Gödel’s result attributed to Turing (1937).

February 11, 2015CS21 Lecture 167 Number Theory formal language to express properties of N N = {0, 1, 2, 3, …} allowable symbols: parentheses, and N –variables x,y,z,… ranging over N –operators + (addition) and * (multiplication) –constants 0 (additive id) and 1 (mult. identity) –relation = (equality) –quantifiers  (for all) and  (exists) –propositional operators  (and)  (or)  (not)  (implies)  (iff)

February 11, 2015CS21 Lecture 168 Number Theory can formalize syntax of allowable formulas (skip) defining comparison relations: –x ≤ y   z x + z = y –x < y   z x + z = y   (z = 0)

February 11, 2015CS21 Lecture 169 Number Theory Other natural concepts we will need: –quotient q and remainder r when divide x by y INTDIV(x, y, q, r)  x = qy + r  r < y –y divides x DIV(y, x)   q INTDIV(x,y,q,0) –x is even EVEN(x)  DIV(1+1, x) –x is odd ODD(x)   EVEN(x)

February 11, 2015CS21 Lecture 1610 Number Theory Other natural concepts we will need: –x is prime PRIME(x)  x ≥ (1+1)   y (DIV(y, x)  (y = 1  y = x)) –x is a power of 2 POWER 2 (x)   y (DIV(y, x)  PRIME(y))  y = (1+1) –y = 2 k and k th bit of x is 1 BIT(x, y)  POWER 2 (y)   q  r (INTDIV(x, y, q, r)  ODD(q))

February 11, 2015CS21 Lecture 1611 Number Theory –y = 2 k and k th bit of x is 1 BIT(x, y)  POWER 2 (y)   q  r (INTDIV(x, y, q, r)  ODD(q)) y = x = qr

February 11, 2015CS21 Lecture 1612 Number Theory A sentence is a formula with no un- quantified variables –every number has a successor:  x  y y = x + 1 –every number has a predecessor:  x  y x = y + 1 –not a sentence: x + y = 1 “number theory” = set of true sentences N –denoted Th(N) true false

February 11, 2015CS21 Lecture 1613 Proof systems Proof system components: –axioms (asserted to be true) –rules of inference (mechanical way to derive theorems from axioms) axioms for manipulating symbols (e.g.): –(    )   –(  x  (x))   (1+1+1) –  x  y  z (x = y  y = z  x = z) –others…

February 11, 2015CS21 Lecture 1614 Peano Arithmetic Peano Arithmetic: proof system for number theory. Axioms: –0 is not a successor  x  (0 = x + 1) –the successor function is one-to-one  x  y (x+1 = y+1  x = y ) –0 is an identity for +  x x + 0 = x

February 11, 2015CS21 Lecture 1615 Peano Arithmetic –+ is associative  x  y x + (y + 1) = (x + y) + 1 –multiplying by zero gives 0  x x*0 = 0 –* distributes over +  x  y x * (y + 1) = (x * y) + x – induction axiom (  (0)   x (  (x)   (x+1)))   x  (x)

February 11, 2015CS21 Lecture 1616 Peano Arithmetic rules of inference:        x  modus ponens generalization

February 11, 2015CS21 Lecture 1617 Proof systems a proof is a sequence of formulas  1,  2,  3, …,  n such that each  i is either –an axiom, or –follows from formulas earlier in list from rules of inference A sentence is a theorem of the proof system if it has a proof

February 11, 2015CS21 Lecture 1618 Proof systems A proof system is sound if all theorems in that proof system are true (better have this) Peano Arithmetic (PA) is sound. N true sentences = Th(N) N false sentences = co-Th(N) theorems of PA

February 11, 2015CS21 Lecture 1619 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) N true sentences = Th(N) N false sentences = co-Th(N) theorems of a complete proof system

February 11, 2015CS21 Lecture 1620 Incompleteness Theorem 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 N –the set of true sentences (= Th(N)) is not RE

February 11, 2015CS21 Lecture 1621 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 11, 2015CS21 Lecture 1622 Incompleteness Theorem NLemma: Th(N) is not RE Proof: N –reduce from co-HALT (show co-HALT ≤ m Th(N)) –recall co-HALT is not RE –what should f( ) produce? –construct  such that M loops on w   is true

February 11, 2015CS21 Lecture 1623 Incompleteness Theorem –we will define VALCOMP M,w (v)  … (details to come) so that it is true iff v is a (halting) computation history of M on input w –then define f( ) to be:     v VALCOMP M,w (v) –YES maps YES? N  co-HALT   is true    Th(N) –NO maps to NO? N  co-HALT   is false    Th(N)

February 11, 2015CS21 Lecture 1624 Expressing computation in the language of number theory – we’ll write configurations over an alphabet of size p, where p is a prime that depends on M –d is a power of p: POWER p (d)   z (DIV(z, d)  PRIME(z))  z = p –d = p k and length of v as a p-ary string is k LENGTH(v, d)  POWER p (d)  v < d

February 11, 2015CS21 Lecture 1625 Expressing computation in the language of number theory –the p-ary digit of v at position y is b (assuming y is a power of p): DIGIT(v, y, b)   u  a (v = a + by + upy  a < y  b < p) –the three p-ary digits of v at position y are b,c, and d (assuming y is a power of p): 3DIGIT(v, y, b, c, d)   u  a (v = a + by + cpy + dppy + upppy  a < y  b < p  c < p  d < p)

February 11, 2015CS21 Lecture 1626 Expressing computation in the language of number theory –the three p-ary digits of v at position y “match” the three p-ary digits of v at position z according to M’s transition function (assuming y and z are powers of p): MATCH(v, y, z)   (a,b,c,d,e,f)  C 3DIGIT(v, y, a, b, c)  3DIGIT(v, z, d, e, f) where C = {(a,b,c,d,e,f) : abc in config. C i can legally change to def in config. C i+1 }

February 11, 2015CS21 Lecture 1627 Expressing computation in the language of number theory –all pairs of 3-digit sequences in v up to d that are exactly c apart “match” according to M’s transition function (assuming c, d powers of p) MOVE(v, c, d)   y ( POWER p (y)  yppc < d)  MATCH(v, y, yc)

February 11, 2015CS21 Lecture 1628 Expressing computation in the language of number theory –the string v starts with the start configuration of M on input w = w 1 …w n padded with blanks out to length c (assuming c is a power of p): START(v, c)   i = 0,1,2,…, n DIGIT(v, p i, k i )  p n < c   y (POWER p (y)  p n < y < c  DIGIT(v, y, k)) where k 0 k 1 k 2 k 3 …k n is the p-ary encoding of the start configuration, and k is the p-ary encoding of a blank symbol.

February 11, 2015CS21 Lecture 1629 Expressing computation in the language of number theory –string v has a halt state in it somewhere before position d (assuming d is power of p): HALT(v, d)   y (POWER p (y)  y < d   a  H DIGIT(v,y,a)) where H is the set of p-ary digits “containing” states q accept or q reject.

February 11, 2015CS21 Lecture 1630 Expressing computation in the language of number theory –string v is a valid (halting) computation history of machine M on string w: VALCOMP M,w (v)   c  d (POWER p (c)  c < d  LENGTH(v, d)  START(v, c)  MOVE(v, c, d)  HALT(v, d)) –M does not halt on input w:  v VALCOMP M,w (v)

February 11, 2015CS21 Lecture 1631 Incompleteness Theorem v = VALCOMP M,w (v)   c  d (POWER p (c)  c < d  LENGTH(v, d)  START(v, c)  MOVE(v, c, d)  HALT(v, d))

Gödel Incompleteness Theorem (an example we didn’t get to in lecture) February 11, 2015CS21 Lecture 1632

February 11, 2015CS21 Lecture 1633 Incompleteness Theorem v = d = VALCOMP M,w (v)   c  d (POWER p (c)  c < d  LENGTH(v, d)  START(v, c)  MOVE(v, c, d)  HALT(v, d)) d = p k and length of v as a p-ary string is k LENGTH(v, d)  POWER p (d)  v < d

February 11, 2015CS21 Lecture 1634 Incompleteness Theorem v = c = VALCOMP M,w (v)   c  d (POWER p (c)  c < d  LENGTH(v, d)  START(v, c)  MOVE(v, c, d)  HALT(v, d)) v starts with the start configuration of M on input w padded with blanks out to length c: START(v, c)   i = 0,…, n DIGIT(v, p i, k i )  p n < c   y (POWER p (y)  p n < y < c  DIGIT(v, y, k)) kk n …k 2 k 1 k 0 p n =1000

February 11, 2015CS21 Lecture 1635 Incompleteness Theorem v = yc = VALCOMP M,w (v)   c  d (POWER p (c)  c < d  LENGTH(v, d)  START(v, c)  MOVE(v, c, d)  HALT(v, d)) all pairs of 3-digit sequences in v up to d exactly c apart “match” according to M’s transition function MOVE(v, c, d)   y ( POWER p (y)  yppc < d)  MATCH(v, y, yc) y =1

February 11, 2015CS21 Lecture 1636 Incompleteness Theorem v = yc = VALCOMP M,w (v)   c  d (POWER p (c)  c < d  LENGTH(v, d)  START(v, c)  MOVE(v, c, d)  HALT(v, d)) all pairs of 3-digit sequences in v up to d exactly c apart “match” according to M’s transition function MOVE(v, c, d)   y ( POWER p (y)  yppc < d)  MATCH(v, y, yc) y =10

February 11, 2015CS21 Lecture 1637 Incompleteness Theorem v = yc = VALCOMP M,w (v)   c  d (POWER p (c)  c < d  LENGTH(v, d)  START(v, c)  MOVE(v, c, d)  HALT(v, d)) all pairs of 3-digit sequences in v up to d exactly c apart “match” according to M’s transition function MOVE(v, c, d)   y ( POWER p (y)  yppc < d)  MATCH(v, y, yc) y =100

February 11, 2015CS21 Lecture 1638 Incompleteness Theorem v = y = VALCOMP M,w (v)   c  d (POWER p (c)  c < d  LENGTH(v, d)  START(v, c)  MOVE(v, c, d)  HALT(v, d)) string v has a halt state in it before pos’n d: HALT(v, d)   y (POWER p (y)  y < d   a  H DIGIT(v,y,a)) halt state

February 11, 2015CS21 Lecture 1639 Incompleteness Theorem NLemma: Th(N) is not RE Proof: N –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