Laws and theories in science have been traditionally enunciated under three items of principle (Chaitin 2006):
1. Ockham’s razor, which is an approach that favours the smallest necessary number of assumptions, the smallest possible number of variables and parameters, and the smallest needed number of equations for formulating hypotheses. In other words, if there are two competing theories that explain the same set of experimental data, the simpler theory is likely to be better. In terms of computer algorithms (see below), the best theory is likely to be that which requires the smallest computer program for calculating (and hence explaining) the observations.
2. Comprehension is compression: If the observations are pointing to an underlying law, it should be possible to explain them in terms of an algorithm that requires a smaller number of bits than the number of bits required to represent the observed data. Even the most random (i.e. 'lawless') set of data can be 'explained' in terms of an algorithm of the same size. But we intuitively feel that we 'understand' something in a better way if it is explained by a 'simple' theory, i.e. by an algorithm requiring a smaller number of bits than that needed for describing the entire set of data.
3. Leibniz’s principle of sufficient reason: 'Everything happens for a reason'. If something is true, it must be true for a reason (however, see below). This is why mathematicians try to discover the proof for the general case (i.e. prove theorems), rather than accepting something to be true just because a large amount of data seem to indicate that.
As I mentioned in Part 64, Hilbert tried to make the rules of symbolic logic so precise and 'artificial' that even a mechanical proof checker could be used to see if a proof based on the formal axioms is correct or not. The idea was to make mathematics completely certain and objective, with no room for human interpretations or subjectivity.
Hilbert’s goal was to put all pure mathematics on a formal and strictly objective footing. His idea was to formalize mathematics in terms of axioms and artificial language, so that everybody could agree on whether a proof is correct or incorrect. He hoped that mathematics would then comprise of absolute truths, and there would be a theory of everything in mathematics. He and his collaborators like John von Neumann did achieve considerable success in this direction.
But then came Kurt Gödel (1931). He shook the foundations of mathematics by proving his incompleteness theorem, which demonstrated that mathematics contains statements that, if proved false, would render it inconsistent, but which cannot be proved to be true (cf. Dyson 1997). In other words, some mathematical statements are true for no reason.
Thus Gödel’s work went against Hilbert’s belief that there is a theory of everything in mathematics. Hilbert (as also Leibniz) had visualized a world in which all truths can be calculated and proved by a 'universal coding'. This coding comprised of a few dozen axioms, and it was sought to systematize all mathematics by deriving all mathematical truths from these axioms in a 'mechanical' way. Gödel proved that this is not possible. His theorem says that no formal system encompassing elementary arithmetic can be at the same time both consistent and complete:
Within any sufficiently powerful and noncontradictory system of language, logic, or arithmetic, it is possible to construct true statements that cannot be proved within the boundaries of the system itself.
Gödel established a procedure for encoding arithmetic statements as (large) numbers. Theorems in arithmetic had hitherto been speaking only about numbers. Gödel made them self-referential as well; i.e. speak about themselves as well. With this interpretation of arithmetic theorems, he constructed the now famous Gödel sentence, which was a precise arithmetic statement meaning
'This statement is unprovable';
'This statement cannot be deduced from Hilbert’s formal axiomatic system'.
If this statement is indeed provable, then it is a false statement. And if it is not false but true, then it is indeed unprovable, and we have incompleteness in our formal axiomatic system: We have a true statement that our formal system of logic and axioms is not able to capture. Some truths are unprovable.
The well-known Goldbach conjecture illustrates the point. The conjecture states that every even number greater than 2 is the sum of two prime numbers. Computer calculations have verified the truth of this conjecture up to extremely large even numbers. But we can never be sure that the conjecture will not fail for some still larger even number. It has not been possible to prove the conjecture by rigorous mathematical reasoning. Suppose the Goldbach conjecture is undecidable. It would then be true without being provable because there could be no exception to it. The existence of any exception to the conjecture would disprove the conjecture, and that would contradict its undecidability.
Gödel put in some very clever thinking when he introduced a procedure (using prime numbers) for converting all arithmetic statements into numbers. His procedure was able to deal with pronouns like 'this', and even self-referencing pronouns like 'I'. This is something usually not found in mathematical formulas. Gödel converted the 'This statement is unprovable' entity into a large numerical statement in number theory, and although this converted entity looked like a statement in real mathematics, it was indirectly referring to itself, and saying that it is unprovable.
Gödel proved another incompleteness theorem, according to which:
No formal system can prove its own consistency.
According to Chaitin (2006), Gödel’s proof 'does not show that mathematics is incomplete. More precisely, it shows that individual formal axiomatic mathematical theories fail to prove the true statement "This statement is unprovable". These theories therefore cannot be "theories of everything" for mathematics. The key question left unanswered by Gödel is: Is this an isolated phenomenon, or are there many important mathematical truths that are unprovable?'
In Chaitin’s algorithmic information theory, some mathematical facts cannot be compressed into a theory because they are too complicated (in terms of algorithmic complexity). His work suggests that 'what Gödel discovered was just the tip of the iceberg'.