Let me try my hand in this. olanv’s argument (as I understand it, anyway) hasn’t been directly addressed in my (admittedly brief) reading of this thread, so I’ll try to address it specifically.
olanv, you seem to have a fundamental misunderstanding of what Goedel’s Incompleteness Theorem (GIT) says. Your argument, paraphrased, seems to be the following:
-
GIT claims that all propositions in any (“strong” enough) formal system are undecidable–we are unable to determine the truth value of any statement.
-
Since GIT itself is one of those statements, we, in fact, cannot even determine that GIT itself is true.
-
Therefore, GIT collapses under its own undecidability.
In fact, your argument (assuming this is your intended argument), is perfectly valid.
The flaw, however, is in your first premise. You have misunderstood/misrepresented GIT.
GIT does not claim that all propositions are undecidable, only that there are some undecidable propositions. In fact, using GIT, we can conclude that any proposition falls into one of three categories:
A. Those propositions that are provably true within the formal system.
B. Those that are provably false within the formal system, and
C. Those that can neither be proven true nor proven false within the system (the undecidable propositions that GIT guarantees).
GIT only claims that there are certain propositions that are undecidable, not that, as a general rule, all propositions are undecidable. There still remain propositions that we can prove are true (such as GIT itself), as well as propositions we can prove are false.
How do we know which of the three categories a given proposition may fall in to? In general, it’s not at all easy.
In certain cases, however, it’s really quite simple. If we can construct a proof of the truth of a proposition, that’s all we need to establish that that proposition belongs in category A. GIT itself falls into this category, simply because of the fact that it has been proven. Similarly, if we can prove that a given proposition is false, we have demonstrated that it lives in category B.
Unfortunately, in general, if we’re given some arbitrary proposition, there’s no systematic way of demonstrating what type it is (i.e., which of the above categories it falls into). It can often be done (it’s been done many, many times, as evidenced simply by the sheer number of theorems throughout mathematics), but, in general, it can’t be done.
Demonstrating that a proposition falls into category C is often the most difficult to establish. A standard approach is the following. Given a proposition P:
-
Construct a model M which does two things: a. Satisfies the axioms of the formal system, and b. Satisfies P (in other words, P is true in this model).
-
Also, construct a model M’ which does two things: a. Satisfies the axioms of the formal system, and b. Satisfies (not P).
-
demonstrates that P is consistent with the formal system; 2. demonstrates that (not P) is consistent with the formal system. Together, 1. and 2. demonstrate that P is undecidable in the formal system–one way to think of it, in some sense, is that the formal system is not “strong” enough to distinguish between, for example, the models M and M’, and is therefore not strong enough to determine the truth value of P.
In fact, to give a specific example, this is exactly the method used by Goedel and Cohen to prove the undecidability of the Continuum Hypothesis (CH) in Zermelo-Fraenkel-Choice (ZFC) set theory. In the 30’s (I believe), Goedel showed that CH was consistent with ZFC; in the 60’s, Cohen showed that (not CH) was consistent with ZFC. Together, these two results demonstrate the undecidability of CH in ZFC.