# Handbook of epistemology/The incompleteness of mathematical principles

Kurt Gödel proved, in 1931, that we can not explicitly give a complete list of all mathematical principles. More precisely, an explicit list of principles can never suffice to prove all the mathematical truths, even if we limit ourselves to the truths about natural numbers. This is Gödel's first incompleteness theorem. The incompleteness of the principles is necessary. It does not come from our lack of imagination or work. Mathematicians are able to give lists of very powerful axioms, which in general suffice to prove all the truths one wishes to prove. But these lists are incomplete in the sense that they are not enough to prove all the mathematical truths. They can be enriched with new, more powerful axioms but they can never be definitively completed. There will always be mathematical truths that they can not prove.

This incompleteness theorem is sometimes misinterpreted as evidence that there are truths that we will never know, that there are sensible questions that we will never be able to answer, that there are solutions that we will never find. This interpretation is a fault of logic. Gödel proved that for any coherent theory *T* defined by an explicit list of axioms there is at least one truth *V* that *T* can not prove. But this does not prove that there is a truth *V* that no theory can prove. In fact, when we find a truth *V* unprovable in a theory *T* , it is generally very easy to define a theory *T+* , adding to *T* a new axiom, which allows to prove *V* .

The principle of Hilbert (1930), "We must know, we will know", still holds, even after Gödel. Nothing allows to say that there are mathematical truths that we will never know.

We are generally very surprised the first time we hear about Gödel's incompleteness theorem, because we are accustomed to identifying mathematical truth and provability. We know that a theorem is true when we know how to prove it. But this astonishment is easily dispelled when we understand that an explicit list of axioms can not suffice to prove the existence of all mathematical beings, even if we limits ourselves to the most elementary ones, the natural numbers and the sets of natural numbers.

**Summary**

We begin by proving Gödel's first incompleteness theorem in a way that eliminates technical difficulties and allows us to focus on the core of the argument, a true statement that says of itself that it is unprovable. Gödel proved that this statement is true under the assumption that the theory *T* which allows to formulate it is true. But this proof of the truth of the "unprovable" statement can not be formalized in *T*. The statement is unprovable from the axioms of *T* but it is not absolutely unprovable, since Gödel has proved its truth. To formalize this proof, one needs a theory which proves that the axioms of *T* are true. But Tarski has proved that a theory can never define a predicate of truth for itself. This is why the proof of the "unprovable" statement can not be formalized in *T*. More generally, a theory does not enable us to prove all the true statements that it states because it can never define enough predicates or sets to give these proofs. The principle of mathematical induction is applied to the predicates or sets of a theory. If predicates or sets are not defined in the theory, we can not use them to reason by induction. We can conclude that mathematical incompleteness is a consequence of uncountability, since a theory can never define an uncountable number of sets, and therefore there are always sets that it can not define.

Cantor's theorem, that the set of sets of natural numbers is not countable, Gödel's theorems of incompleteness of provability, Tarski's theorem of the undefinability of truth, the paradox of the set of all sets that are not elements of themselves, of Russell, and the undecidability theorems of Church and Turing are all manifestations of the same mathematical incompleteness.

We will present the two main axiom systems, of Peano and Zermelo, with which mathematics is usually founded. We will explain why they are true, and therefore consistent, and how to prove it.

We will conclude by showing that the incompleteness of mathematical principles is not very surprising, because if we knew how to find all the solutions of an undecidable problem, we would have a kind of omniscience, we would know how to find all the solutions of all problems.

## Contents

- 1 The first incompleteness theorem of Gödel
- 2 The uncountable infinite
- 3 Tarski's theorem of the undefinability of truth
- 4 How to prove the unprovable?
- 5 Consistency proofs
- 6 The second incompleteness theorem of Gödel
- 7 The science of everything that can be imagined
- 8 Zermelo's theory of sets
- 9 Russell's paradox
- 10 The truth of Peano's axioms
- 11 The truth of Zermelo's axioms
- 12 The axiom of choice
- 13 Are consistency proofs caught in a vicious circle?
- 14 The independence of the continuum hypothesis
- 15 Theories, software and recursively enumerable sets
- 16 Undecidable sets and problems
- 17 Universal machines and theories
- 18 The undecidability of the halting problem
- 19 The undecidability of the set of all logical laws
- 20 Universality is the cause of undecidability

### The first incompleteness theorem of Gödel[edit]

The proof here proposed is unconventional. Gödel argues on an arithmetic theory. It shows that formulas can be represented by numbers and that logical consequence relations between formulas can then be represented by relations between numbers. The whole technical difficulty of his proof comes from there: showing that the logical relations between formulas can be determined by numerical relations between the numbers which represent these formulas. This difficulty is eliminated by reasoning not on a theory of numbers but on a theory of formulas.

Nothing forbids to make a theory that allows reasoning on its own formulas. This way is not as convincing as Gödel's, because it does not prove that number theory is incomplete, but only that a weird theory of its own formulas is incomplete. One could even believe that the paradoxical statement that is at the heart of the proof comes only from the weirdness of the theory and fear that there is some inconsistency, so that the theory is not a good mathematical theory. This fear is unfounded. If we do it right, it is easy to make a true and therefore consistent mathematical theory that states truths about its own formulas. This is the easiest and fastest way to prove mathematical incompleteness. But this is not enough to prove the incompleteness of number theory.

The following proof is identical to that of Gödel, except on one point, that one reasons on a theory of formulas, and thus that the formulas are not represented by numbers.

*T* is a theory that considers its own formulas as individuals, or objects. It contains the binary predicate *is a logical consequence of* and admits among its axioms the Logical principles. Any finite list of premises can be identified with a single formula, their conjunction.

It also has other predicates and axioms that allow one to reason about how formulas are constructed. In particular, it must make it possible to define a predicate *is a formula with one free variable*. Formulas that have free variables are neither true nor false. We must assign values to their variables *f* , *x* , *y* ... before their truth can be decided. For example, *f is a formula* is a formula with a free variable *f* . The *T* theory *T* must also make it possible to define a ternary predicate defined by *g is obtained from a formula f with a free variable by substituting x for all the occurrences of its variable* . It is supposed that all the axioms have been correctly chosen, so that they are true, and sufficient to prove the most elementary formal truths.

Once the list of its axioms is defined, *T* allows to define a predicate *is provable in T* , because to be provable, it suffices to be a logical consequence of a finite conjunction of axioms.

*T* then allows to define the following predicate:

*Gödel (f)* equals by definition *f is a formula with a free variable and there exists g such that g is not provable in T and g is obtained from f substituting f for all occurrences of its free variable* .

*Gödel (f)* is a formula with one free variable *f* , because the variable *g* is bound by the existential quantifier.

We can then prove that *Gödel (Gödel (f))* is a true statement but unprovable in *T*.

*Gödel (Gödel (f))* means by definition *Gödel (f) is a formula with a free variable and Gödel (Gödel (f)) is not provable in T* .

If *Gödel (Gödel (f))* was provable in T then it would be false, since it says of itself that it is not provable in *T* . Now it has been assumed that all the axioms of *T* are true. All the theorems of *T* , ie provable statements in *T* , are therefore also true. As a result, *Gödel (Gödel (f))* can not be a theorem of *T* and therefore it is true, since that is exactly what it says. So we found a true and unprovable statement in *T* .

To transpose this proof to number theory it suffices to show that the predicates *is provable in the theory of numbers* and *g is obtained from a formula f with a free variable by substituting x for all occurrences of its variable* can be represented by arithmetic relations between numbers that represent formulas.

Technical note: to correctly formulate the theory *T* one must pay attention to the use of variables of formula. *f* is a variable of formula, but it is not in itself a well-formed formula of *T* . As a result, *For any formula f, f* , for example, is not a well-formed formula of *T* either. A well-formed formula must always contain constant predicates applied to constants or variables. Moreover, when a formula *A(f)* is applied to another formula *B(f)* , ie one has formed *A(B(f))* , the variable *f* is free in *B(f)* but not in *A(B(f))* , because *B(f)* there is a constant.

### The uncountable infinite[edit]

A set is countable when we can identify all its elements by numbering them, with natural numbers: 0, 1, 2, 3, 4 ... A countable set can be finite or infinite. The set of all natural numbers is infinite and countable. Cantor (1874) proved that there are larger infinite sets. In particular, the set of sets of natural numbers is not countable.

It is proved by reduction to absurdity. Suppose that the set of sets of natural numbers is countable. That means they can all be identified by a number. Let us then define the set *C* of the numbers that are not in the set bearing their number and let *n* be the number of *C* . But if *n* is not in *C* then it is in *C* by definition of *C* . So it must be in *C* . But then it is not in *C* , still by definition of *C* . *n* is in *C* if and only if it is not in *C* . It is an absurdity. So the set *C* can not exist. Hence the set of sets of natural numbers is not countable.

We can immediately conclude that a number theory is always incomplete, because it never allows to define all sets of numbers. The set of beings defined and named by a theory is always countable, because to define and name we use a finite alphabet. One can always number the words formed from a finite alphabet. Just arrange them in order of length, then in alphabetical order for words of the same length. The number of a word is then its serial number.

The proof of Gödel's theorem resembles that of Cantor's theorem, because a formula with a free variable can be considered as the name of the set of all beings for which it is true. Gödel's proof defines the set of all numbers for which it is not provable that they are in the set named by the formula they number.

It is not a priori obvious that the Gödel incompleteness results from the uncountability of the set of sets of numbers. Gödel's true and unprovable statement deals only with numbers, not sets of numbers. One might have hoped that arithmetic would prove all the truths that relate only to numbers, that it does not need to prove the existence of all sets of numbers. But this hope is vain.

To prove arithmetic truths, we use the principle of mathematical induction, which can be stated as follows:

*If a set of numbers contains zero and if it always contains the successor of each of its elements then it contains all the natural numbers.*

A number theory that does not explicitly deal with sets of numbers applies this principle to formulas with a free variable. These serve to represent sets of numbers.

It is not surprising that an explicit theory can never prove all the truths about numbers, because there are always sets of numbers that it can not define and that may be necessary to prove certain truths on numbers. A true statement about numbers is unprovable when the theory does not define the set of numbers needed to prove it. The following will show that for Gödel's true and unprovable statement, the missing set is the set of numbers of the arithmetic truths.

### Tarski's theorem of the undefinability of truth[edit]

We can say the truth by simply saying what we have to say, but we can also say it by insisting redundantly and saying that what we say is true. We use a predicate of truth that we can attribute or not to everything we say. Tarski (1933) proved that such a predicate of truth can not exist in a mathematical theory if it is true.

Let us begin by reasoning as above on a theory T which speaks of its own formulas.

If *T* contained a predicate of truth *It is true that* , then the formulas *It is true that f if and only if f* would be true for all formulas *f* of *T*. It is true that the snow is white if and only if the snow is white, by definition of the truth. It is with this principle that Tarski founded a theory of mathematical truth (Tarski 1933) that we now understand as the theory of models.

Let's show by reduction to absurdity that a predicate of truth can not exist in the theory *T* if it is true.

Suppose that a predicate *is true* is defined in *T* for all the formulas of *T* .

Let us define the formula *Tarski (f)* with a free variable by *f is a formula to a free variable and there exists a formula g such that g is not true and g is obtained from f by substitution from f to all occurrences of its free variable.*

*Tarski (Tarski (f)* means by definition that *Tarski (Tarski (f))* is not true. *Tarski (Tarski (f))* is true if and only if is not true, which is an absurdity, so the predicate *is true* can not exist in the theory *T* if it is true.

To transpose this proof to the theory of numbers it suffices to reason on the predicate *is the number of a true formula* . A number theory never allows to define such a predicate if it is true.

Tarski is at once the theoretician who has been able to define mathematical truth and who has proved that it is undefinable in all mathematical theories.

Tarski's theorem provides another, indirect, proof of Gödel's first incompleteness theorem: If a theory makes it possible to define a predicate of its own provability and if all its theorems are true, then there must be at least one statement true and unprovable, otherwise the predicate of provability would be a predicate of truth.

### How to prove the unprovable?[edit]

Let's go back to the theory *T* that defines a predicate of provability *is provable in T* and a true and unprovable statement in *T* . By presenting this "unprovable" statement we proved it was true. The proof is easy but it is based on the assumption that the theory *T* is itself true. But the theory *T* does not allow to define a predicate of truth for itself, if it is true, only a predicate of provability. Therefore, we can not formalize the informal proof of the "unprovable" statement with the means of the theory *T*. That is why this provable statement is unprovable in *T* . But the definition of mathematical truth by Tarski allows us to define a theory *T+* with a truth predicate limited to *T* : *is a true formula of T* . The informal proof of the true and unprovable statement in *T* can then be formalized in *T+* . The unprovable statement in *T* is therefore a proved theorem in *T+* . But of course *T+* is not a complete theory, because we can find a new true and unprovable statement in *T+* that requires a truth predicate limited to *T+* to be proven .

To formalize in *T+* the informal proof, one must prove in *T+* that all the theorems of *T* are true. It is proved by mathematical induction. If a set of formulas contains all the axioms of *T* and all the immediate logical consequences of its elements, then it contains all the theorems of *T* , by definition of the set of theorems of *T* . It is therefore sufficient to prove that all the axioms of *T* are true, and that the immediate logical consequences of true formulas are equally true, to prove that all the theorems of *T* are true. But to formalize this informal proof one needs in *T+* a predicate of truth for the formulas of *T* .

To transpose this proof to number theory it suffices to reason about the predicate *is the number of a true formula of the theory* . One can always enrich an arithmetic theory with new axioms so that this predicate of truth, limited to the initial theory, is definable. It is thus possible to prove in the enriched theory the true and unprovable statement in the initial theory. Just formalize the informal proof.

### Consistency proofs[edit]

A theory is consistent, or non-contradictory, or coherent, when it never allows to prove both a formula and its negation, otherwise it is inconsistent, contradictory, absurd, incoherent.

Of course we expect a mathematical theory to be consistent. An inconsistent theory does not make the difference between the true and the false.

To prove that a theory is consistent, the most direct way is simply to prove that it is true, that is to say that all its theorems are true. A true theory can not be inconsistent, because if a formula is true, its negation is false and therefore not true.

To prove that all the theorems of a theory are true, it suffices to prove that all its axioms are true, because the logical consequences of true formulas are always true.

The mathematical truth of a formula is always defined from a model, a theoretical being that exists as a thought being. To be mathematically true is to be true of a mathematical model.

To prove that a theory is consistent, it is enough to prove that its axioms are true for a theoretical model.

With this method, we easily prove in an informal way that the axioms of a number theory, the axioms of Peano for example, are consistent. But we can not formalize this proof within the theory of which we prove the consistency, because it can not have a predicate of truth for itself. In fact, Gödel has proved that a consistent theory can never prove its own consistency. This second incompleteness theorem of Gödel is often misinterpreted. It is believed that evidence of consistency is very difficult, or inaccessible, or that it could never be rationally justified because it would be in a vicious circle. But there is a much more direct explanation. The proofs of consistency are sometimes very easy to find, and irrefutable, without any error of logic, and without the slightest doubt being able to subsist, but they can not be formalized within the theory whose consistency is proved, because they require a predicate of truth for this theory. Tarski's theorem of the undefinability of a predicate of truth thus explains Gödel's second incompleteness theorem.

### The second incompleteness theorem of Gödel[edit]

*A true theory can not prove its own consistency.*

Let's reason about the theory *T* and its true statement, unprovable in *T*, *Gödel(Gödel(f))*.

Let's show by reduction to absurdity that *T* can not prove its own consistency. If it could, it could prove that *Gödel(Gödel(f)) and not Gödel(Gödel(f))* is not provable in *T*.

But it can prove *If not Gödel(Gödel(f)) then (Gödel(Gödel(f)) is provable in T)* by definition of *Gödel(f)*. So it could prove *If not Gödel(Gödel(f)) then (not Gödel(Gödel(f)) is not provable in T)*. But *not Gödel (Gödel(f))* means that *Gödel(Gödel(f))* is provable in *T* by definition of *Gödel(f)*. So *T* could prove *If not Gödel(Gödel(f)) then ((Gödel(Gödel(f)) is provable in T) is not provable in T*.

Moreover, *T* can prove that *For every formula f, if f is provable in T then the formula that states that f is provable in T is provable in T*. This point is sometimes considered difficult in Gödel's proof. But for the theory *T* it is almost obvious, because a proof of a theorem proves at the same time that the theorem is provable. Since *T* can prove *If not Gödel(Gödel(f)) then (Gödel(Gödel(f)) is provable in T)*, it can also prove *If not Gödel(Gödel(f)) then ((Gödel(Gödel(f)) is provable in T) is provable in T)*.

Since *T* could draw contradictory conclusions from *not Gödel(Gödel(f))*, it could prove *Gödel (Gödel(f))* by reduction to absurdity. But *Gödel(Gödel(f))* says of itself that it is not provable in *T*. So *T* would not be true.

As a result, *T* can not prove its own consistency if it is true.

This reasoning can be transposed to number theory by numbering the formulas.

### The science of everything that can be imagined[edit]

We always imagine by attributing concepts. The visual imagination for example attributes visual qualities (color, brightness ...) to all that is imagined. The beings we represent and the concepts we attribute to them, including relations, define a mathematical structure. In a general way a mathematical structure, or system, or model, is defined by all its constituents, or beings that belong to it, and by concepts and relations that are attributed to them. As mathematics gives the means to know all the mathematical models, it makes it possible to study any set of imagined beings from the concepts that the imagination attributes to them, it is the science of all that can be imagined, or conceived.

### Zermelo's theory of sets[edit]

Sets are ubiquitous in mathematics. A concept can always be associated with the set of all the beings for which it is true, the extension of the concept. The concept of even number defines the set of even numbers. The relation *is greater than* between numbers defines the set of all pairs of numbers *(x, y)* such that *x is greater than y* .

Numbers are not usually considered as sets, nor are constituents of models. A mathematical theory should therefore include both basic beings, numbers and other constituents of models which are not sets, and all the sets that can be built from them. But it is more convenient to define a pure theory of sets. This simplifies the axioms.

Natural numbers can be defined as sets. For example, we can identify *0* to the empty set *{}* , *1* to *{0}* , *2* to *{0,1}* 'and more generally *n* to *{0 ... n-1}*. All other numbers can be constructed from natural numbers. All model constituents can always be numbered by natural numbers, or identified with systems of numbers, or with sets constructed from numbers. A pure theory of sets therefore allows in principle to study all that can be imagined.

To make a theory, one needs axioms that make it possible to prove the existence of beings on which one reasons. A reduced number of principles (Zermelo 1908) suffices to prove the existence of all the mathematical beings on which we usually reason:

**The axiom of the empty set**:*There is an empty set.***The axiom of the pair**:*If two sets exist, the set that contains them both, and only them, also exists.***The axiom of the sum**:*If a set exists, the set of all the elements of its elements also exists.***The axiom of infinity**:*There is a set that contains all natural numbers.***The axiom of separation**:*If E is a set and if A(x) is a sensible formula that deals with sets then the set of all x in E such that A(x) is true exists.***The axiom of the power set**:*If a set exists, the set of all of its parts, or subsets, also exists.***The axiom of choice**: It will be presented later.

We must add to them:

**The axiom of extensionality**:*Two sets are equal when they have the same elements.*

and of course the logical principles, and one has sufficient foundations to prove most mathematical truths.

The first three axioms make it possible to construct natural numbers. The union of two sets is the sum of their pair. The successor of a set *x* is the union *x U {x}* . We then define: *0 = {}* , *1 = 0 U {0} = {0}* , *2 = 1 U {1} = {0,1}* ...

The fourth and fifth axioms prove the existence of the set *N* of natural numbers. This is the set that contains all natural numbers and is included in all sets that contain all natural numbers. We thus find the principle of mathematical induction as a consequence of the definition of the set of natural numbers.

From there, the sixth axiom makes it possible to build the hierarchy of the first infinite sets: *N* , the set *P(N)* of all parts of *N* , *P(P(N)) = P ^{2}(N)* ,

*P(P(P(N))) = P*...

^{3}(N)These axioms do not make it possible to define all the sets. In particular, the existence of the set *{N, P(N), P(P(N)) ...}* which contains all the *P ^{n}(N)* for all natural numbers

*n*can not be proved from the Zermelo axioms. It can be proved with a new axiom, the replacement axiom, proposed by Fraenkel (1922), much more powerful to prove the existence of large infinite sets. But even with this new axiom, there are still sets that the theory can not define.

For ordinary mathematics, and even for very advanced mathematics, Zermelo's theory is more than enough to build all the sets we want to build and to prove everything we want to prove. In particular, real numbers, spaces constructed from real numbers, the functions defined in them, the spaces of these functions, the functions of functions, and therefore all the objects of Calculus, can all be constructed by limiting ourselves to the first levels of the hierarchy of infinite sets. The large infinite sets that Zermelo's theory does not allow to construct are much more rarely used.

The interpretation of the axiom of separation poses a difficulty. What is a sensible formula? According to Fraenkel and Skolem, any formula well formed from the fundamental predicates *is element of* and *is equal to* , and logical connectors, is a sensible formula. The axiom of separation can always be applied to them. But Zermelo was not convinced by this approach, because these so-called sensible formulas can contain affirmations on all sets, as if the universe of all sets had an objective existence. But we do not know what such a universe could be. We therefore do not always know what meaning to give to the formulas used to construct the sets in the ZFC theory proposed by Fraenkel and Skolem.

This difficulty is not a problem for everyday mathematics because it is limited to "small" infinite sets. We can require sensible formulas to which the separation axiom is applied that they contain only bounded quantifiers, that is to say that they do not contain affirmations on all the sets, but only on all the elements of already defined sets. With these limitations, and without the replacement axiom, we do not have all the power of ZFC but we have enough power for current mathematics, and we know better what we are talking about.

### Russell's paradox[edit]

Instead of the axiom of separation, we could have thought of a simpler axiom:

*If A(x) is a sensible formula then the set of all x such that A(x) exists.*

This axiom was proposed by Frege (1879) to found all mathematics, but Russell (1901, published in 1903) realized that it led to a contradiction. *x is not an element of x* is a sensible formula. In general, sets are not elements of themselves, but there could be exceptions, like the set of all sets. *The set of all x such that x is not an element of x*, of all sets that are not elements of themselves, exists, if we adopt the axiom of Frege. Is it element of itself? From its definition it follows that it is an element of itself if and only if it is not an element of itself. This is absurd, so this set can not exist, so Frege's axiom is false.

Cantor's theorem proves that a set theory can never define all sets, because it can only define a countable number of them. Tarski's theorem proves that a set theory can never define the set of all its truths. Russell's paradox proves that a set theory can never define all sets, because it can never define the set of all sets that it can define and which are not elements of themselves.

In general, a set theory does not define the set of all the sets that it can define, because one usually requires that sets be well founded, ie they are not elements of themselves, neither elements of their elements, nor ... and so on. But we can also make a theory of sets that are not all well-founded and which hosts the set of all of the sets it can define. Russell's paradox warns us that even such a theory can not define all sets.

Tarski's theorem and Russell's paradox are very similar. The formula *Tarski(f)* states that *f* is not true of itself. Since *Tarski(f)* can be identified with the set of *f* for which it is true, the proof of Tarski's theorem is almost identical to the proof that the set all of the sets that are not in themselves can not exist.

### The truth of Peano's axioms[edit]

For ordinary mathematics one can often be satisfied with a theory much less powerful than that of Zermelo, simply elementary arithmetic, the theory of natural numbers. Dedekind (1888) and Peano (1889) gave axiom systems sufficient to prove most of its theorems. Peano arithmetic can be considered as the most fundamental mathematical theory. And it suffices to prove a great part of the greatest theorems, because the theorems on real numbers can be translated into theorems on natural numbers.

**Peano's axioms**:

*0 is a natural number.**A natural number n always has a unique successor sn which is also a natural number.**A natural number is always different from its successor.**Two different natural numbers have different successors.**0 is not the successor of any natural number.*

For all natural numbers *n* and *p* :

*their sum n + p exists and is unique, likewise for their unique product n.p**n + 0 = 0 + n = n**n + sp = sn + p = s (n + p)**0.n = n.0 = 0**n.sp = n.p + n**sn.p = n.p + p**Any set of natural numbers that contains 0 and always contains the successor of each of its elements contains all natural numbers.*

A model of a theory is defined by defining a set of atomic truths. A formula is atomic when it does not contain logical connectors. The atomic formulas of Peano's arithmetic are the equalities between numerical expressions and the formulas which assert that they are natural numbers. A numerical expression is formed from *0* , *s* , *+* and *.*

For example, *ss0 + ss0 = ssss0* (2 + 2 = 4) is an atomic formula, and it is true. The same goes for *s0 + (ss0.ss00) is a natural number* .

The set of all true numerical equalities can be constructed in many ways. It is a little laborious, because we have to give ourselves enough rules to generate all these elementary truths, without forgetting any, but it is not very difficult, because it is very elementary. Any computer can easily tell the difference between true equalities and others. It is clear that this set of atomic truths exists. It is also clear that all the axioms of Peano are true for this model, except perhaps the last, which poses a difficulty of interpretation.

To make arithmetic we need to reason about sets of natural numbers. We may therefore think of completing the axioms of Peano by axioms on the existence of sets of numbers, but this is not necessary. Arithmetic formulas with one free variable are enough to name sets of numbers. For example the formula *A(n)* defined by *There exists p such that n = 2.p* names the set of all even numbers. Applying the last axiom to all these arithmetic formulas that define sets, we define first-order Peano arithmetic. It is easy to show that all the formulas thus taken as axioms are necessarily true for the model defined above. We can therefore conclude that all the axioms of Peano are true for our model. Since a true theory is necessarily consistent, the consistency of Peano's axioms has been proved at the same time.

### The truth of Zermelo's axioms[edit]

We can define a model of Zermelo's axioms by taking as universe of sets the set *M* defined as follows:

Let *S(x) = x U P(x)* be the union of *x* and the set of all of its parts. *M* is the union of *N* with *S(N)* , *S(S(N))* ... that is to say of all *S ^{n}(N)* for any natural number

*n*.

Let's show that all axioms are true for this universe *M* of sets.

From the definition of *M*, it follows immediately that the axiom of the empty set and the axiom of the infinite are true.

Since *S ^{n}(N)* is included in

*S*,

^{n+1}(N)*S*is included in

^{n}(N)*S*if

^{p}(N)*n*<

*p*.

Let *x* and *y* be two elements of *M*. So we must have *n* and *p* such that *x* is element of *S ^{n}(N)* and

*y*is element

*S*. If

^{p}(N)*n*<=

*p*,

*x*and

*y*are both in

*S*and therefore their pair is in

^{p}(N)*S*. If

^{p+1}(N)*n*>=

*p*, {

*x*,

*y*} is in

*S*. The axiom of the pair is therefore true in

^{n+1}(N)*M*.

Let us show by induction that an element of an element of *S ^{p}(N)* is also element of

*S*. The statement is true for

^{p}(N)*N*=

*S*because any natural number

^{0}(N)*n*= {0 ... n-1}. Since the elements of the elements of

*P(x)*are in

*x*, the statement is true for

*S*if it is true for

^{n+1}(N)*S*, so it is true for any natural number

^{n}(N)*n*.

As a result, the sum of an element of *S ^{n}(N)* is included in

*S*and is therefore a element of

^{n}(N)*S*. The axiom of the sum is therefore true in

^{n+1}(N)*M*.

It also follows that the subsets of an element of *S ^{n}(N)* are all included in

*S*and therefore they are all elements of

^{n}(N)*S*. The set of the subsets of an element of

^{n+1}(N)*S*is therefore included in

^{n}(N)*S*and is therefore an element of

^{n+1}(N)*S*. The power set axiom is thus true in

^{n+2}(N)*M*.

The separation axiom is necessarily true in *M* , since all subsets of the elements of *M* are elements of *M* .

The truth in *M* of the axiom of choice will be shown a little further.

From the truth of its axioms for the set *M* , we can conclude that Zermelo's theory is consistent. There is however a difference between this consistency proof and the previous one, on the consistency of arithmetic. We have not built explicitly the set of atomic truths. We did not name all the elements of the model and we did not say how to generate the set of true atomic formulas for all these elements. We can not do it, because the set *M* is uncountable.

Is it necessary to conclude that this proof of consistency is worthless? No. But it awakens a doubt. Are we sure that the set we build exists? To speak of sets of which one can not even name all the elements, does not this take the risk of absurdity?

We know that uncountable sets exist because we can think of them. Nothing forbids thinking about the set of all sets of natural numbers. We can even see it in imagination:

The infinite binary tree is constructed from a root, which separates into two branches, one on the left, the other on the right, which in turn separate into two branches, and so on, infinitely. A path that starts from the root and never stops defines a set of natural numbers. If at step *n* the path takes the branch to the left then *n* is part of the set, but not if the path takes the branch to the right. The set of all the paths of the infinite binary tree is thus a representation of the set of all sets of natural numbers. Now one can see in imagination the infinite binary tree by watching it unfold on the horizon. We can see all its paths at a glance, and they are uncountable.

There are uncountably many points on a line, even if it is of finite length. As we can see lines and surfaces, we can see the uncountable.

For the proof of coherence of Zermelo's axioms to be false, it would be necessary for us to be wrong to conceive uncountable sets, that without our knowledge the reasonings on the uncountable lead us to absurdity. But why fear that we may be so fooled by our own reason? It seems that we make no mistake when we reason about all the subsets of a set, even if it is infinite.

The consistency proof of Zermelo's axioms can be formalized in ZFC, because the replacement axiom makes it possible to define *M* in ZFC. But we do not need an axiom so strong to formalize this proof. It suffices to add to the axioms of Zermelo a widening of the axiom of infinity: *There exists a set which contains N and which always contains x U P(x) when it contains x*. We thus obtain a more powerful theory which makes it possible to prove the consistency of the previous one. If we want to prove the consistency of this new theory, it suffices to give ourselves a new axiom of infinity. *There exists a set which contains M and which always contains x U P(x) when it contains x*. We can thus define a series of ever more powerful theories such that the consistency of one can always be proved by the next.

The consistency of ZFC can also be proved by showing an uncountable model, but it is more difficult to build, because the replacement axiom makes it possible to construct much larger infinite sets.

It is in principle possible, and desirable, to give another proof of the consistency of set-theoretical axioms, by explicitly constructing a countable model, by explicitly defining the set of all its atomic truths. We know that this is possible in principle because Löwenheim (1915) and Skolem have proved that any consistent theory has a countable model, but so far nobody to my knowledge has managed to find one for the theory of Zermelo, let alone for ZFC.

### The axiom of choice[edit]

The most direct way to prove that a set exists is to define it, which amounts to constructing it from already defined sets. The empty set is enough to start the construction of all the sets we define. But we can also give indirect evidence of existence. We prove that a set exists and has certain properties without defining it explicitly, without constructing it, without precisely saying which set we are talking about. Reasoning by reduction to absurdity makes it possible to give these indirect proofs of existence. We begin by assuming that no set satisfies the requested properties and we deduce a contradiction. We are then entitled to conclude that there is at least one set that has the requested properties, but we did not bother to build it.

These indirect proofs of existence allow us to prove that one can always make a finite number of arbitrary choices to prove the existence of a set. More precisely, if one has a finite list of non-empty and disjoint sets, one can prove that there exists at least one set which contains one element and only one of each set of the list. We did not build this new ensemble, we did not choose its elements, we simply proved that it exists. The logical principles and the axioms of construction of finite sets are enough to prove its existence. But if the list of non-empty and disjoint sets is infinite, these principles and axioms can not prove the existence of a set that contains one element and only one of each set of the list. The axiom of choice states precisely that such a set exists (Zermelo 1904):

**The axiom of the choice**: *If E is a set of non-empty and disjoint sets then there exists a set which contains one element and only one of each element of E.*

Let us show that the axiom of choice is true in the universe *M* of sets. If *E* is a set of non-empty and disjoint sets and if it is in *S ^{n}(N)* then the set that chooses an element of each element of

*E*is included in

*S*, since the elements of elements of

^{n}(N)*E*are in

*S*, and so it is an element of

^{n}(N)*S*, hence in

^{n+1}(N)*M*. So the axiom of choice is true in

*M*.

### Are consistency proofs caught in a vicious circle?[edit]

The consistency proofs which exhibit a model are formalized in a theory *T _{+}* stronger than the theory

*T*whose consistency it proves, because they define the set of truths of

_{0}*T*and this set can not be defined in

_{0}*T*. If a theory is absurd, any theory obtained by adding axioms is also absurd. An absurd theory can prove anything, an affirmation and its opposite, including that the absurd is not absurd. Our method of proving the consistency of a theory does not therefore make it possible to differentiate between consistent and inconsistent theories, since a theory "stronger" than an inconsistent theory could prove that it is consistent. That is why it is sometimes believed that such proofs prove nothing, but it is a mistake.

_{0}One does not reason on any theory *T _{0}* about which one knows nothing.

*T*is Peano arithmetic or Zermelo's theory, or other theories that we choose to found our mathematical knowledge. We know in advance that these theories allow us to prove truths, because without them we would not have mathematical knowledge, and it seems quite clear that we have some. If we are very pessimistic, we may fear that our formal theories contain wording mistakes that could lead to contradictions and that we do not know it. But there is no doubt that these theories often reveal the truth, unless we give up mathematical knowledge. When we prove that formal theories are true and consistent, we confirm what we already intuitively believe. And one proves to oneself that our natural faculties of reasoning are sufficient to reason correctly on reason. So it is not a vicious circle. It is the virtuous circle of reason that understands itself.

_{0}### The independence of the continuum hypothesis[edit]

The set *P(N)* of the parts of *N*, ie the set of all sets of natural numbers, is strictly larger than N. But is it the smallest set strictly larger than *N*? Cantor conjectured that it is, but he failed to prove it. This conjecture, that the set of sets of natural numbers is the smallest set strictly larger than the set of natural numbers, is called the continuum hypothesis. It is part of the list of major problems that Hilbert proposed in 1900 to mathematicians of the XX^{th} century.

Cohen (1963) has shown that this hypothesis is independent of the axioms of ZFC, usually used to found mathematics. Neither it nor its negation can be proved from these axioms.

New axioms can be sought to prove the continuum hypothesis. The axiom of constructibility is a candidate, because it allows to prove this conjecture. But it is not usually retained, because it does not have the character of intuitive obviousness that one is entitled to expect from an axiom. It is a little complicated to formulate and its meaning is anything but clear, because it combines a constructivist approach and an anticonstructivist approach. It requires that sets be constructed step by step, as constructivists demand, but it allows an arbitrarily infinite number of steps, which is usually prohibited by constructivists.

It is not known whether the continuum hypothesis can be proved, or refuted, from new axioms whose truth would be obvious.

The independence of the continuum hypothesis is sometimes called undecidability, but it is necessary to proscribe this use, because it incites to confuse the independence of a formula with respect to axioms, which is a relative independence, with the undecidability of problems and sets, explained below, which is an absolute undecidability.

### Theories, software and recursively enumerable sets[edit]

There is a very close correspondence between mathematical theories and software, computer programs. When we explicitly define a theory, we can always write a program that proves all its theorems. It suffices for it to print in an orderly fashion all the axioms and all the immediate logical consequences of the formulas it has previously printed. This method of searching for proofs has only a theoretical interest. In practice, the computer would print a deluge of formulas without interest before finding a theorem that deserves to be written. And even with the most powerful computers, it would usually be necessary to wait a inordinate time to find proofs or refutations of interesting conjectures.

We can give several definitions, all equivalent, of recursively enumerable sets. The following conditions, chosen from many others, all three define the recursive enumerability of a set *E*:

- All the atomic truths of belonging to
*E*are theorems, provable statements, of an explicit theory. - There is a software that always answers yes when we present the name of an element of
*E*, and that does not answer, or answers no, when we present the name of a being which is not in*E*. - There is a finite number of initial expressions and a finite number of production rules (Smullyan 1961) sufficient to generate all the atomic truths of belonging to
*E*.

The set of theorems of an explicit theory is always a recursively enumerable set. If we present a theorem to a proof-finder software, it will always come to recognize that it is a theorem, because it examines all the possible proofs, however long they may be. If we present a non-theorem, it will not answer because it will search for eternity for a proof that does not exist.

### Undecidable sets and problems[edit]

Recursively enumerable sets are always countable. Since all their elements can be named, we can always define their complement in the set of all named beings, as soon as we have fixed a system of designation.

A set is decidable when it and its complement are recursively enumerable, otherwise it is undecidable.

A problem is undecidable when the set of all its solutions is undecidable.

An example of an undecidable set is the set of all truths in Peano's arithmetic. The first incompleteness theorem of Gödel proves that this set of truths is not recursively enumerable and therefore not decidable. If it were recursively enumerable, one could find a complete list of axioms sufficient to prove all the arithmetic truths, but Gödel proved that such a list can not exist.

To say that a problem is undecidable does not mean that we are incapable of solving it, nor that it has solutions that we will never find, it only means that there is no explicitly defined theory that brings all the solutions of the problem. The theories we define can only solve an undecidable problem partially, never completely. With the undecidable problems, we will never have finished, it is the galley assured for eternity. But we can still look for and find solutions, and no solution is a priori inaccessible. It suffices to be creative enough to invent a theory that enables us to find it.

The incompleteness of mathematical principles comes from the existence of undecidable sets. If all sets of truths were recursively enumerable, we could give lists of axioms sufficient to find them all. But undecidability shows that sets of truths are not always recursively enumerable.

### Universal machines and theories[edit]

A programmable computer is a universal machine, in the sense that it is capable of executing every conceivable program. If the program is written once and for all, in read-only memory (ROM), the computer is only a particular machine.

A universal machine can do everything that other machines, universal or particular, can do. Just give it the program. All universal machines are therefore essentially equivalent. They can all do exactly the same things.

In practice, computers are limited by their computing power and their storage space. But the computing power is only a problem of speed and the storage space can in principle be enlarged without limits. Just imagine a computer mounted on a robot that moves in a database that we can always enlarge.

A universal theory is a theory that can prove all that other theories can prove. For example, logic can be formalized as a universal theory. It suffices to give enough axioms so that all the true formulas of the form *C is a logical consequence of P* be provable, for all well-formed formulas *C* and *P*. As any theorem of any theory is always proved from a finite conjunction of axioms, such a formalization of logic is a universal theory.

By proving that logical relationships between formulas can be represented by arithmetic relations between numbers that represent formulas, Gödel proved that arithmetic is also a universal theory, even if it is limited to first-order Peano's arithmetic.

The existence of universal theories poses a paradox. Like any explicit theory, a universal theory *U* can not prove all truths. These truths that they can not prove are in principle provable in a richer theory *U+* , which has more axioms. But since the initial theory *U* is universal, it can prove all that *U+* can prove, which seems contrary to the assumption that *U+* is richer than *U* . In particular, the consistency proof of first-order arithmetic can be formalized in first-order arithmetic, since it can be formalized in an explicit theory and since first-order arithmetic is a universal theory. But Gödel's second incompleteness theorem seems to forbid such a possibility.

The explanation of this paradox is a little subtle. The *U+* theory can be formalized in *U*, but *U* "does not know" that *U+* is an enrichment of *U*, ie *U* can prove that all theorems of *U+* are theorems of *U+* but it can not prove that the theorems of *U+* are worth for itself. It can therefore formalize the proof of its own coherence without saying it explicitly, without affirming that it is about its own coherence.

### The undecidability of the halting problem[edit]

**The halting problem**: *Given a computer program and an initial state of memory, will the computer halt and provide an answer, or will it work indefinitely without ever giving an answer?*

It has been assumed that the computer is not limited in storage space and that it is not influenced externally as it calculates.

Turing proved that the halting problem is undecidable (1936).

The set of pairs (program, initial state) of a machine that halts is recursively enumerable, because a computer can simulate all the others. If it is presented with a program and an initial state, it has only to run the program on the initial state and wait for it to halt. If it halts, the computer responds that it halts. If it does not halt, the computer does not halt and does not respond.

On the other hand, the set of pairs (program, initial state) of a machine that does not halt is not recursively enumerable. It is proved by reduction to absurdity. If it were recursively enumerable, there would be a program *P* such that for any pair (program *p* , initial state *i* ), the machine halts and responds that *p* does not halt from *i* whenever it is true. A program can be written in memory and is therefore also a possible initial state. From *P* we could then write a program *P'* such that for any program *p* , the machine halts and responds that *p* does not halt from the initial state *p* whenever it is true. And we could give *P'* as the initial state of memory of the machine running with *P'* . Is this machine going to halt? By construction, it halts if and only if it does not halt. It is an absurdity. So *P'* can not exist, and therefore *P* neither. Hence the set of pairs (program, initial state) of a machine that does not halt is not recursively enumerable. The halting problem is therefore undecidable.

### The undecidability of the set of all logical laws[edit]

The set of logical laws is a universal theory, because a formula is a theorem of a theory if and only if the affirmation that it results from a finite conjunction of its axioms is a logical law. By knowing all the logical laws, we therefore know all the theorems of all theories.

When a theory is defined with a finite number of axioms, a formula is not a theorem if and only if the statement that it results from the conjunction of axioms is not a logical law.

Fundamental theories (Peano's arithmetic, Zermelo's theory ...) are generally defined with axiom schemas. The axiom of separation, for example, is a schema that makes it possible to formulate as many axioms as there are sensible formulas, in infinite number. The same goes for the principle of mathematical induction when it is formulated in first-order arithmetic. But these theories which have an infinite number of axioms are always equivalent to theories which finitely many axioms. By introducing classes, which are like sets, but too big to really be considered as sets, in the manner of Gödel and Bernays, Zermelo's theory has only a finite number of axioms.

Even when theories have an infinite number of axioms, one always demands that there be a finite number of principles or rules sufficient to mechanically produce all axioms, otherwise the theory is not explicit. This is why explicit theories are always equivalent to theories with finitely many axioms.

If the set of logical laws were decidable, all recursively enumerable sets would be decidable. All the truths of belonging to a recursively enumerable set *E* are theorems of theory with finitely many axioms. The complement of *E* is thus the set of all *x* such that *If the axioms then x is in E* is not a logical law. If the set of logical laws were decidable, this set would be recursively enumerable, and thus *E* would be decidable.

The proof of the undecidability of the halting problem shows that there exists at least one recursively enumerable set which is not decidable. The set of logical laws is therefore not decidable.

The proof of the first incompleteness theorem makes it possible to prove more directly the undecidability of the set of logical laws. If the set of logical laws were decidable, the theory *T* could have enough axioms to prove all the true formulas of the form *f is not a logical consequence of g* . It could therefore prove all the true formulas of the form *f is not provable in T* . As *Gödel(Gödel(f))* is not provable in *T* , *T* could prove it. But *Gödel(Gödel(f))* says of itself that it is not provable in *T* . *T* could then prove that *Gödel(Gödel(f))* is not provable in *T* , which is absurd. So the set of logical laws is undecidable.

The undecidability of the set of logical laws, or of the *Entscheidungsproblem* (Hilbert 1928) was proved independently and with different methods by Church and Turing in 1936.

### Universality is the cause of undecidability[edit]

The problems of which we know how to prove their undecidability are always complete problems, in the sense that if we had a method to find all their solutions, we would at the same time have a method to solve all problems. From this point of view, the incompleteness of mathematical principles is ultimately not very surprising. We do not have to see it as a sign of incapacity, because it is a consequence of the universality of thought. We can reason about all problems, about all theories. We can state universal laws that apply to anything conceivable and thinkable. But we do not have enough methods or principles to solve all the problems. Our methods, even the most powerful ones, can not solve everything. We are only creatures. To know how to find all the solutions of an undecidable problem would be a kind of omniscience, because one would at the same time know how to find all the solutions of all problems.

A finite list of principles is enough to generate all the logical laws. This is Gödel's theorem of the completeness of logic. The set of logical laws is therefore recursively enumerable. But since the set of logical laws is undecidable, the set of formulas which are not logical laws is not recursively enumerable. The logical laws are true in all possible worlds. Negations of logical laws are absurdities, false in all possible worlds. A formula that is neither a logical law, nor the negation of a logical law, is true in some worlds and false in others, it describes possible worlds, worlds that one can imagine. Every finite system of axioms which describes a possible world is such that the negation of its conjunction is not a logical law. The set of formulas which are neither logical laws nor absurdities is the set of all axioms and finite systems of axioms which are about at least one world that can be imagined. To say that it is not recursively enumerable means that we can not give a finite list of principles sufficient to produce all these systems of axioms. Imagination overflows all frames. Whatever the finite list of principles that one gives oneself, there are always possible worlds that it does not allow to study. Mathematical incompleteness is therefore a consequence of the universality and power of imagination.