Axiomatic Number Theory and Gödel’s Incompleteness Theorems

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness
Advertisements

Hoare’s Correctness Triplets Dijkstra’s Predicate Transformers
Inference and Reasoning. Basic Idea Given a set of statements, does a new statement logically follow from this. For example If an animal has wings and.
Copyright © Cengage Learning. All rights reserved.
Gödel’s Incompletness Theorem By Njegos Nincic. Overview  Set theory: Background, History Naïve Set Theory  Axiomatic Set Theory  Icompleteness Theorem.
Week 7 - Wednesday.  What did we talk about last time?  Set proofs and disproofs  Russell’s paradox.
Copyright © Cengage Learning. All rights reserved. CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Axiomatic Semantics.
ISBN Chapter 3 Describing Syntax and Semantics.
Math 333 – Euclidean and Non-Euclidean Geometry Dr. Hamblin.
CS1001 Lecture 22. Overview Mechanizing Reasoning Mechanizing Reasoning G ö del ’ s Incompleteness Theorem G ö del ’ s Incompleteness Theorem.
Logic and Set Theory.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
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.
Describing Syntax and Semantics
Lecture 24: Gödel’s Proof CS150: Computer Science
Computability Thank you for staying close to me!! Learning and thinking More algorithms... computability.
Introduction to Computer Science. A Quick Puzzle Well-Formed Formula  any formula that is structurally correct  may be meaningless Axiom  A statement.
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.
Class 36: Proofs about Unprovability David Evans University of Virginia cs1120.
Induction and recursion
David Evans CS200: Computer Science University of Virginia Computer Science Class 24: Gödel’s Theorem.
2.4 Sequences and Summations
Logic in Computer Science - Overview Sep 1, 2011 POSTECH 박성우.
MAT 333 Fall  As we discovered with the Pythagorean Theorem examples, we need a system of geometry to convince ourselves why theorems are true.
1 Knowledge Based Systems (CM0377) Lecture 4 (Last modified 5th February 2001)
The Recursion Theorem Pages 217– ADVANCED TOPICS IN C O M P U T A B I L I T Y THEORY.
Institute for Experimental Physics University of Vienna Institute for Quantum Optics and Quantum Information Austrian Academy of Sciences Undecidability.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Course Overview and Road Map Computability and Logic.
Chapter 3 Part II Describing Syntax and Semantics.
Copyright © Cengage Learning. All rights reserved.
Today’s Topics Introduction to Proofs Rules of Inference Rules of Equivalence.
Naïve Set Theory. Basic Definitions Naïve set theory is the non-axiomatic treatment of set theory. In the axiomatic treatment, which we will only allude.
Thinking in Methodologies Class Notes. Gödel’s Theorem.
First Order Logic Lecture 3: Sep 13 (chapter 2 of the book)
Based on slides by Patrice Belleville and Steve Wolfman CPSC 121: Models of Computation Unit 11: Sets.
1 Melikyan/DM/Fall09 Discrete Mathematics Ch. 7 Functions Instructor: Hayk Melikyan Today we will review sections 7.3, 7.4 and 7.5.
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:
Sequences Lecture 11. L62 Sequences Sequences are a way of ordering lists of objects. Java arrays are a type of sequence of finite size. Usually, mathematical.
Chapter 4 Introduction to Set Theory
Chapter 2 Sets and Functions.
CIS Automata and Formal Languages – Pei Wang
Mathematics and Certainty
Advanced Algorithms Analysis and Design
Copyright © Cengage Learning. All rights reserved.
Chapter 3 The Real Numbers.
Cardinality of Sets Section 2.5.
Great Theoretical Ideas in Computer Science
Chapter 2 Sets and Functions.
Lecture 7 Functions.
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.
Complexity 6-1 The Class P Complexity Andrei Bulatov.
Discrete Math - Module #1 - Logic
Lecture 22: Gödel’s Theorem CS200: Computer Science
Semantics In Text: Chapter 3.
Pumping Lemma.
First Order Logic Rosen Lecture 3: Sept 11, 12.
Class 24: Computability Halting Problems Hockey Team Logo
Advanced Analysis of Algorithms
Cardinality Definition: The cardinality of a set A is equal to the cardinality of a set B, denoted |A| = |B|, if and only if there is a one-to-one correspondence.
Program correctness Axiomatic semantics
Everything is an Integer Countable and Uncountable Sets
Philosophy of Mathematics: a sneak peek
Properties of Relational Logic
Properties of Relational Logic
Representations & Reasoning Systems (RRS) (2.2)
Turing Machines Everything is an Integer
Lecture 23: Computability CS200: Computer Science
Presentation transcript:

Axiomatic Number Theory and Gödel’s Incompleteness Theorems Eric Ottman Syracuse University April 8, 2017

A Tiny Bit of History In 1874, Georg Cantor published his first article on set theory, including, among other things, his famous “diagonal argument” proving uncountability of the real numbers In 1901, Bertrand Russell discovered a paradox in Cantor’s version of set theory, now known as Russell’s Paradox, involving the “set of all sets that are not members of themselves” (call this “set” S – S must not be contained in S, but then S must be contained in S, and so on…) In light of this, Russell and many others worked to develop paradox- free “axiomatic” versions of set theory (and number theory, and geometry, etc.)

Axiomatic Theories A typical axiomatic theory consists of the following information: A collection of symbols, which I will denote in boldface For example: 0, =, Ɐ, Ǝ, ᴧ, ᴠ, ¬, a, ‘ A set of syntax rules dictating which strings of characters form valid statements (nothing here about what’s true or false) For example: If A and B are valid statements, so are (A ᴧ B), (A ᴠ B), and ¬(A)

Axiomatic Theories A list of axioms – statements that are true and do not require proof. For example: Ɐa:(0+a=a) and Ɐa:(0·a=0) A list of “rules of inference” – specific rules by which one may manipulate true statements to obtain new true statements. For example: The string “¬¬” may be deleted from any theorem or added to the beginning of any theorem. A “proof” is a list of statements, each of which is either an axiom or the result of applying a rule of inference to one or more previous lines. A “theorem” is a non-axiom statement that is the last line of a proof.

Gödel’s Incompleteness Theorems In 1931, Kurt Gödel proved that any sufficiently powerful (I’ll make this notion a little more precise later) axiomatic system of number theory must be either incomplete (i.e., able to express a true statement that is not a theorem) or inconsistent (i.e., able to express a false statement that is a theorem). This is the first incompleteness theorem. The second incompleteness theorem states that an axiomatic system cannot “prove its own consistency.” The proof of the first theorem is the focus of the rest of the talk.

The Key Idea: Gödel Numbering For the rest of the talk, fix any sufficiently strong (again, explained later) axiomatic number theory. To each symbol of the theory, assign a positive integer – for example, we could assign 3 to =, 4 to a, 5 to ‘, and so on. Also assign a positive integer to the “line break” character. Once this is done, use this numbering to establish a correspondence between statements of the theory and positive integers – Gödel used prime factorizations: with the numbering above, the statement a=a becomes 24· 33· 54 = 270,000.

Gödel Numbering Note that since prime factorization is unique, every positive integer corresponds to at most one statement (or list of statements) of our theory. We can also assign Gödel numbers to entire proofs in this way, since we have assigned a number to line breaks. This gives us a very clever way to allow the system to “talk about itself,” which is essential if we are to construct a statement we know to be a non-theorem – as we all know, it is very difficult in general to determine whether or not a given statement is a theorem. Denote the Gödel number of a statement A by [A].

Gödel Numbering The main point here is that in a sense, as long as our theory is sufficiently powerful, it can now express and detect its own rules of inference! These kinds of statements tend to be incredibly long and complex, but we don’t necessarily need to be able to write them down; we just need to know they exist.

Two Key Statements Now we can get our theory to talk about provability of its own statements. Definition 1: Let Proof(a, a’) denote the statement in our theory interpreted as follows: a is the Gödel number of a proof whose last line has Gödel number a’. If our theory is reasonably powerful, this should be possible – working “outside the system,” one can write an algorithm that tests this property that is guaranteed to terminate in finitely many steps (involving checking that a represents a valid proof and that a’ is indeed its last line). If our theory can’t express this algorithm, it’s certainly not good enough to express all of number theory!

Two Key Statements Now we can also express the statement “a’ is the Gödel number of a theorem:” Ǝa:(Proof(a, a’)) Definition 2: If a is the Gödel number of some statement containing one free variable, define Subst(a, a’, a’’) to be the statement in our theory interpreted as: a’’ is the Gödel number of the statement obtained by substituting the value a’ into the statement whose Gödel number is a. Again, this can be checked “outside the system” by an algorithm that terminates after finitely many steps, so it should be expressible in our theory.

The Punchline Let U be the following statement (or the equivalent in whatever theory we’re working with): ¬Ǝa:Ǝa’:(Proof(a, a’) ᴧ Subst(a’’, a’’, a’)) Note that the first two arguments of Subst are the same; we are able to substitute a statement’s own Gödel number into itself – this kind of self- reference is also the basis of Russell’s Paradox. Also note that this statement has one free variable, namely a’’. Now let G be the following related statement: ¬Ǝa:Ǝa’:(Proof(a, a’) ᴧ Subst([U], [U], a’)) In other words, G is the result of substituting [U] for a’’ in U. This turns out to be the statement that proves the theorem!

Interpreting G U: ¬Ǝa:Ǝa’:(Proof(a, a’) ᴧ Subst(a’’, a’’, a’)) G: ¬Ǝa:Ǝa’:(Proof(a, a’) ᴧ Subst([U], [U], a’)) G asserts that there are no a and a’ satisfying certain properties. The second property is that a’ is the result of substituting [U] for a’’ in U. Clearly this is possible (really it just assigns a particular value to a’), so the interesting part is the first property. The first property essentially says that a’ is the Gödel number of a theorem. But in reality G is precisely the statement with Gödel number a’! (It’s obtained by replacing a’’ by [U] in U).

Interpreting G So G can really be interpreted as: G is not a theorem. So if G is indeed not a theorem, then it is a true statement of number theory that is not provable in our theory, so the theory is incomplete. If G is a theorem, then it represents a false statement, so the theory is inconsistent.