Mar. 20, 2001 item notes1 Subject: Notes For Puma Grass lecture (Mar. 2001 ) @:= Speak #:=Write on board @- First, I would like to thank William for his talk last week in which he explained some of the many ways in which people have misinterpreted Godels first incompleteness theorem -In this talk I hope, among other things, to give a proof of this theorem -I will then leave you to make your own misinterpretations @-What we are going to prove is #-For any consistent formal system Z with computable axioms which is powerful enough to contain (N, 0, 1, +,*) there is a sentence G such that neither G nor ~G can be proved. @-Now, the proof I will present here is not the one which Godel first came up with. In fact, when Godel originally proved his theorem, he could only prove it for \omega-consistent theories. -The sentence we will try and construct is a formalized version of the liars paradox. We want the statement to say that I am not provable. -Before we start, we have to determine which system we are working in. -We will let our language be: #- L: 1 0 2 S 3 ~ 11 x_1 12 x_2 13 x_3 … … 4 v 5 6 = 7 + 8 * 9 ( 10 ) #Term0, x_I are terms if a, b are terms then so are Sa, (a+b), and (a*b) #Formulasif s, t are terms then s=t is a formula if H,G are formula's and v is a variable then ~(F), (F) v (G) and v(F) are formula's @-Our axioms will be all logical axioms and equality axioms as well as the following #-Number Theoretic Axioms If F is a formula, x,y are terms and v,w is a variable x_i 1) Number Theoretic Axioms a) ~(Sx = 0) b) Sx=Sy <-> x=y c) x+0 = x d) x+Sy=S(x+y) e) x*0=0 f) x*Sy=(x*y)+x g) F(0) and w(F(w) -> F(Sw)) -> F(v) @-It is important to note that while there are infinitely many axioms, given a formula, it is possible to determine absolutely if it is an axiom. Godels theorem only applies to systems with this property. -Now that we have defined our system, we have to come up with a way to talk about sentences of our system. This is done by Godel numbering the language. #-Put the Godel numbers above each symbol. @-Now that we have encoded our language by numbers, we want a way to encode a formula by a number in an effective manner. -We will do this by looking at the exponents of the number we are interested in. -For example #-x_1+3 = 4: is encoded by 2^11 * 3^7 * 5^2 * 7^2 * 11^2 * 13^1 * 17^6 * 19^2 * 23^2 * 29^2 * 31^2 * 37^1 #-We will let [\phi] be the Godel number of the formula \phi, and we will let \gamma(x) [\g(x)] be the formula representing the number x. @-Now this encoding isn't very useful unless we can mirror the manipulations done in the system in the Godel numbers. -In order to do this, we first need the notion of a computable function and a computable relation. -For simplicity of notation, we will only give the definition for one variable. It can easily be extended to more than one variable. #-We say that + is a computable function -x<=y is a computable relation -If f, g are computable functions, Q,R are computable relations then so are 1) h_1(x)=f(g(x)) (recursion) 2) Recursion: h_2(0)= c h_2(k+1):= f(k,h_2(k)) 3) Bounded leastness: h(n) = least x<= f(n) & R(x) 4)~Q, Q v R 5) Bounded Quantification: T(x)<=> v (v< f(n) -> R(v)) 6) R(x,y)<=> f(x)=y @-We will not prove it here, but if R is a computable relation then there is a formula \phi_R of our system such that: #|-\phi_R(x,y) <=> R(x,y) |-~\phi_R(x,y) <=> ~R(x,y) @- Further, if R is a computable function we can say have #-Description Lemma If R is a computable function, with formula \phi_R and q=\phi(m) then |-F(Z(q)) <=>|- F(\phi_R(Z(m))) @-Basically what this says, is that if we have a computable function which has a value q at m then we can prove that for any formula F if we apply F to q we get the same truth value as we would if we first composed F with \phi_R and then took the value at -With this in hand, we can begin to construct the machinery we will need. -We will first need several functions (Explain what they are): #-Neg(x) =[~( \g(x) ) ] -Dis(x,y) =[( \g(x) ) v ( \g(y) )) ] -Gen(x,y) =[\g(x) ( \g(y) )] Axiom(x) <=>x is an axiom UG(x,y) <=> \g(y) is a variable, and \g(x) = \g(y) ( \g(x) ) MP(x,y,z) <=> \g(x) = a & \g(y) = a->b & \g(z)= b -Our goal now is to create a computable function and a computable relation such that #-Sub(x,v,y)=[\g(x) with \g(y) substituted for all free occurances of variable \g(y)] -Proof(x,y)<->y is a proof of \g(x) <-> (y= 2^a_1 3^a_2… Prime(n)^a_n ) & (a_n=x) & ( i<=n (Axiom(a_i) v (j,k<i MP(a_j,a_k,a_i)) v (j<i ,v MP(a_j,v,a_i))) @-In Godel's original paper, he gave very explicit definitions of all the functions he needed. But as we don’t have that much time, I will just hope you believe the they are computable @-Now that we have finally established the machinery we just need one more fact before we can prove the Godel’s theorem of the lecture: The fixed point theorem. #-The Fixed Point Theorem Let F(x_1) be any formula with only one free variable. Then there is a formula G such that |-G<=>F( [G] ) Proof: Let q=[F(s(x_1))] and let G = F(s( Z(q) )) Now, [G] = Sub ([F(s(x_1))], [x_1], q) = Sub (q, [x_1], q) = s(q) So, |-G <=> F(s(q)) <=> F([G]) QED. @-Now we are finally ready to prove Godel's incompleteness Theorem. -#Define Prov(x)<=> (y Proof(x,y)) & (z<y ~Proof(Neg(x), z) #Let G be the fixed point of the formula ~Prov(x). So we have |-G <=> ~Prov([G]) #Assume |-G (and so we have Proof([G],p) for a specific p we can find) |-~Prov([G]) |-y~Proof([G],y) |-~Proof([G],p) =><= #Assume |-~G (and so we have Proof([~G],p) for a specific p we can find) |-Prov([G]) |-(y Proof([G],y)) & (y<p) So, we can check each Proof([G], y) at each value less than p and find the value such that |-Proof([G],p) and so we can therefore convert this number to an actual proof and get |-G =><= -If we have time. -Now that we have the fixed point theorem, it is easy to prove Tarski's Undefinability of Truth Theorem which says -#There is no formula which defines truth.