to undo all these gains. A strategy for responding to the paradoxes is to adopt, hopefully on a principled basis,

Similar documents
Gödel Numbering. Substitute {x: x is not an element of itself} for y, and we get a contradiction:

Completeness in the Monadic Predicate Calculus. We have a system of eight rules of proof. Let's list them:

Gödel s Incompleteness Theorem. Overview. Computability and Logic

Gödel s Incompleteness Theorem. Overview. Computability and Logic

Victoria Gitman and Thomas Johnstone. New York City College of Technology, CUNY

Axiomatic set theory. Chapter Why axiomatic set theory?

Hilbert s problems, Gödel, and the limits of computation

Hilbert s problems, Gödel, and the limits of computation

Mathematics 114L Spring 2018 D.A. Martin. Mathematical Logic

The Inductive Proof Template

... The Sequel. a.k.a. Gödel's Girdle

Decidability: Church-Turing Thesis

This section will take the very naive point of view that a set is a collection of objects, the collection being regarded as a single object.

The constructible universe

MAGIC Set theory. lecture 1

PREDICATE LOGIC: UNDECIDABILITY AND INCOMPLETENESS HUTH AND RYAN 2.5, SUPPLEMENTARY NOTES 2

MITOCW ocw f99-lec09_300k

GÖDEL S COMPLETENESS AND INCOMPLETENESS THEOREMS. Contents 1. Introduction Gödel s Completeness Theorem

Gödel s Incompleteness Theorems

Introduction to Metalogic

Church s undecidability result

Introduction to Logic and Axiomatic Set Theory

Dialog on Simple Derivatives

Turing Machines Part III

Lesson 6: Algebra. Chapter 2, Video 1: "Variables"

KRIPKE S THEORY OF TRUTH 1. INTRODUCTION

Proof: If (a, a, b) is a Pythagorean triple, 2a 2 = b 2 b / a = 2, which is impossible.

A Little History Incompleteness The First Theorem The Second Theorem Implications. Gödel s Theorem. Anders O.F. Hendrickson

Proof Rules for Correctness Triples

Notes on Pumping Lemma

The same definition may henceforth be expressed as follows:

(ADVANCED) PROOF AND COMPUTATION. Semester II 2015/ Introduction

A Note on Turing Machine Design

Computability Crib Sheet

Marie Duží

Seminaar Abstrakte Wiskunde Seminar in Abstract Mathematics Lecture notes in progress (27 March 2010)

CHAPTER 11. Introduction to Intuitionistic Logic

MITOCW watch?v=rf5sefhttwo

MITOCW ocw f99-lec05_300k

Understanding Computation

This is logically equivalent to the conjunction of the positive assertion Minimal Arithmetic and Representability

MITOCW MITRES18_005S10_DiffEqnsGrowth_300k_512kb-mp4

Russell s logicism. Jeff Speaks. September 26, 2007

Gödel s Incompleteness Theorem. Behrad Taghavi Department of Physics & Astronomy, Stony Brook University.

Introduction to Turing Machines. Reading: Chapters 8 & 9

3: Linear Systems. Examples. [1.] Solve. The first equation is in blue; the second is in red. Here's the graph: The solution is ( 0.8,3.4 ).

CMPSCI 601: Tarski s Truth Definition Lecture 15. where

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

Computational Models: Class 3

Proving languages to be nonregular

CS 341 Homework 16 Languages that Are and Are Not Context-Free

Herbrand Theorem, Equality, and Compactness

185.A09 Advanced Mathematical Logic

MITOCW MITRES_18-007_Part3_lec5_300k.mp4

MAGIC Set theory. lecture 2

6.825 Techniques in Artificial Intelligence. Logic Miscellanea. Completeness and Incompleteness Equality Paramodulation

MITOCW MIT18_01SCF10Rec_24_300k

Reminder of Notation. For a variable-free term t, we let t N N stand for the interpretation of t in N. (For example, (SSS0 SS0) N equals 6.

Real Analysis Notes Suzanne Seager 2015

Limits of Computation. Antonina Kolokolova

MITOCW MITRES18_006F10_26_0601_300k-mp4

Logic: The Big Picture

THE SIMPLE PROOF OF GOLDBACH'S CONJECTURE. by Miles Mathis

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Models. Models of Computation, Turing Machines, and the Limits of Turing Computation. Effective Calculability. Motivation for Models of Computation

A MODEL-THEORETIC PROOF OF HILBERT S NULLSTELLENSATZ

Arithmetic and Incompleteness. Will Gunther. Goals. Coding with Naturals. Logic and Incompleteness. Will Gunther. February 6, 2013

The Cycloid. and the Kinematic Circumference. by Miles Mathis

Gödel s Theorem: Limits of logic and computation

Module 3 Study Guide. GCF Method: Notice that a polynomial like 2x 2 8 xy+9 y 2 can't be factored by this method.

Arithmetical classification of the set of all provably recursive functions

chapter 12 MORE MATRIX ALGEBRA 12.1 Systems of Linear Equations GOALS

Recommended Reading. A Brief History of Infinity The Mystery of the Aleph Everything and More

MITOCW watch?v=ed_xr1bzuqs

September 13, Cemela Summer School. Mathematics as language. Fact or Metaphor? John T. Baldwin. Framing the issues. structures and languages

On some Metatheorems about FOL

2. Introduction to commutative rings (continued)

Computation. Some history...

CHAPTER 2. FIRST ORDER LOGIC

UC Berkeley, Philosophy 142, Spring 2016 John MacFarlane Philosophy 142

MITOCW ocw f99-lec17_300k

3 The language of proof

CSCI3390-Lecture 14: The class NP

MITOCW watch?v=y6ma-zn4olk

MITOCW watch?v=jtj3v Rx7E

NP-Completeness Part II

Interpretations. The first incompleteness theorem applies not only to the language of arithmetic but to

Practice Test III, Math 314, Spring 2016

Proof Theory and Subsystems of Second-Order Arithmetic

I'm not going to tell you what differential equations are, or what modeling is. If you still are uncertain about those

Decidability and Undecidability

An Introduction to Modal Logic. Ordinary logic studies the partition of sentences1 into two categories, true and false.

MITOCW ocw f99-lec23_300k

Lecture 13: Soundness, Completeness and Compactness

KE/Tableaux. What is it for?

MITOCW MITRES18_006F10_26_0501_300k-mp4

CS103 Handout 09 Fall 2012 October 19, 2012 Problem Set 4

Loop Convergence. CS 536: Science of Programming, Fall 2018

INTRODUCTION TO CARDINAL NUMBERS

Sequences and Series

Transcription:

Godel Numbering {x: x is a horse) is a collection that has all the worlds horses as elements, and nothing else. Thus we have For any y, y E {x: x is a horse) if and only if y is a horse. Traveler, for example, is a horse, so Traveler E {x: x is a horse). We would expect this pattern to hold generally, so that we have: For any y, y E {x: x is ) if and only if y is, for any way of filling in the blank. That's what we'd expect. But now try filling in the blank with "not an element of itself '; we get: For any y, y E {x: x is not an element of itself) if and only if y is not an element of itself. Substitute "{x: x is not an element of itself)" for "y," and we get a contradiction: {x: x is not an element of itself) E {x: x is not an element of itself) if and only if {x: x is not an element of itself) is not an element of itself. This is Russell's paradox, one of several set-theoretic paradoxes that shook the foundations of mathematics around the beginning of the twentieth century. The reason these paradoxes were so disturbing is that, during the last few decades of the nineteenth century, the idea of a set had played an increasing role in clarifling and securing the foundations of mathematics, particularly the calculus. By making set theory insecure, the paradoxes threatened to undo all these gains. A strategy for responding to the paradoxes is to adopt, hopefully on a principled basis, axioms that restrict the way the blanks can be filled in enough to prevent contradictions but not so much as to prevent set theory from playing its useful mathematical roles. That's a good questions, but how do we know that our axioms still don't still produce contradictions? The axioms are chosen to block the path by which Russell obtained a contradiction, but how can we be sure we won't still arrive at a contradiction by some, more devious path?

Godel Numbering, p. 2 David Hilbert proposed an innovative solution to this problem. Ordinarily, mathematicians study things like points, lines, planes, functions, and numbers, and they use mathematical proofs as a means of learning about these things. Hilbert proposed to treat mathematical proofs as themselves the objects of mathematical investigation. A new branch of mathematics, metamathematics, would study proofs the way geometers study points, lines, and planes. The hope would be that an investigation of proofs would enable us to prove that the axioms of set theory wouldn't lead to a contradiction. Graph theorists investigate when it is possible to find a path fiom one location to another within a complex network of points connected by curves. Proof theorists do something similar, looking to see whether there is a path leading from the axioms to a contradiction. Russell's paradox has taught us to be wary of proofs in set theory. Hilbert thinks we needn't be similarly chary of the proofs produced by proof theorists. The difference is that sets are fiequently infinite, and so impossible to display concretely or survey fully. Proofs, on the other hand, are finite objects that we can actually write out on paper. Metamathematics, as Hilbert envisaged, is separate from the rest of mathematics, because it studies a different kind of thing fiom the things ordinary mathematicians study. Godel devised a method of assimilating proof theory into ordinary mathematics by assigning arithmetical codes to the different symbols, thereby turning the question whether a particular sentence is provable from a certain set of axioms into an arithmetical question. The details of the coding are fairly arbitrary. What we'll see here is one possibility among many. We'll begin by encoding terms by ordered pairs and ordered triples. For any x, y, and z, Triple(x,y,z) = Pair(x,Pair(y,z)). If w = Triple(x,y,z),then lstin3(w) = x, 2ndin3(w) = y, and 3rdin3(w) = z. The code for "0" is the pair Pair(1,O), which we abbreviate Ql. The code for "%" is the pair Pair(2,n), which we abbreviate rql. The code for ST is the pair Pair(4,91), which we abbreviate rs~l.

Godel Numbering, p. 3 The code for (~+p) is the triple Triple(5, 91, rpl), which we abbreviate r (~ + p)l. The code for (TOP) is the triple Triple(6,91, rpl), which we abbreviate r (~ l p)l. The code for (T E p) is the triple Triple(7,91, rpl), which we abbreviate r (~ E p)l. A number is the code of a term if and only if it is an element of every set S of numbers that meets the following conditions: Pair(1,l) ES. Pair(2,i) E S. If x is in S, so is Pair(4,x). If x and y are in S, so are Triple(S,x,y), Triple(6,x,y), and Triple(7,x,y). Any set that meets these conditions will be infinite, and we can't talk about infinite sets within the language of arithmetic. If we want to talk about the set of codes within the language of arithmetic, we need to figure out ways to say the things we want to say using only finite sets, so that we can take advantage of the fact that finite sets have numerical codes. Such an effort yields the following theorem: Theorem. The set of codes of terms is a A set. Proof. The set of codes of terms in 2. x is the code of a term if and only if it's an element of a finite set s with the following properties: If Pair(4,y) E s, y E s. If Triple(S,y,z) E s, then y E s and z E s. If Triple(6,y,z) E s, then y E s and z E s. If Triple(7,y,z) E s, then y E s and z E s. If y E s, then either y = Pair(1,O) or (In < y)y = Pair(2,n) or (In < y)y = Pair(4,n) or (3m < s)(3 n < s)y = Triple(S,m,n) or (3m < s)(3 n < s)y = Triple(6,m,n) or (3m < s)(3 n < s)y = Triple(7,m,n). The properties the code number of s has to satisfy for these conditions to be met can be expressed by a bounded formula.

Godel Numbering, p. 4 The complement of the set of codes of terms is x. It will be helpful to have the following definition on board: Definition. x ;-y = x - y if x 2 y; =Oifx<y. Note that x ;-y = z iff ((z + y) = x V (x < y A z = 0)); since this is a bounded formula, ;-is a A total function. If x isn't the code of a closed term, then, if we try to form the structure tree for x, there will a branch that doesn't terminate either in "0" or a variable. Thus, x is not a code of a term if and only if there is a finite sequence s with the following properties: (s)~ = X. If n < length(s) and (s), = Pair(4,y), then n+l < length(s) and (s),, = y. If n < length(s) and (s), = Triple(S,y,z), then n+l < length(s) and (s),, is equal to either y or z. If n < length(s) and (s), = Triple(6,y,z), then n+l < length(s) and (s),, is equal to either y or z. If n < length(s) and (s), = Triple(7,y,z), then n+l < length(s) and (s),, is equal to either y or z. If n+l < length(s), then either (s), = Pair(4,(s),,) or (32 < s)(s), is equal to either Triple(S,(s),,,z) or Triple(S,z,(s),,) or Triple(6,(s),,,z) or Triple(6,z,(s),,) or Triple(7,(s),+,,z) or Triple(7,z,(s),,). (s)lenpth(s) T 1 + Pair(1,O). -(In < S)(S)~,,~~(~) = Pair(2,n). IXI The set of codes of closed formulas is A; just leave off the clause for variables. Theorem. The set of pairs <x,y> for which y is a term and x a subterm of y is A.

Godel Numbering, p. 5 Proof: Where I say "y is a term and x is a subterm," what I really mean is that y is the code of a term and x the code of a subterm. Most of the time, I'll neglect this distinction. You'll get used to it. If y is a term, x is a subterm of y if and only if x is an element of every finite set that meets the following conditions: y is in the set. If Pair(4,z) is in the set, z is in the set. If Triple(S,z,w), Triple(6,z,w), or Triple(7,zkw) is in the set, z and w are in the set. This shows that the set of pairs <x,y> with y a term and x a subterm is n. To see that it's also x, note that, for y a term. x is a subtern of y if and only if there is a number s coding a finite set with with the following properties: y is in the set. If Pair(4,z) is in s, z is in the set. If Triple(S,z,w), Triple(6,z,w), or Triple(7,zkw) is in tbe set, z and w are in the set. If t < s is the code of a set containing y with the properties that z is in the set coded by t whenever Pair(4,z) is in the set coded by t and that z and w are in the set coded by t whenever any of Triple(S,z,w), Triple(6,z,w), or Triple(7,z,w) in in the set coded by z, then x is an element of the set coded by t.m AJinite tree is a finite set of sequences with the property that any initial segment of a member of the set is a member of the set; the statement that s is the code of a fine tree can be formalized by a bounded formula. AJinite binary tree is a finite tree consisting entirely of sequences of 0s and 1s. Where x is a code of a term, a structure tree for x is a pair Pair(s,f), where s is a code of a finite binary true and f is a function with domain the set of elements of the set coded by s that satisfies the following properties:

Godel Numbering, p. 6 f assigns x to the trunk of the tree, < >. If y E s and f(y) = Pair(4,z), then y A <O> E s and f(y A <0>) = z, and y A <1> C s. If y E s and f(y) = Triple(S,z,w), then y A <0> and y A <1> are both in s, and f(y A <0>) = z and f(y A <I>) = w. If y E s and f(y) = Triple(G,z,w), then y A <0> and y A <1> are both in s, and f(y A <0>) = z and f(y A <I>) = w. If y E s and f(y) = Triple(7,z,w), then y A <0> and y A <1> are both in s, and f(y A <0>) = z and f(y A <I>) = w. If y A <O> E s and f(y A <0>) = z, then either f(y) = Pair(4,z) or (3w < s)(f(y A <I>) is defined and equal to w and f(y) = Triple(S,z,w)) or (3w < s)(f(y A <I>) is defined and equal to w and f(y) = Triple(6,z,w)) or (3w < s)(f(y A <I>) is defined and equal to w and f(y) = Triple(7,z,w)). If y A <1> E s and f(y A <I>) = w, then, for some z < s, f(y A <O> is defined and equal to z and either f(y) = Triple(S,z,w) or f(y) = Triple(6,z,w) or f(y) = Triple(7,z,w). If y E s and neither y A <0> nor y A <1> is in s, then either f(y) = Pair(1,O) or (3n < s)f(y) = Pair(2,n). Unique Readability Lemma. Every (code of a) term has a unique structure tree. The most straightforward way to prove this would be to show that the set of terms for which there is a unique structure tree contains Pair(1,l) and Pair(2,i), for each i, and that it contains Pair(4,y), Triple(S,y,z), Triple(6,y,z), and Triple(7,y,z) whenever it contains y and z. Such a proof talks about infinite set of numbers, so it can't be carried out within the language of arithmetic. To get a purely aritmetical version of the proof, we have to pick a particular number y that codes a term and show that every subterm of y has a unique structure tree, formulating the argument in such a way that it only talks about subterms ofl. I won't go through the details. Theorem. The function Den that takes a closed term to the number it denotes is A.

Godel Numbering, p. 7 Proof: Den(x) = v iff there is a finite set s with the following properties: Pair(x,v) E s. If y E s, lst(y) is a closed term. If Pair(Pair(1, 1,), u) is in s, then y = 0. If Pair(Pair(4,y),u) is in s, then u > 0 and Pair(y,u 71) is in s. If Pair(Triple(S,y,z),u) is in s, there there are t and w with Pair(y,t) and Pair(z,w) in andwithu=t+w. If Pair(Triple(6,y,z),u) is in s, there there are t and w with Pair(y,t) and Pair(z,w) in andwithu=t*w. If Pair(Triple(7,y,z),u) is in s, there there are t and w with Pair(y,t) and Pair(z,w) in S and with u = tw. This can be formalized by a x formula. Since Den is a x partial function with a A domain, it's A.m We encode formulas the same way: If T and p are terms, the code for T = p is Triple(8, r~l, rpl), which we abbreviate rt = pl. If T and p are terms, the code for T < p is Triple(9, r~l, rpl), which we abbreviate 'T < P1. If 4 is a formula, the code for -4 is Pair(l0, r@), which we abbreviate r- @. If 4 and q are formulas, the code for (4 V q ) is Triple(l1, r@, v), which we abbreviate r(4 V $)I. If 4 and q are formulas, the code for (4 A q ) is Triple(l2, re, rql), which we abbreviate '(4 A qp.

Godel Numbering, p. 8 - If 4 and q are formulas, the code for (4 q) is Triple(l3, re, v), which we abbreviate r(@ - $)I. If 4 and q are formulas, the code for (4 - q) is Triple(l4, re, rql), which we abbreviate '(4 - qp. 1f 4 is a formula, the code for (b'%)@ is Triple(lS,n, re), which we abbreviate Tb'rZ34'- If 4 is a formula, the code for (I%)$ is Triple(l6,n, r@), which we abbreviate '(3rZ3@ Theorem. The set of codes of formulas is A. The proof is so close to the proof of the analogous proof for codes of terms that there's no real point in going through it. Same for the proof that the set of pairs <x,y> with x the code of a subformula of the formula coded by y is A. We define structure trees for formulas the way we did for terms, and once again we have unique readability. Theorem. The function Sub that, for 8 a formula, T a term, and n a natural number, takes < alp, to @%ltl is A. Proof: First note that the function that, given terms T and a natural number n, takes < r p 1, n, TI> to rpx.1~1 is 2, and hence, as a 2 partial function with a A domain, A. That's so because the value the function takes with input < 'pl,n, is equal to z if and only if there is a finite set s with the following properties: Pair( rp1,z) is in s. If y is in s, then lst(y) and 2nd(y) are both in s. If Pair(Pair(1, l),y) is in s, then y = Pair(1,l,). If Pair(Pair(2,i),y) is in s, with i + n, then y = Pair(2,i). If Pair(Pair(2,n),y) is in s, then y = 91. If Pair(Pair(4,u),y) is in s, then lst(y) = 4 and Pair(u,2nd(y)) is in s.

If Pair(Triple(S,u,v),y) is in s, then 1 st(y) = 5 and Pair(u,2ndin3(y)) and Pair(v,3rdin3(y)) are both in s. If Pair(Triple(6,u,v),y) is in s, then 1 st(y) = 6 and Pair(u,2ndin3(y)) and Pair(v,3rdin3(y)) are both in s. If Pair(Triple(7,u,v),y) is in s, then 1 st(y) = 7 and Pair(u,2ndin3(y)) and Pair(v,3rdin3(y)) are both in s. If 0 is an atomic formula, r a term, and n a number, @%/,1 is given by: rp = ox"/, 1 = Triple(8, rps/,l, Fox./,'). rp < ox"/, 1 = Triple(9, rpx.1~1, ro~/,l). Godel Numbering, p. 9 To complete the proof, we need to do the same thing with formulas that we just did with terms. I won't give the details, which are tedious and don't involve any new ideas.m