Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Incompleteness without Godel Numberings


Published on

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

  • Be the first to like this

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