Newsgroups: comp.ai.philosophy,sci.logic
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!bloom-beacon.mit.edu!gatech!psuvax1!news.pop.psu.edu!news.cac.psu.edu!newsserver.jvnc.net!nntpserver.pppl.gov!princeton!grapes.princeton.edu!tao
From: tao@grapes.princeton.edu (Terry Tao)
Subject: Re: Godel, Lucas, Penrose, and Putnam
Message-ID: <1994Dec25.162020.17458@Princeton.EDU>
Originator: news@hedgehog.Princeton.EDU
Sender: news@Princeton.EDU (USENET News System)
Nntp-Posting-Host: vinifera.princeton.edu
Organization: Princeton University
References: <3ddp99$tc@usenet.ucs.indiana.edu>
Date: Sun, 25 Dec 1994 16:20:20 GMT
Lines: 229
Xref: glinda.oz.cs.cmu.edu comp.ai.philosophy:24061 sci.logic:9187

In article <3ddp99$tc@usenet.ucs.indiana.edu> chalmers@bronze.ucs.indiana.edu (David Chalmers) writes:
>So, the obvious position is that I am F but that I can't determine that F
>is consistent.  [...]

Yes.  In fact with a few reasonably plausible assumptions, you can prove
that it is impossible to know the consistency of your own system (see
below).

>
>In the new book, he goes a bit further and argues (pp. 132-7) that this
>possibility could not hold: if we cannot see that F is sound, this must be
>because we are blind to either (i) the truth of one of F's axioms, or (ii)
>the validity of one of F's rules of inference, but (i) is impossible and
>(ii) seems unlikely.  [Goes on to say that F may be too complex for
>this to be seen]

Fair enough, but you don't need complexity to be unable to determine
whether a system is sound.  Even a reasonably explicit formal system
like Peano Arithmetic cannot be decisively argued to be sound.  Even accepting 
the existence of the standard natural numbers N, is it clear that N must
satisfy all the axioms of PA?  Perhaps a+b fails to equal b+a for very
large a and b, for example.  Similarly with trying to see that we obey a
certain axiom system F.  Perhaps we have always used inference rule I in
the past in our thinking, but how do we know that we will always do so in the 
future?

There are two senses in which a system F can be sound - the semantic
sense, which is the same as saying "F has at least one model" - and the
syntactic sense, which is "F is consistent".  Neither of the two are
easy to show deductively.  One can produce a purported model of F, and
check various examples of the axioms, but if the model is infinite, this
cannot constitute a proof.  And Goedel's second incompleteness theorem
shows that it is impossible in general to give a formal proof of the
consistency of F, if it is consistent - at least, using only the axioms and 
rules of F itself.

>Penrose's second argument proceeds, in essence, by saying "suppose I *am*
>formal system F", and then arguing that with this assumption in place, he
>can see the truth of statements that are beyond F's powers, even if F is
>supplemented by the assumption that it is F.  Let F' be the system derived
>by supplementing F with the assumption that it is F.  Then for the usual
>reasons F' cannot see the truth of its Godel sentence G(F').  But Penrose
>argues that (under the assumption that he is F) he can see the truth of
>G(F'): he knows that he is consistent, so (under the assumption that he is
>F) he knows that F is consistent, and indeed that F' is consistent, so he
>knows that G(F') is true.  This contradicts the initial assumption that he
>is F.  Similar reasoning shows that he cannot be any formal system.

Let me try to formalize this argument, and list the assumptions that I
see are needed.  Let F("A") be the provability predicate of F, and K("A")
the predicate of this human.  By this I mean, if A is a string that can
be interpreted by F, then F("A") is the statement "A can be proven in F".
Similarly if A is a string that can be interpreted in K, then K(A) is
the statement "I can see A".

To be totally rigorous, let me list first the basic assumptions that
should be taken for granted (or at least have disbelief suspended for
sake of argument :-)

1.  If T is a tautology that can be interpreted by F, then F("T").
2.  If A,B are statements that can be interpreted by F, then
    F("A") ^ F("A=>B")  =>  F("B").

1 and 2 also hold with similarly with F replaced by K.

[Informally, the above axioms just mean "F and K reason logically".]

The next few axioms concern the fact that F can interpret itself via a
Goedel numbering trick.

3.  If A can be interpreted by F, then F("A") can be interpreted by F, and
    F("A") => F("F("A")").
[If A is provable, then the proof can be verified in F.]

4.  If A can be interpreted by F, then 
    F(" F("A") => F("F("A")") ").
[F knows that axiom 3 is true, viz. that if a statement is provable,
then the proof can be verified in F.  This is because the verification
of the proof can be explicitly written down in F as a function of the
proof itself.]

5.  If A,B can be interpreted by F, then
    F(" F("A") ^ F("A=>B") => F("B") ").
[F knows axiom 2 is true, i.e. that F is logical.]
 
6.  There exists a statement G such that F(" G <=> ~F("G") ").
[G is the Goedel statement of F; One can prove in F that G is true if
and only if G is not provable in F.]


Finally, there is the inevitable assumption

7.  ~F("1=0").
[F is consistent.]


From the above we can show that ~F("G"); i.e. G is not provable in F.  
PROOF: suppose F("G").  Then F("F("G")") by 3.  Thus, by 6, F("~G").
Combining this with F("G") we obtain F("1=0"), contradicting 7.  Thus
~F("G"). 

Taking all the above assertions for granted, let us make the following 
assumptions about our human knowledge predicate K.

i.  If A is understood by F, then A is understood by K and F("A") => K("A").
[Anything F knows, K knows, i.e. that K can be a superset of F.]

ii.  If A is understood by F, then K(A) is understood by K and
     K(" F("A") => K("A") ").
[Basically, "K knows that it is a superset of F".]

iii.  K(" ~K("1=0") ").
[K knows that it is sound.]


Then, Penrose's argument DOES give that K("G") whereas ~F("G"), so that
K is distinct from F.  I can see no way to seriously weaken the hypotheses 
and still get the gist of the argument to go through.

[Proof of K("G"):  From Axiom 4 we have F(" F("G") => F("F("G")")"),
hence by Axiom 6, F(" F("G") => F("~G") ").  By Axiom 5, this means
F(" F("G") => F("1=0") ").  By assumption i, this means 
K(" F("G") => F("1=0") ").  But by ii, we have K(" F("1=0") => K("1=0") "),
and so by iii, K(" ~F("1=0") ").  Therefore K(" ~F("G") ").  But since
K(" G <=> ~F("G") ") by i and axiom 6, this means K("G"), as desired.]


On the surface, it does seem that K only needs to know that K is
sound, and not F.  But this is in fact a _stronger_ statement!  If you
know K is sound, then you know F is sound, since you know you have a model 
for F, namely K.  (In fact, we used the statement "K knows that F is sound", 
or "K(" ~F("1=0") ")", in the proof of K("G").)  
 
>This argument avoids the obvious flaws with the Lucas argument and the
>first Penrose argument, as it nowhere requires that he is directly able to
>determine the soundness of F.  It simply requires that he can know that he
>himself is sound.  This is a much weaker claim, and indeed one that Putnam
>is in effect willing to grant.  I think there are still some places at
>which the argument is vulnerable -- Daryl McCullough has argued
>persuasively in correspondence that Penrose's assumption that he knows he
>is sound already leads to a contradiction, independently of the assumption
>that he is computational -- but the flaws are less obvious.  So I think
>this is a more interesting and original argument than the previous one; it
>is one of the more significant contributions in Penrose's book.  It would
>be nice if discussion focused on this argument rather than on the
>hackneyed previous version.

Much weaker claim... ? Actually, it isn't too hard to modify Goedel's second 
incompleteness theorem to show that, given certain assumptions, that a 
knowledge predicate K (it need not be formalizable!) cannot prove that it is 
sound, unless it itself is unsound.  The assumptions are:

Axioms 1 and 2 above, for K;
(a)  If A is a well-formed statement, and is interpretable by K, then
     K("A") => A.
[K cannot assert anything that is false.  In particular, K is sound.]

(b)  If A is interpretable by K, then so is K(A), and
     K("A") => K("K("A")")
[If K can assert A, then it can assert that A is knowable.  Basically
this means that any assertion that K makes has some sort of
"justification" which can be verified.  Incidentally (b) is a
consequence of (a) and (c).]

(c)  If A is interpretable by K, then
     K(" K("A") => K("K("A")") ")
[K knows that, if it can assert A, then it can assert that A is knowable.
Yes, this is a rather complicated assertion, but it basically boils down
to "K can understand its own justification mechanism."]

(d)  If A,B are interpretable by K, then
     K(" K("A") ^ K("A=>B") => K("B") ").
[K knows that axiom 2 holds.  In other words, K knows that it reasons
logically.]

(e)  There exists a statement G' such that K(" G' <=> ~K("G'") ").
[Basically, K can interpret a statement that says "I am not assertable
in K".]

Theorem:  If all the above assumptions hold, then ~K("~K("1=0")").  In
other words, K cannot assert its own soundness.

I'll argue in English for a change.  Suppose K could know its own
soundness.  Then I claim K can assert G'.  This is equivalent to K
asserting that ~K("G'"), by (d).  But this can be proved in K by
contradiction.  For, K knows that if K("G'") were true, then K("K("G'")")
would be true, by (c), which would mean that K("~G'") would be true, by
(b), (d) and (e).  Thus K("G'") and K("~G'") would both be true, K reasons,
which would mean that K is unsound.  But K knows that it is sound,
thus K can prove ~K("G'").  Therefore K can assert G'.

But since K can prove ~K("G'"), (a) implies that ~K("G'") is true.  However,
This contradicts the fact that K _can_ assert G', hence K cannot assert 
its own soundness.  QED


Basically, what this means is that sufficiently strong, sound systems
cannot assert their own soundness.  If Penrose asserts that he is sound,
then one of the following possibilities MUST be true:

1.  Penrose does not reason logically. 

2.  Penrose reasons logically but does not know this.

3.  Penrose can assert falsehoods.

4.  Penrose can know a fact without being able to assert that he knows it.

5.  Whenever Penrose knows a fact, he can assert that he knows it -
however, he is not able to assert this observation.

[More specifically, he cannot assert the statement "If G' were assertable
by Penrose, then "G' is assertable by Penrose" can be asserted by Penrose," 
where G' is the Goedel sentence of Penrose.]

6.  Penrose cannot interpret any sentence which has a form "I am not
assertable by Penrose".


It's interesting to try to figure out which of the assumptions fails
when a human like Penrose asserts he or she is sound.  I think the
problem is that such a human does not really understand his assertion
process well enough to be able to make a well-formed Goedel sentence.

-- 
Terry Tao	Math Dept., Princeton University (tao@math.princeton.edu)
  Hac in hora / sine mora / corde pulsum tangite;
  quod per sortem / sternit fortem, / mecum omnes plangite!
					- Fortuna imperatrix mundi
