No Proof System for Number Theory Reduction to Halting Problem

Slides:



Advertisements
Similar presentations
Introduction to Computability Theory
Advertisements

1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
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.
Fall 2004COMP 3351 Recursively Enumerable and Recursive Languages.
Recursively Enumerable and Recursive Languages
1 Uncountable Sets continued Theorem: Let be an infinite countable set. The powerset of is uncountable.
Fall 2004COMP 3351 The Chomsky Hierarchy. Fall 2004COMP 3352 Non-recursively enumerable Recursively-enumerable Recursive Context-sensitive Context-free.
CHAPTER 4 Decidability Contents Decidable Languages
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.
1 Introduction to Computability Theory Lecture11: The Halting Problem Prof. Amos Israeli.
Halting Problem. Background - Halting Problem Common error: Program goes into an infinite loop. Wouldn’t it be nice to have a tool that would warn us.
Introduction to Computer Science. A Quick Puzzle Well-Formed Formula  any formula that is structurally correct  may be meaningless Axiom  A statement.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
1 The Halting Problem and Decidability How powerful is a TM? Any program in a high level language can be simulated by a TM. Any algorithmic procedure carried.
Diagonalization & Uncomputablity Jeff Edmonds York University COSC 4111 Lecture 3 CountableCountableCountable UncountableUncountableUncountable A Hierarchy.
Great Theoretical Ideas in Computer Science.
Great Theoretical Ideas in Computer Science.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
Chapter 4 Computation Chapter 4: Computation.
CSE 311: Foundations of Computing Fall 2014 Lecture 27: Cardinality.
Recursively Enumerable and Recursive Languages
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:
Costas Busch - RPI1 Decidability. Costas Busch - RPI2 Another famous undecidable problem: The halting problem.
1 Recursively Enumerable and Recursive Languages.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
Decidability.
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis Delayed due dates for HWs See updated schedule page. No class meeting.
1 A Universal Turing Machine. 2 Turing Machines are “hardwired” they execute only one program A limitation of Turing Machines: Real Computers are re-programmable.
Fall 2013 Lecture 27: Turing machines and decidability CSE 311: Foundations of Computing.
Chapters 11 and 12 Decision Problems and Undecidability.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
February 8, 2016CS21 Lecture 151 CS21 Decidability and Tractability Lecture 15 February 8, 2016.
The Acceptance Problem for TMs
CS 461 – Nov. 2 Sets Prepare for ATM finite vs. infinite Infinite sets
CIS Automata and Formal Languages – Pei Wang
Gödel's Legacy: The Limits Of Logics
Recursively Enumerable and Recursive Languages
Discrete Mathematics for Computer Science
This statement is false.
Theory of Computability
Undecidable Problems Costas Busch - LSU.
CS154, Lecture 11: Self Reference, Foundation of Mathematics
Great Theoretical Ideas in Computer Science
Computable Problems.
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.
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Summary.
Decidable Languages Costas Busch - LSU.
Halting Problem.
NP-Complete Problems.
CS21 Decidability and Tractability
CS21 Decidability and Tractability
Proposed in Turing’s 1936 paper
Formal Languages, Automata and Models of Computation
Great Theoretical Ideas in Computer Science
CS21 Decidability and Tractability
Theory of Computability
Theory of Computability
Instructor: Aaron Roth
Lecture 4: Unsolvable Problems
Turing Machines Everything is an Integer
MA/CSSE 474 Theory of Computation
CIS Automata and Formal Languages – Pei Wang
Presentation transcript:

No Proof System for Number Theory Reduction to Halting Problem CSE 2001 No Proof System for Number Theory Reduction to Halting Problem History Gödel's Incompleteness Halting ≤ Math Truth Jeff Edmonds York University Lecture 5.3 COSC 2001

History of Proofs Euclid said, “ Let there be proofs” And it was good. Euclid (300 BC) And it was good.

History of Proofs Euclid said, “ Let there be proofs” Euclid (300 BC) Clearly everything is either true or false. Goal: Design a proof system that proves everything. Result: “Prove that God exists”

History of Proofs Euclid said, “ Let there be proofs” Euclid (300 BC) A proof system consists of A finite set of axioms (Statements assumed to be true) Eg. 1) Any two points can be joined by a straight line …. 5) Parallel lines never meet.

History of Proofs Euclid said, “ Let there be proofs” Euclid (300 BC) A proof system consists of A finite set of axioms (Statements assumed to be true) A finite set of rules for proving one statement from previously proved theorems. Eg: If statements A and A  B have been proved, then statement B follows.

History of Proofs To the ancients, the parallel axiom “5) Parallel lines never meet.” seemed less obvious than the others. (God would want a cleaner world) They wanted to prove it from the other four. By 1763 at least 28 different proofs had been published. They were all false!!! Euclid (300 BC) There exist Non-Euclidian (curved) worlds in which first the four axioms are true and the fifth is false. Examples: Earth & Our universe.

History of Proofs Euclid said, “ Let there be proofs” Euclid (300 BC) Clearly everything is either true or false. Oops Some things have no proof and whether true or false depends on your world view.

History of Proofs Euclid said, “ Let there be proofs” Euclid (300 BC) Clearly everything is either true or false. Consider only statements in Number Theory i.e. statements about the integers. eg: Φ = [ a,b,c,r  3 ar+br cr] Clearly each such statement is either true or false. Goal: Design a proof system that proves/disproves all of these.

Gödel’s Incompleteness Theorem Some things have no proof and whether true or false depends on your world view. For every proof system S, there are math statements Φ which are either not proved or proved incorrectly!

Gödel’s Incompleteness Theorem Proof System: If S is a valid proof system, then Φ is true  Φ has a valid proof P in S Number Theory: eg: Φ = [ a,b,c,r  3 ar+br cr] Is powerful enough to say Φtrue = “P is a valid proof of math statement I in proof system S.” And hence can a say Φdiagonal = P “P is a valid proof of math statement Φdiagonal in proof system S.” Gödel 1931

Gödel’s Incompleteness Theorem Proof System: If S is a valid proof system, then Φ is true  Φ has a valid proof P in S Number Theory: eg: Φ = [ a,b,c,r  3 ar+br cr] Is powerful enough to say Φdiagonal = P “P is a valid proof of math statement Φdiagonal in proof system S.” Gödel 1931 Incompleteness Proof: If S is a valid proof system, Φdiagonal is true Φdiagonal has a valid proof in S Φdiagonal is true Φdiagonal is false Oops Contradiction!

Gödel’s Incompleteness Theorem Turing 1936 Computational Problem: MathTruth(Φ) = Math Statement Φ is true. Proof System: If S is a valid proof system, then a proof P of Φ is a witness that Φ is true & a proof P of Φ is a witness that Φ is false, making MathTruth computable. Number Theory eg: I = [ a,b,c,r  3 ar+br cr] Is powerful enough to say Φhalt = “TM M halts on I.” Hence, HaltingProblem comp MathTruth Incompleteness Proof: If S is a valid proof system, MathTruth is computable HaltingProblem is computable Oops Contradiction!

Gödel’s Incompleteness Theorem Turing 1936 Computational Problem: MathTruth(Φ) = Math Statement Φ is true. Proof System: If S is a valid proof system, then a proof P of Φ is a witness that Φ is true & a proof P of Φ is a witness that Φ is false, making MathTruth computable. Number Theory eg: I = [ a,b,c,r  3 ar+br cr] Is powerful enough to say Φhalt = “TM M halts on I.” Hence, HaltingProblem comp MathTruth Incompleteness Proof: There is no valid proof system!!!  MathTruth is uncomputable  HaltingProblem is uncomputable Oops Contradiction!

S valid proof system  MathTruth computable Alg for MathTruth(Φ): Loop through all proofs P if P is a proof in S of Φ or of Φ. exit with “yes” or “no” If S is a valid proof system, then When MathTruth(Φ) = “yes”  a proof P witnessing it. Alg halts with “yes”. When MathTruth(Φ) = “no” MathTruth(Φ) = “yes” Alg halts with “no”.

S valid proof system  MathTruth computable Alg for MathTruth(Φ): Loop through all proofs P if P is a proof in S of Φ or of Φ. exit with “yes” or “no” But what if neither has no proof? Then this algorithm runs forever. Will this algorithm ever stop? It reminds me of the Halting problem!

S valid proof system  MathTruth computable Yes instance  Halt and answer “yes” No instance  Run forever or answer “no” Computable Recogizable Yes instance  Run forever or answer “yes” No instance  Halt and answer “no” Co- Recogizable MathTruth with Proof System S Witness of “yes”. Witness of “no”. Alg for MathTruth(Φ): Loop through all proofs P if P is a proof in S of Φ or of Φ. exit with “yes” or “no” MathTruth with Proof System S MathTruth with Proof System S

S valid proof system  MathTruth computable Yes instance  Halt and answer “yes” No instance  Run forever or answer “no” Computable Recogizable Yes instance  Run forever or answer “yes” No instance  Halt and answer “no” Co- Recogizable Halting Problem ≤ ¬Halting Problem ≤ MathTruth

Halting problem comp Math Truth <M,I> TM M halts on input I or not GIVEN: Math Proof Oracle Math statement: “TM M halts on input I” BUILD: Halting Oracle Math statement is true or not

Halting problem comp Math Truth Math statement: “TM M halts on input I” =  C, “C is an integer encoding a valid halting computation for TM M on input I” Time state Tape Contents Head 1 102 [0,1,1,0,0,1,1] 2 10112 [1,1,1,0,0,1,1] i 11012 [0,0,1,1,0,0,1,1,0] i+1 10102 [0,0,1,1,1,0,1,1,0] T 1102 [0,0,1,1,1,0,1,0,1,0] … A valid computation of a TM Mark Head with digit 2

Halting problem comp Math Truth Math statement: “TM M halts on input I” =  C, “C is an integer encoding a valid halting computation for TM M on input I” A valid computation of a TM Time state Tape Contents Head 2 1 102 [2,0,1,1,0,0,1,1] 2 10112 [1,2,1,1,0,0,1,1] i 11012 [0,0,1,1,2,0,0,1,1,0] i+1 10102 [0,0,1,2,1,1,0,1,1,0] T 1102 [2,0,0,1,1,1,0,1,0,1,0] Separate blocks with digits 3,4 Mark Head with digit 2 … …

Halting problem comp Math Truth Math statement: “TM M halts on input I” =  C, “C is an integer encoding a valid halting computation for TM M on input I” A valid computation of a TM Time state Tape Contents Head 2 4 10 3 [2,0,1,1,0,0,1,1] 4 1011 3 [1,2,1,1,0,0,1,1] 4 1101 3 [0,0,1,1,2,0,0,1,1,0] 4 1010 3 [0,0,1,2,1,1,0,1,1,0] 4 110 3 [2,0,0,1,1,1,0,1,0,1,0] Separate blocks with digits 3,4 Remove [,] … …

Halting problem comp Math Truth Math statement: “TM M halts on input I” =  C, “C is an integer encoding a valid halting computation for TM M on input I” A valid computation of a TM Time state Tape Contents Head 2 4 10 3 2 0 1 1 0 0 1 1 4 1011 3 1 2 1 1 0 0 1 1 4 1101 3 0 0 1 1 2 0 0 1 1 0 4 1010 3 0 0 1 2 1 1 0 1 1 0 4 110 3 2 0 0 1 1 1 0 1 0 1 0 Remove [,] Merge Digits … …

Halting problem comp Math Truth Math statement: “TM M halts on input I” =  C, “C is an integer encoding a valid halting computation for TM M on input I” C = 41032011001141011312110011… 411013001120011041010300121101104… 4110320011101010 An integer C encoding a valid computation of a TM

Halting problem comp Math Truth Math statement: “C is an integer encoding a valid halting computation for TM M on input I” = “The initial config is that for TM M on input I”  “time t” “a legal TM M step is taken” “The final config is halting for TM M” C = 41032011001141011312110011… 411013001120011041010300121101104… 4110320011101010 An integer C encoding a valid computation of a TM

Halting problem comp Math Truth Math statement:  “time steps t” = indexes i1<j1<k1<i2<j2<k2<i3“where the i digits are 4s, the j digits are 3s, the k digits are 2s, and every digit in between is 0 or 1.” C = 41032011001141011312110011… 411013001120011041010300121101104… 4110320011101010 An integer C encoding a valid computation of a TM i1 j1 k1 i2 j2 k2 i3

Halting problem comp Math Truth Math statement:  “time steps t” = indexes i1<j1<k1<i2<j2<k2<i3 Cut out from index i1 to j1. C = 41032011001141011312110011… 411013001120011041010300121101104… 4110320011101010 An integer C encoding a valid computation of a TM i1 j1 k1 i2 j2 k2 i3 x = C/10j = 41032011001141011312110011…41101 y = C/10i-1 × 10i-j-1 = 41032011001141011312110011…40000 x-y = 1011

Halting problem comp Math Truth Math statement:  “time steps t” = indexes i1<j1<k1<i2<j2<k2<i3 “Cut out state, tape, head, digit at head” “Cut out next state, tape, head, digit at old head” C = 41032011001141011312110011… 411013001120011041010300121101104… 4110320011101010 An integer C encoding a valid computation of a TM i1 j1 k1 i2 j2 k2 i3 statet = 1101 tapet = 001100110 digit at headt = 0 statet+1 = 1101 tapet+1 = 001110110 digit at old headt+1 = 1

Halting problem comp Math Truth Math statement: “a legal TM M step is taken” = “Cell at head, head position, and state change according to M’s finite rules” index i, “if cell has no head then no change to cell” C = 41032011001141011312110011… 411013001120011041010300121101104… 4110320011101010 An integer C encoding a valid computation of a TM statet = 1101 tapet = 001100110 digit at headt = 0 statet+1 = 1101 tapet+1 = 001110110 digit at old headt+1 = 1

Halting problem comp Math Truth <M,I> TM M halts on input I or not GIVEN: Math Proof Oracle Math statement: “TM M halts on input I” BUILD: Halting Oracle Math statement is true or not

Gödel’s Incompleteness Theorem Turing 1936 Computational Problem: MathTruth(Φ) = Math Statement Φ is true. Proof System: If S is a valid proof system, then a proof P of Φ is a witness that Φ is true & a proof P of Φ is a witness that Φ is false, making MathTruth computable. Number Theory eg: I = [ a,b,c,r  3 ar+br cr] Is powerful enough to say Φhalt = “TM M halts on I.” Hence, HaltingProblem comp MathTruth Incompleteness Proof: If S is a valid proof system, MathTruth is computable HaltingProblem is computable Oops Contradiction!

Gödel’s Incompleteness Theorem Turing 1936 Computational Problem: MathTruth(Φ) = Math Statement Φ is true. Proof System: If S is a valid proof system, then a proof P of Φ is a witness that Φ is true & a proof P of Φ is a witness that Φ is false, making MathTruth computable. Number Theory eg: I = [ a,b,c,r  3 ar+br cr] Is powerful enough to say Φhalt = “TM M halts on I.” Hence, HaltingProblem comp MathTruth Incompleteness Proof: There is no valid proof system!!!  MathTruth is uncomputable  HaltingProblem is uncomputable Oops Contradiction!

The End