Incompleteness without Godel Numberings


Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Incompleteness without Godel Numberings

  1. 1. Incompleteness for People
  2. 2. Goal • Write a program that can take any Mathematical statement like “does 2 + 2 = 4?” or “is every even number the sum or two primes?” and (correctly) prove the statement is true or false
  3. 3. What can computers do? • Anything that can be expressed by an algorithm-a set of instructions so detailed there’s no ambiguity • Example: “check all possible configurations of chess boards and see if this one is valid.” • for each item in the list (Length(L)≥1), do if the item > largest, then largest ← the item return largest
  4. 4. Turing Machines • Formalization of the concept of an algorithm • Strong evidence that TMs can represent all algorithms. No proof is possible since “algorithm” is an informal concept
  5. 5. Turing Machines 2 • Input -> Calculation -> Output • Not all programs finish in finite time. Consider the following: while x > 0 x = x + 1 • If the input x is less than 0, this program will never finish, or halt.
  6. 6. What can’t computers do? • Computability: the study of what’s theoretically possible using algorithms (Turing Machines), disregarding resource/time constraints. “All finite numbers are approximately equal.”
  7. 7. The Halting Problem • Can you write a program P that can examine another program Q and figure out whether Q halts?
  8. 8. Proof
  9. 9. Implications • Statements about Turing Machines halting are formal mathematical constructs. So no single program can prove or disprove all Mathematical statements • Is there a subset of statements we can evaluate?
  10. 10. Formal Languages • A language contains rules for what kind of statements we can construct • For example, if we limit ourselves to statements about chess, a program can answer any question about whether a certain chess position is possible (though it might take a very long time!)
  11. 11. First Order Logic
  12. 12. Baby Incompleteness Theorem • Let h(e,k,j) be the halting characteristic function equal to 1 if the Turing Machine e with input k halts after j steps and 0 otherwise • If a language L is expressive enough to express the halting characteristic function then no program can prove or disprove every statement of L
  13. 13. Primitive Recursive Functions • Intended to represent functions that are guaranteed to finish within j steps, where j is one of the inputs to the function • Functions that can be written with a for loop • The halting characteristic function is primitive recursive
  14. 14. Primitive Recursive Functions – Formal Definition
  15. 15. First Incompleteness Theorem • Any language L strong enough to express 0, the successor function S, <, * (multiplication), and + can express all primitive recursive functions, and thus no program can prove or disprove all statements written in L. • In particular the language of the Natural Numbers, Peano arithmetic, can’t have all its statements proved or disproved by any program