Cours de logique mathématique

publicité
Cours de logique mathématique
Martin Hils
15 janvier 2013
Table des matières
1 Compter à l’infini
1.1 Le Théorème de Cantor et le Théorème de
1.2 Notions d’ordre . . . . . . . . . . . . . . .
1.3 Opérations sur les ordres . . . . . . . . . .
1.4 Ordinaux . . . . . . . . . . . . . . . . . .
1.5 Arithmétique ordinale . . . . . . . . . . .
1.6 Axiome du choix . . . . . . . . . . . . . .
1.7 Cardinaux . . . . . . . . . . . . . . . . . .
1.8 Opérations sur les cardinaux . . . . . . .
1.9 Cofinalité . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
4
4
5
7
10
12
13
14
16
2 Calcul des prédicats
2.1 Langages et structures . . . . . . . . . . . . . . . . .
2.2 Termes et formules . . . . . . . . . . . . . . . . . . .
2.3 Sémantique . . . . . . . . . . . . . . . . . . . . . . .
2.4 Substitution . . . . . . . . . . . . . . . . . . . . . . .
2.5 Formules universellement valides . . . . . . . . . . .
2.6 Démonstrations formelles et théorème de complétude
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
de Gödel
.
.
.
.
.
.
19
19
20
23
24
26
29
3 Premiers pas en théorie des modèles
3.1 Quelques théorèmes fondamentaux .
3.2 La méthode des diagrammes . . . . .
3.3 Expansions par définitions . . . . . .
3.4 Élimination des quanteurs . . . . . .
3.5 Corps algébriquement clos . . . . . .
3.6 Le théorème d’Ax . . . . . . . . . . .
Cantor-Bernstein .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
36
36
39
40
42
45
47
4 Récursivité
4.1 Fonctions primitives récursives . . . . . . .
4.2 La fonction d’Ackermann . . . . . . . . . .
4.3 Fonctions partielles récursives . . . . . . . .
4.4 Fonctions calculables par machine de Turing
4.5 Fonctions universelles . . . . . . . . . . . .
4.6 Ensembles récursivement énumérables . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
49
49
52
54
54
61
62
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.7
Élimination de la récurrence . . . . . . . . . . . . . . . . . . . . .
5 Modèles de l’arithmétique et théorèmes
5.1 Codage des formules et des preuves . . .
5.2 Théories décidables . . . . . . . . . . . .
5.3 Arithmétique de Peano . . . . . . . . . .
5.4 Les théorèmes de Tarski et de Church .
5.5 Les théorèmes d’incomplétude de Gödel
de
. .
. .
. .
. .
. .
limitation
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
64
67
67
69
70
75
76
6 Théorie axiomatique des ensembles
79
6.1 Les axiomes de Zermelo-Fraenkel . . . . . . . . . . . . . . . . . . 79
6.2 Axiome du choix . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.3 La hiérarchie de von Neumann et l’axiome de fondation . . . . . 86
6.4 Quelques résultats d’incomplétude, d’indépendance et de consistance relative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2
Chapitre 1
Compter à l’infini
Dans ce premier chapitre, les notions d’ensemble et d’entier sont prises dans
leur sens naı̈f. La théorie des ordinaux et cardinaux, due à Cantor (fin du 19e
siècle) sera développée du point de vue naı̈f.
Voici les deux principes de la Théorie des ensembles naı̈ve :
– Extensionalité : Deux ensembles contenant les mêmes éléments sont égaux.
– Compréhension (globale) : Pour toute propriété (raisonnable) P , la collection {a | a vérifie P } est donnée par un ensemble.
C’est le second principe qui est problématique.
Antinomie de Russell. Soit a = {x | x 6∈ x}. Alors a ∈ a ssi a 6∈ a.
Grâce à cette antinomie montrant que la Théorie des ensembles naı̈ve est
contradictoire, des fondements rigoureuses de la Théorie des ensembles (et par
conséquent de la mathématique en générale) étaient devenues nécessaires.
Dans le dernier chapitre de ce cours nous traitons le système d’axiomes
ZFC (axiomes de Zermelo-Fraenkel plus l’axiome du choix ) ; la plupart de ces
axiomes consisteront en une forme restreinte du principe de compréhension.
Nous y verrons que les notions et résultats de ce premier chapitre restent valides
en Théorie axiomatique des ensembles, en n’utilisant que le système d’axiomes
ZFC.
Notation. Si A, B sont des ensembles, A∪B, A∩B et A\B désignent la réunion,
l’intersection et la différence d’ensembles, respectivement.
Si (Ai )i∈I est une
S
famille d’ensembles, on note
sa
réunion
par
A
=
{x
|
x
∈ Ai pour un i ∈
i
i∈I
T
I}, et son intersection par i∈I Ai .
Nous écrivons A ⊆ B si A est une partie de B, et A ⊂ B si A est une partie
propre de B. L’ensemble des parties de A est noté P(A).
3
1.1
Le Théorème de Cantor et le Théorème de
Cantor-Bernstein
L’existence d’une fonction injective / surjective / bijective entre deux ensembles sera utilisée comme moyen pour comparer leur « taille ». Nous commençons avec deux premiers résultats qui vont dans ce sens.
Théorème 1.1.1 (Cantor). Soit A un ensemble. Il n’existe pas de surjection
de A sur P(A).
Démonstration. Soit f : A → P(A) une appliction. On considère l’ensemble
B = {x ∈ A | x 6∈ f (x)}.
Pour tout x ∈ A avec f (x) = B, on a x ∈ B si et seulement si x 6∈ B. Donc B
n’est pas dans l’image de f .
Théorème 1.1.2 (Cantor-Bernstein). Soient A et B deux ensembles, f : A →
B et g : B → A deux injections. Alors il existe une bijection h : B → A.
Démonstration. On peut supposer que A est une partie de B et que l’application
f est donnée par l’inclusion. (Il suffit de remplacer g par f ◦ g et A par f (A).)
Soit C = {g n (x) | n ∈ N, x ∈ B \ A}. On pose h(c) = g(c) pour c ∈ C et
h(x) = x pour x ∈ B \ C.
Définition. Soient X et Y deux ensembles. On dit que X et Y sont équipotents,
noté X ∼ Y , s’il existe une bijection entre X et Y ; on dit que X est subpotent
à Y , noté X 4 Y , s’il existe une injection de X dans Y .
Dans cette terminologie, le théorème de Cantor-Bernstein dit que si X 4 Y
et Y 4 X, alors X ∼ Y .
Exercice 1.1.3. Montrer qu’il existe une bijection entre R et P(N).
1.2
Notions d’ordre
Définition. Un ordre partiel < sur un ensemble X est une relation binaire (c.à-d. donnée par une partie de X × X) qui est transitive (si x < y et y < z alors
x < z) et antiréflexive (x 6< x). Si de plus < est une relation connexe (pour tout
x, y ∈ X on a x < y, x = y ou y < x) on dit que < est un ordre total.
On note x ≤ y pour x < y ou x = y, puis x > y pour y < x, et x ≥ y pour
y ≤ x.
Si Y ⊆ X, y ∈ Y est un plus petit élément si pour tout y 0 dans Y , y ≤ y 0 .
C’est un élément minimal si pour tout y 0 dans Y , y 0 6< y. On définit de même un
plus grand élément et un élément maximal. Un minorant de Y est un élément
de X qui est ≤ à tous les éléments de Y . Une borne inférieure de Y est un plus
4
grand élément parmi les minorants. On définit de même la notion de majorant
et de borne supérieure.
Noter que, dans un order partiel, a ≤ b et b ≤ a entraı̂ne a = b. Un plus petit
(grand) élément est donc nécessairement unique, ce qui n’est pas le cas pour un
élément minimal (maximal) en général.
Remarque 1.2.1. Si < est un ordre partiel alors ≤ est une relation réflexive
(x ≤ x pour tout x ∈ X), transitive et faiblement antisymétrique (x ≤ y et
y ≤ x entraı̂ne x = y).
Réciproquement, si ≤ est une relation réflexive, transitive et faiblement antisymétrique, la relation < définie par x < y :⇔ (x ≤ y et x 6= y) est un ordre
partiel.
Démonstration. Exercice.
Définition.
– Soit < un ordre partiel sur X. On dit que < est bien-fondé
si toute partie non vide de X contient un élément minimal.
– Un bon ordre est un ordre total bien-fondé.
Exemples 1.2.2.
1. L’ordre usuel < sur N est un bon ordre, tandis qu’il
définit un ordre total non bien-fondé sur Z.
2. Pour tout ensemble X, la relation ⊂ est un ordre partiel sur P(X) qui est
bien-fondé si et seulement si X est fini1 .
3. La restriction d’un ordre partiel (total, bien-fondé) sur X à une partie
Y ⊆ X est un ordre partiel (total, bien-fondé) sur Y .
Remarque 1.2.3. Soit < un ordre partiel sur X.
1. L’application a 7→ X≤a = {x ∈ X | x ≤ a} identifie (X, <) à une partie
Y de P(X) avec l’ordre partiel sur Y induit par ⊂.
2. < est bien-fondé si et seulement s’il n’existe pas de suite infinie strictement
décroissante dans X.
3. < est un bon ordre si et seulement si toute partie non vide de X contient
un plus petit élément.
Démonstration. Les preuves de (1) et (3) sont laissées en exercice.
Montrons (2). Si (X, <) n’est pas bien-fondé, il existe une partie ∅ =
6 Y ⊆X
sans élément minimal. Par induction on peut donc choisir des éléments yn ∈
Y tels que yn+1 < yn . Réciproquement, si (yn )n∈N est une suite strictement
décroissante, il est clair que Y = {yn | n ∈ N} ne contient pas d’élément
minimal.
1.3
Opérations sur les ordres
Définition. Soient X et Y deux ensembles partiellement ordonnés.
1 Par
un ensemble fini nous entendons un ensemble dans lequel on ne peut pas injecter N.
5
– La somme ordonnée de X et Y , notée X +Y , est l’ensemble ordonné formé
des paires (x, 0) avec x ∈ X et (y, 1) avec y ∈ Y et où l’ordre est défini
ainsi : (a, i) < (b, j) si i < j ou si i = j et a < b.
– Le produit lexicographique de X et Y est obtenu en munissant le produit
cartésien X × Y de l’ordre suivant : (x, y) < (x0 , y 0 ) si y < y 0 ou si y = y 0
et x < x0 . On le note également X × Y .
Lemme 1.3.1.
1. La somme ordonnée d’ordres totaux (resp. bien-fondés)
est un ordre total (resp. bien-fondé).
2. Le produit lexicographique d’ordres totaux (resp. bien-fondés) est un ordre
total (resp. bien-fondé).
3. Soient X, Y et Z des ensembles partiellement ordonnés. On a les isomorphismes suivants d’ensembles ordonnés.
(a) (X + Y ) + Z ∼
= X + (Y + Z)
(b) (X × Y ) × Z ∼
= X × (Y × Z)
∼ (X × Y ) + (X × Z)
(c) X × (Y + Z) =
Démonstration. Le seul point non trivial est de montrer que si deux ordres sont
bien-fondés, alors leur produit lexicographique l’est aussi. Soient donc X et Y
des ensembles ordonnés bien-fondés. Soit Z un sous-ensemble non vide de X ×Y .
On dénote π : X × Y → Y la projection sur la deuxième coordonnée. Comme
l’ordre sur Y est bien-fondé, il existe un élément minimal y0 dans π(Z) ⊆ Y .
Comme l’ordre sur X est bien-fondé, il existe x0 minimal dans Zy0 = {x ∈ X |
(x, y0 ) ∈ Z}. Il est clair que (x0 , y0 ) est minimal dans Z.
Définition. Soient X et Y des ensembles totalement ordonnés. On suppose
que X possède un plus petit élément 0. On définit l’exponentiation, notée X (Y ) ,
comme suit. Comme ensemble, il s’agit des suites à support fini, c’est-à-dire le
sous-ensemble de X Y formé des applications f : Y → X avec supp(f ) = {y ∈
Y | f (y) 6= 0} fini. On pose f < g s’il existe y ∈ Y tel que f (y) < g(y) et
f (y 0 ) = g(y 0 ) pour tout y 0 > y.
Proposition 1.3.2.
1. La relation < définit un ordre total sur X (Y ) qui est
bien-fondé si les ordres sur X et Y le sont.
(Z)
2. On a les isomorphismes X (Y +Z) ∼
.
= X (Y ) × X (Z) et X (Y ×Z) ∼
= X (Y )
Démonstration. L’énoncé sur les isomorphismes est une conséquence directe des
définitions. Il est également facile à voir qu’il s’agit d’un ordre total.
Supposons que les ordres sur X et Y soient bien-fondés (ce sont donc des
bons ordres). Soit Z une partie non vide de X (Y ) . Il faut montrer que Z contient
un plus petit élément. Si la fonction constante à 0 est dans Z, il n’y a rien
à montrer. On peut donc supposer que supp(f ) 6= ∅ pour tout f ∈ Z. Soit
Y1 = {s1 (f ) | f ∈ Z}, où s1 (f ) = max(supp(f )). Soit y1 le plus petit élément
de Y1 , et Z10 = {f ∈ Z | s1 (f ) = y1 }. L’ensemble Z10 est un ségment initial de
Z, c’est-à-dire f < g pour tout f ∈ Z10 et g ∈ Z \ Z10 .
6
Soit x1 le plus petit élément de {f (y1 ) | f ∈ Z10 }. On pose
Z1 = {f ∈ Z10 | f (y1 ) = x1 }.
L’ensemble Z1 est un ségment initial de Z10 . Si Z1 contient la fonction qui est
constante 0 en dehors de y1 , on a terminé. Sinon, supp(f ) \ {y1 } =
6 ∅ pour tout
f ∈ Z1 . Soit Y2 = {s2 (f ) | f ∈ Z1 }, où s2 (f ) = max(supp(f ) \ {y1 }). Soit y2 le
plus petit élément de Y2 , puis x2 le plus petit élément de {f (y2 ) | f ∈ Z1 et y2 =
s2 (f )}. On pose Z2 = {f ∈ Z1 | s2 (f ) = y2 et f (y2 ) = x2 }. C’est un ségment
initial de Z1 . Si Z2 contient la fonction qui est constante 0 en dehors de {y1 , y2 },
on a terminé, sinon on continue de la même façon, construisant Y3 , y3 , Z30 , x3 , Z3
et ainsi de suite. Comme la suite des yi est strictement décroissante dans Y , ce
procédé s’arrête après un nombre fini d’étapes.
1.4
Ordinaux
Un ensemble X est transitif si pour tout x ∈ X et y ∈ x on a y ∈ X. (C’est
équivalent à x ∈ X ⇒ x ⊆ X.
Définition. Un ensemble X est un ordinal s’il est transitif et si ∈ X×X définit
un bon ordre sur X.
Proposition 1.4.1. Soient α et β des ordinaux.
1. ∅ est un ordinal.
2. Si α 6= ∅, alors ∅ ∈ α.
3. α 6∈ α
4. Si x ∈ α, alors x = S<x := {y ∈ α | y < x}.
5. Si x ∈ α, alors x est un ordinal.
6. β ⊆ α si et seulement si β ∈ α ou β = α.
7. x := α ∪ {α} est un ordinal. On le note α+ .
Démonstration. (1) est clair. Quant à (2), on considère x ∈ α minimal. S’il
existait y ∈ x, alors y ∈ α par transitivité de α, et x ne serait donc pas minimal.
Dans (3), par antiréflexivité, on a x 6∈ x pour tout x ∈ α. Donc α ∈ α entraı̂ne
α 6∈ α. (4) suit du fait que < est donné par ∈. Pour montrer (5), notons que ∈
se restreint en un bon ordre sur x, car x ⊆ α. De plus, x = S<x est un ensemble
transitif, car z ∈ y ∈ x ⇒ z < x ⇒ z ∈ S<x .
Pour montrer le sens direct dans (6), supposons que β ⊂ α. Soit x minimal
dans α \ β. Clairement β ⊇ S<x par minimalité. Réciproquement, si y ∈ β, alors
y ∈ x car sinon x ∈ y et x ∈ β. Donc β = S<x = x ∈ α. L’autre sens dans (6)
est trivial, et (7) se vérifie immédiatement.
T
Proposition 1.4.2. Soit X un ensemble non vide d’ordinaux. Alors α∈X α
est un plus petit élément de X.
7
Démonstration. L’intersection d’ensembles transitifs est transitive, et l’ordre
T induit sur un sous-ensemble d’un bon ordre est un bon ordre. Donc β = α∈X α
est un ordinal. On a β ⊆ α pour tout α ∈ X. Si β 6∈ X, alors β ∈ α pour tout
α ∈ X, par Proposition 1.4.1(6). D’où β ∈ β, absurde.
Théorème 1.4.3. Soient α et β deux ordinaux. Une et une seule des trois
propriétés suivantes est vérifiée :
(1) α ∈ β , (2) α = β , (3) β ∈ α.
Démonstration. On pose X = {α, β}, et on applique Proposition 1.4.2. Si α∩β =
α, alors α ⊆ β, d’où α = β ou α ∈ β par Proposition 1.4.1(6). De même, si
α ∩ β = β, alors α = β ou β ∈ α. L’exclusivité de ces propriétés est claire.
Notation. Dans la suite, nous écrivons α < β pour α ∈ β, et α ≤ β pour
α ⊆ β, quand α et β sont des ordinaux.
S
Proposition 1.4.4. Soit X un ensemble d’ordinaux. Alors b = α∈X α est
un ordinal. De plus, si γ < b, il existe α ∈ X tel que γ ∈ α. On écrira aussi
b = supα∈X α.
Démonstration. Comme b est réunion d’ensembles transitifs, il est transitif. De
plus, b ne contient que des ordinaux.
Par le Théorème 1.4.3, ∈ induit un ordre
T
total sur b. Si ∅ =
6 Z ⊆ b, alors α∈Z α est un plus petit élément de Z par 1.4.2.
Cela montre que cet ordre est bien-fondé.
Un ordinal de la forme α+ est appelé ordinal successeur. Il est clair que α+
est le plus petit ordinal > α, autrement dit le successeur de α.
Définition. Un ordinal limite est un ordinal non vide qui n’est pas successeur.
Proposition 1.4.5. Pour un ordinal λ 6= ∅, sont équivalents :
1. λ est limite ;
S
2. λ = α<λ α.
S
Démonstration. (1)⇒(2). Soit β = α<λ α et λ limite. Il est clair que β ⊆ λ.
Réciproquement, supposons α < λ. Donc α+ ≤ λ et alors α+ < λ car λ est
limite. On conclut, puisque α S
∈ α+ ⊆ β. S
+
(2)⇒(1). Si λ = γ , alors α<λ α = α≤γ α = γ < λ.
Exemples 1.4.6.
1. On peut retrouver les entiers comme ordinaux de la
façon suivante. On pose 0 := ∅, puis inductivement n + 1 := n+ pour
n ∈ N. On a par exemple 1 = {∅}, 2 = {0, 1} = {∅, {∅}}, 3 = {0, 1, 2} =
{∅, {∅}, {∅, {∅}}}.
On montre par induction que n est un ordinal pour tout entier n. Dans la
suite, on identifiera souvent n et n.
S
2. On note ω := n∈N n. C’est un ordinal par 1.4.4.
Définition. On dit qu’un ordinal est fini si ni lui-même ni aucun de ses éléments
n’est limite.
8
Proposition 1.4.7.
1. ω est l’ensemble des ordinaux finis.
2. ω est le plus petit ordinal limite.
Démonstration. On montre d’abord, par induction sur n ∈ N, que tous les
éléments de ω sont des ordinaux finis. De plus, α < ω entraı̂ne α+ < ω. Cela
montre (2). Si α 6∈ ω, alors ω ≤ α, donc ou bien α = ω ou bien ω ∈ α. Dans les
deux cas, α n’est pas fini. Cela montre (1).
Théorème 1.4.8 (Classification des bons ordres par les ordinaux).
Tout ensemble bien-ordonné X est isomorphe, comme ensemble ordonné, à un
ordinal. De plus, l’ordinal et l’isomorphisme en question sont uniques.
Pour démontrer le théorème, nous avons besoin d’un lemme.
Lemme 1.4.9. Soit f : α → α0 une application strictement croissante entre
deux ordinaux. Alors f (β) ≥ β pour tout β ∈ α. En particulier, on a α ≤ α0 , et
si f est un isomorphisme, alors α = α0 et f est égale à l’identité.
Démonstration. S’il existe β ∈ α avec f (β) < β, on choisit β0 minimal avec
cette propriété. Comme f est strictement croissante, on a f (f (β0 )) < f (β0 ), ce
qui contredit la minimalité.
Démonstration du Théorème 1.4.8. L’unicité est une conséquence du lemme.
Quant à l’existence, notons d’abord que pour tout x ∈ X, tout isomorphisme
entre S<x et un ordinal α s’étend en un isomorphisme entre S≤x = S<x ∪ {x}
et α+ . Soit
Y = {y ∈ X | il existe f : S≤y ∼
= α pour un ordinal α}.
Par unicité, pour y ∈ Y , l’ordinal α = α(y) et l’isomorphisme f = fy sont
uniques. Nous allons montrer que Y = X. Sinon, il existe x ∈ X minimal dans
X \ Y . Pour y < x on a fy : S≤y ∼
= α(y). De plus, il s’agit d’un système
cohérent d’isomorphismes, c’est-à-dire pour tout y 0 < y < x on a fy S≤y0 = fy0 .
(Remarquons pour cela qu’un segment initial d’un ordinal est un ordinal.) On
pose
α = sup α(y) et f : S<x → α, f (y) := fy (y).
y<x
Il est clair que f est bien définie et induit un isomorphisme d’ensembles ordonnés
entre S<x et α. Par ce qui était dit au début, f s’étend en un ismorphisme entre
S≤x et α+ . Contradiction. On a donc bien Y = X. Pour conclure, il suffit
d’employer un argument du même type, en posant α(X) := supx∈X α(x) et
f :X∼
= α(X), x 7→ fx (x).
Remarque 1.4.10 (Induction transfinie).
Soit P une propriété qui porte sur les ordinaux. On suppose :
– ∅ vérifie P ;
– pour tout ordinal α : si α vérifie P , alors α+ vérifie P ;
– pour tout ordinal limite λ : si tout α < λ vérifie P , alors λ vérifie P .
Alors tout ordinal vérifie P .
9
1.5
Arithmétique ordinale
Si α et β sont des ordinaux, on note α + β l’unique ordinal isomorphe à la
somme ordonnée de α et β (qui existe par le Théorème 1.4.8). On définit de
même αβ comme l’unique ordinal isomorphe au produit lexicographique α × β
et αβ comme l’unique ordinal isomorphe à l’ensemble ordonné α(β) . Notons que
0β n’est pas encore défini. On pose 00 := 1, puis 0β := 0 pour tout β > 0.
Proposition 1.5.1 (Addition ordinale).
2. α + 1 = α
1. α + 0 = 0 + α = α
+
3. α + (β + γ) = (α + β) + γ, en particulier α + β + = (α + β)+
4. α < β si et seulement s’il existe γ > 0 tel que β = α + γ
5. Si β < β 0 , alors α + β < α + β 0 pour tout α. En particulier, on peut
simplifier à gauche : α + β = α + β 0 ⇒ β = β 0 .
6. Si λ est limite, alors α + λ = supβ<λ (α + β) (continuité).
7. 1 + α = α + 1 si α est fini, 1 + α = α sinon.
Démonstration. (1)–(3) sont clairs. Dans le sens non trivial de (4), on vérifie
sans peine que l’ordinal γ isomorphe à l’ensemble bien-ordonné β \ α marche.
(5) Si β < β 0 , on utilise (2) et (4) pour obtenir β 0 = β + γ et donc α + β 0 =
(α + β) + γ pour un γ > 0.
(6) α + λ ≥ supβ<λ (α + β) suit de (5). Réciproquement, si α ≤ µ < α + λ,
alors µ = α + δ pour un δ avec 0 ≤ δ < λ. Comme λ est limite, on a δ + < λ,
d’où µ < α + δ + ≤ supβ<λ (α + β).
(7) On montre par induction sur n ∈ N que 1+n = n+1. Puis, on a 1+ω = ω
par (6). Enfin, α ≥ ω s’écrit α = ω + β, d’où 1 + α = 1 + ω + β = ω + β = α.
Dans ce qui suit, nous omettons quelques parenthèses, en suivant la convention que l’exponentiation lie plus fortement que la multiplication et que la multiplication lie plus fortement que l’addition. Ainsi,
il faudra par exemple lire
αβ + γ comme (αβ) + γ, et γαβ comme γ αβ .
Proposition 1.5.2 (Multiplication ordinale).
1. α0 = 0α = 0
2. α1 = 1α = α
3. α(βγ) = (αβ)γ
4. α(β + γ) = αβ + αγ, en particulier αβ + = αβ + α
5. 2ω = ω < ω2 = ω + ω
6. On suppose α 6= 0. Si β < β 0 , alors αβ < αβ 0 . En particulier, on peut
simplifier à gauche : αβ = αβ 0 ⇒ β = β 0 .
7. Si λ est limite, alors αλ = supβ<λ αβ (continuité).
Démonstration. (1) et (2) sont clairs, (3) et (4) sont conséquences du Lemme
1.3.1. Dans (5), 2ω = ω suit de (7), les autres parties de (5) sont simples. Quant
à (6), il suffit de noter que si β < β 0 alors β 0 = β + γ pour un γ > 0, d’où
αβ 0 = αβ + αγ par (4) et alors αβ 0 > αβ.
10
(7) On peut supposer α 6= 0. Soit λ un ordinal limite. L’inégalité αλ ≥
supβ<λ αβ =: δ est clair par (6). Réciproquement, on se donne γ < αλ. La division euclidienne, démontrée dans le lemme suivant, fournit une paire d’ordinaux
(ρ, µ) telle que γ = αµ + ρ, avec ρ < α. Comme µ < λ (par (6)), on a µ+ < λ
car λ est limite, d’où γ = αµ + ρ < αµ + α = αµ+ ≤ δ.
Lemme 1.5.3 (Division euclidienne). Soient α et β des ordinaux, avec α 6= 0.
Alors il existe une unique paire d’ordinaux (ρ, µ) telle que ρ < α et β = αµ + ρ.
Démonstration. Unicité : Supposons que αµ + ρ = αµ0 + ρ0 avec ρ, ρ0 < α. Si
µ < µ0 , alors αµ + ρ < αµ+ ≤ αµ0 ≤ αµ0 + ρ0 , ce qui est absurde. Donc µ = µ0
par symétrie, et on obtient également ρ = ρ0 en simplifiant.
Existence : Si β = 0 il n’y a rien a montrer. Soit donc β 6= 0. L’application
f0 : β → α × β, x 7→ (0, x) est strictement croissante, d’où β ≤ αβ par 1.4.9.
Si β = αβ, on pose µ = β et ρ = 0. Sinon, on a β ∈ αβ. Soit f l’isomorphisme
d’ensembles ordonnés entre αβ et α × β. On pose (ρ, µ) = f (β). On vérfie que
β = αµ + ρ (exercice).
Exercice 1.5.4.
1. Montrer que α est limite si et seulement s’il existe β 6= 0
tel que α = ωβ.
2. Montrer que ω 2 = ωω n’est pas de la forme δ + ω.
Proposition 1.5.5 (Exponentiation ordinale).
1. Pour tout α on a α0 = 1, α1 = α et 1α = 1. Si α 6= 0, alors 0α = 0.
+
2. αβ+γ = αβ αγ , en particulier αβ = αβ α.
γ
3. αβ = αβγ
0
4. Si α > 1, alors β < β 0 ⇒ αβ < αβ .
5. Si λ est limite et α 6= 0, alors αλ = supβ<λ αβ (continuité).
Démonstration. (1) se vérifie directement, et (2) ainsi que (3) suivent de 1.3.2.
0
(4) β < β 0 ⇒ β 0 = β + ρ pour un ρ > 0. Donc αβ = αβ+ρ = αβ αρ . Or
0
αρ > 1 est clair (l’ensemble α(ρ) contient au moins 2 éléments), d’où αβ > αβ
par 1.5.2(6).
Montrons l’inégalité non triviale dans (5). On se donne f ∈ α(λ) . On peut
supposer que f n’est pas la fonction constante 0. Alors s1 (f ) < λ, d’où β =
s1 (f )+ < λ, ce qui montre que S≤f admet une application strictement croissante
dans α(β) . On conclut par le Lemme 1.4.9.
Exercice 1.5.6. Soit α > 1.
1. Montrer que αγ ≥ γ pour tout γ. (Est-ce qu’il y a des exemples avec
αγ = γ ?)
+
2. Soit β > 0. Montrer qu’il existe γ tel que αγ ≤ β < αγ .
11
3. En déduire que tout ordinal β admet un développement en base α : il
existe une suite finie d’ordinaux β1 > . . . > βn ≥ 0 et des ordinaux ki tels
avec 0 < ki < alpha tels que
β = α β1 k1 + . . . + α βn kn .
De plus, l’entier n ainsi que les suites (βi ) et (ki ) sont uniques.
On appelle le développement en base ω la forme normale de Cantor.
Remarque 1.5.7. Les formules suivantes permettraient de donner une autre
définition (par récurrence transfinie) de l’addition, de la multiplication ainsi que
de l’exponentiation ordinale :
– α + 0 = α, α + β + = (α + β)+ , puis α + λ = supβ<λ (α + β) pour λ limite.
– α0 = 0, αβ + = αβ + α, puis αλ = supβ<λ (αβ) pour λ limite.
+
– (α 6= 0.) α0 = 1, αβ = αβ α, puis αλ = supβ<λ αβ pour λ limite.
Exercice 1.5.8 (Topologie de l’ordre). Dans tout ordre total X, on peut définir
une topologie, appelé topologie de l’ordre, dont une base d’ouverts est donnée
par les intervalles ouverts, c’est-à-dire par les ensembles de la forme (−∞, b) =
{x ∈ X | x < b}, (a, b) = {x ∈ X | a < x < b} ou (a, ∞), pour a, b ∈ X.
1. Montrer que pour X quelconque, cette topologie est séparée.
2. Soit maintenant α un ordinal muni de la topologie de l’ordre. Montrer :
(a) La topologie sur α est discrète si et seulement si α ≤ ω.
(b) α est compact si et seulement s’il n’est pas limite.
(c) Une application f : α → β entre deux ordinaux et qui est faiblement
croissante (x ≤ y ⇒ f (x) ≤ f (y)) est continue si et seulement si,
pour tout λ ∈ α limite, on a f (λ) = supγ<λ f (γ).
1.6
Axiome du choix
Pour une famille d’ensembles (Xi )i∈I on pose
Y
[
Xi = {f : I →
Xi | f (i) ∈ Xi pour tout i ∈ I},
i∈I
i∈I
appelé le produit de la famille.
Définition. L’Axiome du choix (AC) dit que le produit d’une famille d’ensembles
non vides est non vide, c’est-à-dire que si Xi 6= ∅ pour tout i ∈ I, alors
Q
X
6= ∅.
i
i∈I
Dans le système d’axiomes de Zermelo-Fraenkel (ZF), (AC) est équivalent
au Lemme de Zorn ainsi qu’au Théorème de Zermelo. Nous le démontrons au
dernier chapitre du cours et l’admettons comme résultat pour l’instant.
12
Définition. Un ensemble partiellement ordonné X est inductif si toute partie
Y ⊆ X totalement ordonné possède un majorant (dans X). En particulier, un
tel X n’est pas vide.
Lemme de Zorn. Tout ensemble partiellement ordonné inductif possède un
élément maximal.
Théorème de Zermelo (Wohlordnungssatz). Tout ensemble X admet un bon
ordre.
1.7
Cardinaux
On suppose jusqu’à la fin de l’avant-dernier chapitre que l’axiome du choix
est vérifié.
Définition. On appelle cardinal tout ordinal qui n’est pas équipotent à un
ordinal plus petit.
Exemples 1.7.1.
1. Tout ordinal fini et un cardinal.
2. L’ordinal ω est un cardinal. Il sera noté ℵ0 .
3. Si α est infini, alors α+ n’est pas un cardinal. (α+ et α sont équipotents.)
Proposition 1.7.2. Tout ensemble X est équipotent à un unique cardinal, noté
card(X).
Démonstration. Par le Théorème de Zermelo et 1.4.8, X est équipotent à un
ordinal α. Soit β ≤ α minimal tel que β soit équipotent à α. Alors β est un
cardinal et en bijection avec X. L’unicité est claire.
Proposition 1.7.3. Soient X et Y deux ensembles avec X non vide. Sont
équivalents :
1. card(X) ≤ card(Y )
2. Il existe une injection de X dans Y .
3. Il existe une surjection de Y sur X.
Démonstration. (1)⇒(2) est facile.
(2)⇒(3) : Soit f : X → Y une injection. On choisit x0 ∈ X et on obtient
une surjection g : Y → X, en posant g(y) := x0 si y 6∈ im(f ) = {f (x) | x ∈ X},
et g(y) := f −1 (y) sinon.
(3)⇒(1) : S’il existe une surjection de Y sur X, alors il existe une surjection
g : λ = card(Y ) → κ = card(X). L’application f qui à α ∈ κ associe l’élément
minimal β dans λ avec g(β) = α définit une injection de κ dans λ. En particulier,
κ est en bijection avec un ordinal γ ≤ λ. (On prend γ l’unique ordinal qui est
isomorphe au bon ordre induit sur im(f ).)
Définition. On appelle un ensemble X dénombrable si card(X) ≤ ℵ0 , et fini si
card(X) < ℵ0 .
13
Dans la suite, κ, λ etc. dénoteront des cardinaux.
Proposition 1.7.4. Soit X un ensemble de cardinaux. Alors λ = supκ∈X κ est
un cardinal.
Démonstration. Si α < λ, alors α < κ pour un κ ∈ X. Comme κ est un cardinal,
on a κ = card(κ) ≤ card(λ), d’où α < card(λ). Cela montre que λ n’est pas
équipotent avec un ordinal plus petit.
Il n’y a pas de plus grand cardinal. En effet, si κ est un cardinal, alors
λ := card(P(κ)) > κ par le théorème de Cantor. L’ensemble des cardinaux ≤ λ
qui sont > κ est donc non vide. On note κ+ son plus petit élément, appelé
successeur cardinal de κ. Pour éviter des confusions, le successeur ordinal de α
sera noté α + 1 dans la suite.
Définition. La hiérarchie des ℵ est l’application des ordinaux dans les cardinaux qui est définie comme suit :
– ℵ0 := ω
– ℵα+1 := ℵ+
α
– ℵα := supβ<α ℵβ , si α est un ordinal limite.
Par induction transfinie, on montre que α < β ⇒ ℵα < ℵβ . En combinaison avec le résultat suivant, on en déduit que la hiérarchie des ℵ établit une
énumération strictement croissante des cardinaux infinis par les ordinaux.
Proposition 1.7.5. Tout cardinal infini est de la forme ℵα .
Démonstration. Soit κ un cardinal infini. La fonction β 7→ ℵβ est strictement
croissante sur κ + 1 (et à valeurs dans ℵκ+1 ). Donc ℵκ ≥ κ par 1.4.9, d’où
ℵκ+1 > κ. Soit α ≤ κ + 1 minimal avec ℵα >Sκ. Comme κ ≥ ℵ0 , on a α > 0.
Si α était limite, par définition on aurait κ ∈ β<α ℵβ et alors κ ∈ ℵβ pour un
β < α, ce qui contredirait la minimalité de α. Donc α = β + 1 et alors ℵβ ≤
+
κ < ℵβ+1 = ℵ+
β . Comme ℵβ est le successeur cardinal de ℵβ , nécessairement
ℵβ = κ.
1.8
Opérations sur les cardinaux
Si X et Y sont des ensembles, on note X + Y leur réunion disjointe, X × Y
leur produit cartésien et X Y l’ensemble des applications de Y dans X. Si κ et
λ sont deux cardinaux, on note κ + λ le cardinal de leur réunion disjointe, κλ
le cardinal de leur produit cartésien et κλ le cardinal de l’ensemble des applications de λ dans κ. Ces opérations sont appelées addition (resp. multiplication,
exponentiation) cardinale. Il ne faut pas confondre ces opérations avec les opérations ordinales correspondantes. Ainsi, on a par exemple 2ω = ω = ℵ0 < 2ℵ0 ,
où encore ℵ0 2 = ℵ0 , mais ω < ω2. Il est clair que ces opérations coı̈ncident avec
les opérations arithmétiques usuelles sur les cardinaux finis.
On notera aussi que card(X + Y ) = card(X) + card(Y ), card(X × Y ) =
card(X)card(Y ) et card(X Y ) = card(X)card(Y ) .
La preuve des résultats suivants est immédiate.
14
Proposition 1.8.1.
1. L’addition et la multiplication cardinale sont commutatives et associatives, la multiplication est distributive par rapport à
l’addition, κλ+µ = κλ κµ , (κλ )µ = κλµ et (κλ)µ = κµ λµ .
2. Si κ ≤ κ0 , alors κ + λ ≤ κ0 + λ, κλ ≤ κ0 λ et κλ ≤ κ0λ (si κ > 0) ainsi que
0
λκ ≤ λκ (si λ > 0).
Proposition 1.8.2. On a card(R) = 2ℵ0 .
Démonstration. Cela reprend l’exercice 1.1.3, compte tenu de la bijection canonique entre P(N) et 2ℵ0 .
a une injection h : 2ℵ0 → R qui à une suiteP
(ai )i∈N de 0 et de 1 associe
P On −i
−i
a
2
si
le
support
de
la
suite
est
infini,
et
2
+
sinon. Cela montre
i i
i ai 2
ℵ0
2 ≤ card(R). D’autre part l’image de h contient l’intervalle ]0, 1[ qui est équipotent à R (par exemple via x 7→ 1/π arctan(x) + 1/2), d’où card(R) ≤ 2ℵ0 .
Proposition 1.8.3 (Théorème de Hesseberg).
Pour tout cardinal infini κ on a κκ = κ.
Démonstration. Par induction sur α, on montrera que ℵα ℵα = ℵα . Pour α = 0
c’est clair. (L’application α2 : N2 → N, α2 (m, n) := 1/2(m + n + 1)(m + n) + n
est bijective.) On suppose que ℵβ ℵβ = ℵβ pour tout β < α, et on munit ℵα × ℵα
de l’ordre suivant :
(β, γ) < (β 0 , γ 0 ) si max(β, γ) < max(β 0 , γ 0 ) ou si max(β, γ) = max(β 0 , γ 0 ) et
β < β 0 ou si max(β, γ) = max(β 0 , γ 0 ) et β = β 0 et γ < γ 0 .
On vérifie qu’il s’agit d’un bon ordre.
De plus, pour tout δ < ℵα , la partie δ × δ est un ségment initial pour
<. Soit f : ε → ℵα × ℵα l’unique isomorphisme d’ensembles ordonnés avec ε
un ordinal. Si ε > ℵα , alors ℵα ∈ ε et f (ℵα ) = (β0 , γ0 ) ∈ ℵα × ℵα . Posons
δ0 := max(β0 , γ0 ) + 1. Comme aucun ordinal successeur infini n’est un cardinal
(par 1.7.1), on a δ0 < ℵα et f restreinte à ℵα définit une injection de ℵα
dans δ0 × δ0 , un ensemble de cardinal card(δ0 × δ0 ) = card(δ0 ) ≤ δ0 < ℵα par
hypothèse d’induction. Contradiction. Donc ℵα ℵα ≤ ℵα . L’inégalité dans l’autre
sens est claire.
Exemple 1.8.4. Soit T = {X ⊆ R | X est un ouvert}. Alors card(T ) = 2ℵ0 .
Démonstration. L’application qui à r ∈ R associe l’intervalle (r, +∞) définit
une injection de R dans T , ce qui montre que card(T ) ≥ 2ℵ0 .
Réciproquement, notons que tout ouvert de R s’écrit comme réunion sur
des intervalles de la forme =(q,Sq + q 0 ), avec q ∈ Q et q 0 ∈ Q>0 . L’application
qui à Y ⊆ Q × Q>0 associe (q,q0 )∈Y (q, q + q 0 ) définit donc une surjection
de P(Q × Q>0 ) sur T . Comme Q × Q>0 est dénombrable, on obtient 2ℵ0 ≥
card(T ).
Proposition 1.8.5.
1. Si X et Y sont des ensembles non vides dont l’un au
moins est infini, alors
card(X ∪ Y ) = card(X × Y ) = max(card(X), card(Y )).
15
2. Soit κ ≥ ℵ0 et λ > 0 des cardinaux. Alors κ + λ = κλ = max(κ, λ).
3. Soit (Xi )i∈I une famille d’ensembles avec au moins un Xi infini. Alors
!
[
card
Xi ≤ sup ({card(Xi ) | i ∈ I} ∪ {card(I)}) .
(1.1)
i∈I
(En particulier, une réunion dénombrable d’ensembles dénombrables est
dénombrable.) Si de plus les Xi sont tous non vides et 2 à 2 disjoints,
alors on a égalité dans (1.1).
Démonstration. (1) Soit κ = max(card(X), card(Y )). On a κ ≤ card(X ∪ Y ) ≤
κ + κ = 2κ ≤ κκ ainsi que κ ≤ card(X × Y ) ≤ κκ. On conclut par le théorème
de Hesseberg. (2) est un cas particulier de (1).
(3) Soit X = {(xi , i) | xi ∈ Xi pourSun i ∈ I} la réunion disjointe des Xi .
On a une surjection canonique de X sur i∈I Xi et il suffit donc de montrer que
card(X) ≤ sup ({card(Xi ) | i ∈ I} ∪ {card(I)}). Soit κ = sup(card(Xi )), et soit
Yi l’ensemble des applications injectives de Xi dans κ. Comme
Q les Yi sont tous
non vides, par l’axiome du choix il existe f = (fi )i∈I ∈ i∈I Yi . La fonction
g : X → κ × I, g((xi , i)) := (fi (xi ), i) est injective, d’où card(X) ≤ κ card(I) =
max(κ, card(I)). L’énoncé sur l’égalité est clair.
La proposition précédente montre que l’addition cardinale et la multiplication cardinale deviennent triviaux pour des cardinaux infinis. C’est tout à fait le
contraire pour l’exponentiation cardinale. Notons que le système d’axiomes ZFC
ne détermine pas complètement l’exponentiation cardinale. Ainsi, il ne permet
par exemple pas de trancher sur l’hypothèse du continu.
Définition.
– L’Hypothèse du continu (CH) est l’énoncé 2ℵ0 = ℵ1 .
– L’Hypothèse du continu généralisée (GCH) dit que 2κ = κ+ pour tout
cardinal infini κ.
P
Si (κi )i∈I est une famille
Q de cardinaux, on note i∈I κi le cardinal de la
réunion disjointe des κi , et i∈I κi le cardinal du produit de la famille.
Théorème 1.8.6 (Théorème de König). Soient (κi )i∈I et (λP
familles
i )i∈I deux Q
de cardinaux dont on suppose que κi < λi pour tout i. Alors i∈I κi < i∈I λi .
P
Q
Démonstration. Soit f : i∈I κi → i∈I λi . Pour chaque i, f induit une application fi : κi → λi donnée par la i-ème composante de la restriction de f à
κi . Comme κi < λi , l’ensembleQBi := λi \Q
im(fi ) est non vide pour tout i. Par
l’axiome du choix il existe b ∈ i∈I Bi ⊆ i∈I λi . Clairement b 6∈ im(f ).
1.9
Cofinalité
Afin de pouvoir démontrer des énoncés du type 2ℵ0 6= ℵω , nous aurons besoin
de la notion de cofinalité.
16
Définition.
– Soit X un ensemble totalement ordonné. On dit qu’une partie
Y ⊆ X est cofinale dans X si Y n’est pas borné dans X, c’est-à-dire si
pour tout x ∈ X il existe y ∈ Y tel que x ≤ y.
– Soit f : β → α une application entre ordinaux. On dit que f est cofinale
si im(f ) est cofinale dans α.
– La cofinalité de α, notée cof(α), est le plus petit ordinal β tel qu’il existe
une fonction f : β → α qui est cofinale.
Exemples 1.9.1.
1. cof(0) = 0
2. cof(α + 1) = 1 pour tout α
3. cof(ω) = ω
Proposition 1.9.2.
1. cof(α) ≤ α
2. cof(α) est un cardinal.
3. cof(α) est égal au plus petit ordinal β tel qu’il existe une application cofinale et (strictement) croissante f : β → α.
4. cof(cof(α)) = cof(α)
Démonstration. (1) est clair, et (2) suit du fait que tout ordinal β est en bijection
avec card(β) ≤ β.
(3) Il suffit de construire β ≤ cof(α) et une application f : β → α qui
soit strictement croissante et cofinale. Par hypothèse il existe h : cof(α) → α
cofinale. On définit
X = {x ∈ cof(α) | h(y) < h(x) pour tout y < x}.
L’ensemble h(X) = {h(x) | x ∈ X} est une partie cofinale de α. En effet,
soit γ < α donné. Par cofinalité de h, il existe y ∈ cof(α) tel que h(y) ≥ γ. Si y
est minimal avec cette propriété, on a y ∈ X.
Comme (X, <) ∼
= (β, ∈) pour un β ≤ cof(α), on a donc terminé, car h
restreinte à X est strictement croissante et cofinale.
(4) cof(cof(α)) ≤ cof(α) suit de (1). Pour l’autre sens, on choisit deux
fonctions croissantes et cofinales f : cof(cof(α)) → cof(α) et g : cof(α) → α
ce qui est possible par (3). Alors g ◦ f : cof(cof(α)) → α est cofinale, d’où
cof(α) ≤ cof(cof(α)).
On dit qu’un cardinal infini κ est régulier si cof(κ) = κ, et singulier si
cof(κ) < κ.
Proposition 1.9.3. Tout cardinal infini successeur est régulier. En particulier,
ℵ1 est régulier.
Démonstration. Soit κ = ℵβ+1 = ℵ+
β . Notons que
S pour un ordinal limite α, une
partie X ⊆ α est cofinale si et seulement si α = γ∈X γ. (C’est une conséquence
de 1.4.5.) On considère f : λ → κ pour un cardinal λ < κ. Alors λ ≤ ℵβ
S
et 1.8.5(3) entraı̂ne que card
β<λ f (β) ≤ sup ({f (β) | β < λ} ∪ {λ}) ≤ ℵβ .
Donc f n’est pas cofinale.
17
Proposition 1.9.4. Si λ est un ordinal limite, alors cof(ℵλ ) = cof(λ).
˜
Démonstration. Si f : α → λ est cofinale,
S alors il est clair que f : α → ℵλ ,
β 7→ ℵf (β) , est cofinale aussi, car ℵλ = γ<λ ℵγ par définition. Cela montre
cof(ℵλ ) ≤ cof(λ). Réciproquement, soit g : α → ℵλ cofinale. On définit g̃ : α →
λ, g̃(β) = 0 si g(β) est fini, et g̃(β) = γ si card(g(β)) = ℵγ . Clairement, g̃ est
cofinale.
Proposition 1.9.5. Si κ ≥ 2 et λ ≥ ℵ0 sont deux cardinaux, alors cof κλ > λ.
Démonstration. Soit f : α → κλ une application, avec α un ordinal ≤ λ. Comme
f (β) < κλ pour tout β < α, le théorème de König donne


[
X
Y
card(α)
card 
f (β) ≤
card(f (β)) <
κλ = κλ
= κλ·card(α) ≤ κλ .
β<α
β<α
β<α
Donc f n’est pas cofinale.
Corollaire 1.9.6. On a 2ℵ0 6= ℵω .
Démonstration. On a cof(ℵω ) = cof(ω) = ω = ℵ0 < cof 2ℵ0 .
18
Chapitre 2
Calcul des prédicats
2.1
Langages et structures
Les énoncés du calcul des prédicats sont des chaı̂nes de symboles qui décrivent des propriétés de structures. L’énoncé
ϕ = ∀x(x > 0 → ∃y y · y =x)
˙
par exemple est satisfait dans un corps ordonné si et seulement si tout élément positif est un carré. Il est vrai dans le corps ordonné des réels R =
hR; 0, 1, +, −, <i et faux dans le corps ordonné des rationnels.
On verra que l’énoncé ϕ s’exprime dans le cadre que nous allons étudier, c’està-dire dans la logique du premier ordre. Par contre, nous verrons que d’autres
propriétés de corps ordonnés comme le fait d’être archimédien (pour tout x > 0
il existe n ∈ N tel que nx > 1) ou complet (toute partie bornée non vide admet
un supremum) ne s’expriment pas par des énoncés du premier ordre.
Définition. Un langage (du premier ordre) est un ensemble de symboles L qui
se compose de deux parties :
1. La première partie (commune à tous les langages) consiste en les symboles
auxiliaires « ( » et « ) » ainsi qu’en les symboles logiques suivants :
l’ensemble des variables
le symbole de l’égalité
les connecteurs
le quanteur existentiel
V = {vn | n ∈ N}
=
˙ (« égal »)
¬(négation, « non ») , ∧(conjonction, « et »)
∃ (« il existe »)
2. La deuxième partie, appelée la signature de L et notée σ L , consiste en les
symboles non logiques de L. Elle est formée
– d’un ensemble de symboles de constante C L ;
– d’une suite d’ensembles FnL , n ∈ N∗ , où les éléments de FnL sont appelés
symboles de fonction n-aires ;
∗
L
– d’une suite d’ensembles RL
n , n ∈ N , où les éléments de Rn sont appelés
symboles de relation (ou prédicat) n-aires.
19
Le langage L est donné par la réunion (disjointe) de ces ensembles de
symboles.
On observe que tout langage est infini. Comme la première partie est commune à tous les langages, nous identifions souvent L et σ L , par un abus de
notation.
Exemples 2.1.1.
L∅ = ∅
Le langage vide.
Lan = {0, 1, +, −, ·}
Le langage des anneaux (avec 1).
Lord = {<}
Le langage des ordres.
Lc.ord = Lan ∪ Lord
Le langage des corps ordonnés.
Le langage de l’arithmétique.
Lar = {0, S, +, ·, <}
Lens = {∈}
Le langage de la théorie des ensembles.
Dans ces exemples, 0 et 1 sont des symboles de constantes, − et S des
symboles de fonction unaires, + et · des symboles de fonction binaires, et <
ainsi que ∈ des symboles de relation binaires.
Définition. Soit L un langage. Une L-structure A est la donnée d’un ensemble
non vide A (appelé l’ensemble de base de A) muni d’un élément cA ∈ A pour
chaque c ∈ C L , d’une fonction f A : An → A pour chaque f ∈ FnL et d’une partie
A
RA ⊆ An pour chaque R ∈ RL
n . On l’écrit A = hA; (Z )Z∈σ L i.
Z A est une interprétation du symbole Z ∈ σ L .
Exemples 2.1.2.
1. N = hN; 0, S, +, ·, <i est une Lar -structure, avec S l’application successeur qui à x associe x + 1.
2. C = hC; 0, 1, +, −, ·i, le corps des complexes, est une Lan -structure.
3. R = hR; 0, 1, +, −, ·, <i, le corps ordonné des réels, est une Lc.ord -structure.
Définition. On dit que deux L-structures A et B sont isomorphes, A ∼
= B, s’il
existe un isomorphisme F : A ∼
= B, une bijection F : A → B qui commute avec
les interprétations des symboles dans σ L , c’est-à-dire
– F (cA ) = cB pour tout c ∈ C L ,
– F (f A (a1 , . . . , an )) = f B (F (a1 ), . . . , F (an )) pour tout f ∈ FnL et tout uple
(a1 , . . . , an ) ∈ An ,
– (a1 , . . . , an ) ∈ RA ⇐⇒ (F (a1 ), . . . , F (an )) ∈ RB pour tout R ∈ RL
n et
tout uple (a1 , . . . , an ) ∈ An .
2.2
Termes et formules
Un mot sur un ensemble (alphabet) E est une chaı̂ne finie m = a0 a1 · · · ak−1
avec ai ∈ E pour tout i. On appelle k la longueur de m, et on note E ∗ l’ensemble
des mots sur E.
Définition. Soit L un langage. L’ensemble T L des L-termes est le plus petit
sous-ensemble de L∗ qui contient les variables et les symboles de constante et
tel que si f ∈ FnL et t1 , . . . , tn ∈ T L , alors f t1 · · · tn ∈ T L .
20
S
On a T L = n∈N TnL , où on définit T0L = C L ∪ V L , puis inductivement
L
Tn+1
= TnL ∪ {f t1 · · · tk | f ∈ FkL et t1 , . . . , tk ∈ TnL }.
Proposition 2.2.1 (Lecture unique des termes). Tout terme t ∈ T L vérifie
une et une seule des trois possibilités suivantes :
1. t est une variable,
2. t est un symbole de constante,
3. il existe un unique entier n ≥ 1, un unique symbole de fonction n-aire f
et une unique suite (t1 , . . . , tn ) de termes tels que t = f t1 · · · tn .
Démonstration. Exercice. (On montrera d’abord, par induction sur la longueur
des termes, qu’aucun ségment initial propre d’un terme n’est un terme.)
Notation. Pour faciliter la lecture des termes, on écrira dorénavant f (t1 , . . . , tn )
pour f t1 · · · tn . Si f est binaire, on écrira parfois aussi t1 f t2 au lieu de f t1 t2 .
Par exemple, (x + y) · z signifie · + xyz.
Si t est un terme, son hauteur ht(t) est défini comme le plus petit entier k
tel que t ∈ TkL . Il suit de la propriété de lecture unique pour les termes que
ht(f t1 · · · tn ) = 1 + max(ht(ti )).
Définition.
1. Une L-formule atomique est
– soit un mot de la forme t1 =t
˙ 2 , où t1 et t2 sont des L-termes,
– soit un mot de la forme Rt1 · · · tn , où R ∈ RL
n et tous les ti sont des
L-termes.
2. L’ensemble FmlL des L-formules est le plus petit sous-ensemble de L∗ qui
contient les formules atomiques et tel que si ϕ, ψ ∈ FmlL et x ∈ V, alors
¬ϕ, (ϕ ∧ ψ) et ∃xϕ sont des éléments de FmlL .
S
L
On a FmlL = n∈N FmlL
n , où Fml0 est définit comme l’ensemble des formules atomiques, puis inductivement
L
L
L
FmlL
n+1 = Fmln ∪ {¬ϕ | ϕ ∈ Fmln } ∪ {(ϕ ∧ ψ) | ϕ, ψ ∈ Fmln }
∪ {∃xϕ | x ∈ V et ϕ ∈ FmlnL }.
Proposition 2.2.2 (Lecture unique des formules).
Toute formule ϕ ∈ FmlL vérifie une et une seule des possibilités suivantes :
1. ϕ est une formule atomique, soit de la forme Rt1 · · · tn pour R et t1 , . . . , tn
uniques, soit de la forme t1 =t
˙ 2 pour t1 , t2 uniques ;
2. ϕ = ¬ψ pour une unique L-formule ψ ;
3. ϕ = (ψ ∧ χ) pour des uniques L-formules ψ et χ ;
4. ϕ = ∃xψ pour une unique variable x et une unique L-formule ψ.
Démonstration. Exercice. (On montrera d’abord qu’aucun ségment initial propre
d’une formule n’est une formule.)
21
Si ϕ est une formule, son hauteur ht(ϕ) est définie comme le plus petit entier
k tel que ϕ ∈ FmlkL . Il suit de la propriété de lecture unique pour les formules
que ht(∃xϕ) = ht(¬ϕ) = 1 + ht(ϕ) et ht((ϕ ∧ ψ)) = 1 + max(ht(ϕ), ht(ψ)). Cela
nous permet de donner des définitions par induction sur la hauteur des formules.
Définition.
1. Soit vk une variable. On définit, par induction sur la hauteur
de ϕ, la notion d’occurrence libre de vk dans ϕ :
– Si ϕ est atomique, toutes les occurrences de vk dans ϕ sont libres.
– Les occurrences libres de vk dans ϕ = ¬ψ sont celles dans ψ.
– Les occurrences libres de vk dans ϕ = (ψ ∧ χ) sont celles dans ψ et celles
dans χ.
– Si l 6= k, les occurrences libres de vk dans ϕ = ∃vl ψ sont celles de ψ.
– Aucune occurrence de vk dans ϕ = ∃vk ψ n’est libre.
Les occurrences non libres d’une variable sont dites liées.
2. Les variables libres de ϕ sont celles qui admettent au moins une occurrence
libre dans ϕ. On note Lib(ϕ) l’ensemble des variables libres de ϕ.
3. Un énoncé est une fomule sans variable libre.
Exemple. Dans ϕ = (∃v0 v0 < v1 ∧ v0 =v
˙ 1 ), les deux premières occurrences de
v0 sont liées, tandis que la troisième est libre. Toutes les occurrences de v1 dans
ϕ sont libres, d’où Lib(ϕ) = {v0 , v1 }.
Notation. On utilisera les abbréviations suivantes :
(ϕ ∨ ψ)
(ϕ → ψ)
(ϕ ↔ ψ)
∀xϕ
=
=
=
=
¬(¬ϕ ∧ ¬ψ)
¬(ϕ ∧ ¬ψ)
((ϕ → ψ) ∧ (ψ → ϕ))
¬∃x¬ϕ
(disjonction, « ou »)
(implication, « implique »)
(équivalence, « si et seulement si »)
(quanteur universel, « pour tout »)
On écrira ∃x1 , . . . , xn au lieu de ∃x1 · · · ∃xn (de même pour le quanteur
universel), R(t1 , . . . , tn ) au lieu de Rt1 · · · tn , et parfois t1 Rt2 au lieu de Rt1 t2 .
On notera (ϕ0 ∧ · · · ∧ ϕn ) au lieu de (· · · ((ϕ0 ∧ ϕ1 ) ∧ ϕ2 ) ∧ . . . ∧ ϕn ), de même
pour ∨ à la place de ∧.
Enfin, pour faciliter la lecture des formules, on ajoutera parfois des parenthèses, ou on les omettra. Dans ce cas, on lira les formules selon l’affinité des
symboles logiques :
Affinité maximale :
Affinité minimale :
¬∃∀
∧
∨
→↔
Ainsi, ∀xϕ ∧ ψ → χ voudra dire ((∀xϕ ∧ ψ) → χ) = ¬((∀xϕ ∧ ψ) ∧ ¬χ) =
¬((¬∃x¬ϕ ∧ ψ) ∧ ¬χ).
Exemple. Voici la liste des axiomes de corps dans Lan .
˙
1. ∀x x + 0=x
2. ∀x, y x + y =y
˙ +x
22
3. ∀x (−x) + x = 0
4. ∀x, y, z (x + y) + z =x
˙ + (y + z)
5. ∀x x · 1=x
˙
6. ∀x, y x · y =y
˙ ·x
7. ∀x, y, z (x · y) · z =x
˙ · (y · z)
8. ∀x, y, z x · (y + z)=(x
˙ · y) + (x · z)
9. ∀x (¬x=0
˙ → ∃y x · y =1)
˙
10. ¬0=1
˙
2.3
Sémantique
Dans ce paragraphe, nous donnons un sens aux formules.
Définition.
1. Soit A une L-structure. Une affectation est une fonction α :
V → A de l’ensemble des variables dans l’ensemble de base de A.
2. Si α est une affectation, A une L-structure et t un L-terme, on définit
tA [α], par induction sur ht(t), de la manière suivante :
– viA [α] = α(vi ) (pour vi ∈ V) et cA [α] = cA (pour c ∈ C L ),
A
– f (t1 , . . . , tn )A [α] = f A (tA
1 [α], . . . , tn [α]).
La preuve du lemme suivant est claire.
Lemme 2.3.1. Si les affectations α et β coı̈ncident sur toutes les variables qui
ont une occurrence dans t, alors tA [α] = tA [β].
Notation. Si t est un terme, on écrira t = t(x1 , . . . , xn ) si les variables xi sont
distinctes et si toutes les variables ayant au moins une occurrence dans t figurent
parmi les xi .
Si t = t(x1 , . . . , xn ) et a1 , . . . , an ∈ A, on définit tA [a1 , . . . , an ] par tA [α] où α
est une affectation avec α(xi ) = ai pour tout i. (C’est bien défini par le lemme.)
Définition (Satisfaction d’une fomule). Soit A une L-structure. On définit pour
toutes les affectations α et toutes les formules la relation A |= ϕ[α] qu’on lit « ϕ
est satisfait dans A par α » :
A
A |= t1 =t
˙ 2 [α]
: ⇐⇒ tA
1 [α] = t2 [α]
A
A |= Rt1 · · · tn [α] : ⇐⇒ (tA
[α],
.
.
. , tA
n [α]) ∈ R
1
A |= ¬ψ[α]
: ⇐⇒ A 6|= ψ[α]
A |= (ψ ∧ χ)[α]
: ⇐⇒ A |= ψ[α] et A |= χ[α]
A |= ∃xψ[α]
: ⇐⇒ il existe a ∈ A tel que A |= ψ[αa/x ]
(
α(y), si y 6= x,
Ici, αa/x (y) :=
a, si y = x.
Proposition 2.3.2. Si les affectations α et β coı̈ncident sur Lib(ϕ), alors on
a A |= ϕ[α] ⇐⇒ A |= ϕ[β].
23
Démonstration. Par induction sur ht(ϕ). Le cas des formules atomiques suit du
lemme. Dans l’étape d’induction, seul le cas ϕ = ∃xψ mérite un argument. Si
A |= ϕ[α], il existe a ∈ A tel que A |= ψ[αa/x ]. Toute variable y 6= x qui est libre
dans ψ est aussi libre dans ϕ. Donc A |= ψ[βa/x ] par l’hypothèse d’induction,
d’où A |= ϕ[β].
Notation. Si ϕ est une formule, on écrira ϕ = ϕ(x1 , . . . , xn ) si les variables xi
sont distinctes et si toutes les variables libres dans ϕ figurent parmi les xi .
Si ϕ = ϕ(x1 , . . . , xn ) et a1 , . . . , an ∈ A, on définit A |= ϕ[a1 , . . . , an ] par
A |= ϕ[α], où α est une affectation avec α(xi ) = ai . (C’est bien défini par la
proposition.)
Ainsi, la formule ϕ(x1 , . . . , xn ) définit une relation n-aire dans la structure
A, donnée par {(a1 , . . . , an ) ∈ An | A |= ϕ[a1 , . . . , an ]}.
En particulier, si ϕ est un énoncé, on peut définir le symbole
A |= ϕ,
lu comme « ϕ est satisfait (ou vrai ) dans A » ou bien « A est modèle de ϕ ».
Exemple. Une Lan -structure hK; 0, 1, +, −, ·i est un corps si et seulement si
elle satisfait aux axiomes de corps (1)–(10) donnés auparavant.
Exercice 2.3.3.
1. Soit A une L-structure et B une partie non vide de A
qui contient les interprétations cA de toutes les constantes de L et qui
est close sous toutes les opérations f A . En restreignant les interprétations
des symboles de A à B on obtient alors une L-structure B, appelée sousstructure de A. Nous écrivons B ⊆ A si B est une sous-structure de A.
Montrer que l’intersection d’une famille de sous-structures de A est une
sous-structure ou vide. En déduire que toute partie non vide X de A
est contenue dans une plus petite sous-structure de A, appelée la sousstructure engendrée par X et notée hXiA . Montrer que l’ensemble de base
de hXiA est donné par {tA [α] | t ∈ T L et α : V → X}.
2. Soit A = hA; 0, 1, +, −, ·i une Lan -structure. On suppose que A est un
anneau. Montrer que la sous-structure engendrée par une partie X de A
est donnée par le sous-anneau engendré par X.
2.4
Substitution
Le but de ce paragraphe est de donner une bonne définition de la substitution
(dans une formule ϕ) d’une variable x par un terme s, d’une telle manière que
les propriétés sémantiques qu’on attend (voir 2.4.2) soient satisfaites.
On pourrait tout simplement remplacer toute occurrence libre de x dans ϕ
par s, mais alors il se peut qu’une variable de s est liée, dans la formule ainsi
obtenue, par un quanteur. Cela peut avoir des effets sémantiques indésirables,
comme par exemple pour ϕ(v0 ) = ∃v1 ¬v1 =v
˙ 0 , x = v0 et s = v1 . On obtiendrait
24
l’énoncé ψ = ∃v1 ¬v1 =v
˙ 1 satisfait par aucune structure, tandis que si A contient
au moins deux éléments, alors A |= ϕ[a] pour tout a ∈ A.
La définition suivante, un peu plus compliquée, rémédie à ce problème.
Définition. Soient x0 , . . . , xr des variables distinctes et s0 , . . . , sr des termes.
On définit la substitution simultanée des xi par les si comme suit.
1. Soit t un terme. Alors ts0 /x0 ,...,sr /xr = ts/x est le mot obtenu en « remplaçant simultanément toutes les occurrences de xi dans t par si », c’est-à-dire
(par induction sur la hauteur de t)
(
x, si x 6= x0 , . . . , x 6= xr
– xs/x =
si , si x = xi
– cs/x = c
– [f t1 · · · tn ]s/x = f t1s/x · · · tns/x .
2. Par induction sur la hauteur d’une formule, on définit
–
–
–
–
1
n
[t=t
˙ 0 ]s/x = ts/x =t
˙ 0s/x ainsi que [Rt1 · · · tn ]s/x = Rts/x
· · · ts/x
.
[¬ψ]s/x = ¬ψs/x .
(ψ ∧ χ)s/x = (ψs/x ∧ χs/x ).
Soient xi1 , . . . xik (i1 < . . . < ik ) les variables parmi x0 , . . . , xr qui sont
libres dans ∃xψ. (En particulier on a x 6= xi1 , . . . , x 6= xik .)
– Si x n’a pas d’occurrence dans si1 , . . . , sik , on pose
[∃xψ]s/x = ∃xψsi1 /xi1 ,...,sik /xik ;
– si x a une d’occurrence dans si1 , . . . , sik , on pose
[∃xψ]s/x = ∃uψsi1 /xi1 ,...,sik /xik ,u/x ,
(2.1)
où u est la première variable dans l’énumération v0 , v1 , v2 , . . . qui n’a
pas d’occurrence dans les mots ∃xψ, si1 , . . . , sik .
Exercice 2.4.1. Montrer (par induction sur la hauteur) :
1. Si t est un terme, alors ts/x est un terme.
2. Si ϕ est une formule, alors ϕs/x est une formule et on a ht(ϕs/x ) = ht(ϕ).
Soient x0 , . . . , xr des variables distinctes, α une affection à valeurs dans A
et a0 , . . . , ar des éléments de A. On définit l’affectation αa0 /x0 ,...,ar /xr = αa/x
comme αa/x (xi ) = ai et αa/x (y) = α(y) si y 6= xi pour tout i.
Proposition 2.4.2 (Lemme de substitution). Soient x0 , . . . , xr des variables
distinctes, s0 , . . . , sr des termes et α une affectation à valeurs dans A.
h
i
A
1. Pour tout terme t on a ts/x
[α] = tA αsA
.
A [α]/x
[α]/x
,...,s
0
r
r
0
2. Pour toute formule ϕ on a
h
i
.
A |= ϕs/x [α] ⇐⇒ A |= ϕ αsA
A
0 [α]/x0 ,...,sr [α]/xr
25
Démonstration. (1) est facile. On montre (2) par induction sur la hauteur de
ϕ, le seul cas non évident étant ϕ = ∃xψ. Soient, comme dans la définition
de [∃xψ]s/x , les variables xi1 , . . . , xik exactement celles parmi les xi qui sont
libres dans ∃xψ. Le cas où x n’a pas d’occurrence dans si1 , . . . , sik est facile et
laissé en exercice. Supposons donc que x a une occurrence dans l’un des termes
si1 , . . . , sik , et soit u la variable choisie comme dans (2.1). On a alors
A |= [∃xψ]s/x [α] ⇐⇒ A |= ∃uψsi1 /xi1 ,...,sik /xik ,u/x [α]
⇐⇒ il existe a ∈ A tel que A |= ψsi1 /xi1 ,...,sik /xik ,u/x [αa/u ]
]
⇐⇒ il existe a ∈ A tel que A |= ψ[αsA
A
A
i1 [αa/u ]/xi1 ,...,sik [αa/u ]/xik ,u [αa/u ]/x
(par hypothèse d’induction)
]
⇐⇒ il existe a ∈ A tel que A |= ψ[αsA
A
i1 [α]/xi1 ,...,sik [α]/xik ,a/x
(par 2.3.1, comme u est différent de tous les xij )
]
⇐⇒ A |= ∃xψ[αsA
A
i1 [α]/xi1 ,...,sik [α]/xik
]
⇐⇒ A |= ∃xψ[αsA
A
0 [α]/x0 ,...,sr [α]/xr
La dernière équivalence suit de 2.3.2, car les affectations αsA
A
i1 [α]/xi1 ,...,sik [α]/xik
et αsA
coı̈ncident sur l’ensemble Lib(∃xψ).
A
0 [α]/x0 ,...,sr [α]/xr
Exemples 2.4.3.
1. Soit ϕ = ϕ(v0 ) = ∃v1 ¬v1 =v
˙ 0 et s = v1 . Alors ϕs/v0 =
˙ 1.
∃v2 [¬v1 =v
˙ 0 ]v1 /v0 ,v2 /v1 = ∃v2 ¬v2 =v
2. Soient ϕ une formule et x1 , . . . , xn des variables distinctes. On suppose
que s1 , . . . , sn ne contiennent pas de variables ayant une occurrence dans
ϕ. Alors ϕs/x est le mot obtenu en remplaçant toute occurrence libre de
xi par si . (Preuve par induction sur ht(ϕ), laissée en exercice.)
Lemme 2.4.4. Soit y une variable sans occurrence dans ϕ. Alors ϕy/x x/y =
ϕ.
Démonstration. On fait une induction sur la hauteur de ϕ, le seul cas non trivial
étant ϕ = ∃zψ. Si z = x, alors ni x ni y n’est libre dans ϕ = ∃xψ, d’où
(ϕy/x )x/y = ϕx/y = ϕ. Sinon, on a z 6= x et z 6= y, et alors ([∃zψ]y/x )x/y =
(∃zψy/x )x/y = ∃z(ψy/x )x/y . Or (ψy/x )x/y = ψ par hypothèse d’induction.
Notation. Soient s1 , . . . , sn des termes. Si t(x1 , . . . , xn ) est un terme, nous
écrivons souvent t(s1 , . . . , sn ) pour ts1 /x1 ,...,sn /xn , et ϕ(s1 , . . . , sn ) au lieu de
ϕs1 /x1 ,...,sn /xn si ϕ = ϕ(x1 , . . . , xn ) est une formule.
2.5
Formules universellement valides
Définition. Une L-formule ϕ est dite universellement valide, noté |= ϕ, si elle
est satisfaite par toute L-structure A et toute affectation α à valeurs dans A,
c’est-à-dire si A |= ϕ[α] pour tout A et tout α.
Remarque 2.5.1. La formule ϕ = ϕ(x1 , . . . , xn ) est universellement valide si
et seulement si l’énoncé ∀x1 , . . . , xn ϕ est universellement valide.
On appelle ∀x1 , . . . , xn ϕ une clôture universelle de ϕ.
26
Exemples.
1. ∃x x=x
˙ est universellement valide. (Par définition, une structure est non vide !)
2. Soient ϕ et ψ des L-formules quelconques. Alors (ϕ → (ψ → ϕ)) est
universellement valide.
Le lemme suivant justifie que nous ne faisons pas référence au langage L
dans la notation |= ϕ.
Lemme 2.5.2. Soit ϕ une L-formule et L0 ⊇ L. Alors ϕ est universellement
valide en tant que L-formule si et seulement si elle l’est en tant que L0 -formule.
0
Démonstration. Si A0 = hA; (Z A )Z∈σL0 i est une L0 -structure, on pose A :=
0
A0 L := hA; (Z A )Z∈σL i, le réduit de A0 à L ⊆ L0 (la structure A0 est appelée
expansion de A à L0 ).
On peut identifier les affectations à valeurs dans A et celles à valeurs dans
A0 , et on a A0 |= ϕ[α] ⇐⇒ A |= ϕ[α] pour toute affectation α.
Il suffit donc de montrer que toute L-structure A admet une expansion à une
L0 -structure. Ceci est clair.
Afin de préciser un cadre pour les formules de la forme (ϕ → (ψ → ϕ))
qui sont toujours vérifiées indépendemment des valeurs de vérité de ϕ et ψ, on
introduira les formules du calcul propositionnel.
On fixe un ensemble P = {pi | i ∈ N}, où les pi sont des variables propositionnelles (elles prennent comme valeurs « vrai » ou « faux »).
Les formules du calcul propositionnel sont des mots sur l’alphabet P ∪
{¬, ∧, (, )}, formés selon les règles suivantes :
– pi est une formule pour tout i ;
– si F et G sont des formules, alors ¬F et (F ∧ G) aussi.
Soit FmlP l’ensemble des formules du calcul propositionnel. Comme avant
on introduit ∨, → et ↔ comme abbréviations. On identifie Z/2 = {0, 1} avec
{ « faux », « vrai »}, en associant 0 à « faux » et 1 à « vrai ». Une affectation
(ou distribution de valeurs de vérité) est une application δ : P → {0, 1}.
Toute affectation δ induit une fonction δ ∗ : FmlP → {0, 1} donnée (inductivement) par δ ∗ (pi ) = δ(pi ), δ ∗ (¬F ) = 1 − δ ∗ (F ) et δ ∗ ((F ∧ G)) = δ ∗ (F ) · δ ∗ (G).
On écrit F = F (q1 , . . . , qn ) si les qi sont des variables distinctes et si toutes
les variables ayant une occurrence dans F figurent parmi les qi .
Exercice 2.5.3. Pour toute fonction g : {0, 1}n → {0, 1} il existe une formule
F (p1 , . . . , pn ) telle que pour toute affectation δ on ait δ ∗ (F ) = g(δ(p1 ), . . . , δ(pn )).
Définition.
1. Une tautologie du calcul propositionnel est une formule F ∈
FmlP telle que δ ∗ (F ) = 1 pour toute distribution de valeurs de vérité δ.
(Autrement dit, si F = F (q1 , . . . , qn ), alors F est vraie quelle que soient
les valeurs de vérité des qi .)
2. La L-formule ϕ est une tautologie du calcul des prédicats s’il existe une
tautologie F = F (q1 , . . . , qn ) du calcul propositionnel et des L-formules
ψ1 , . . . , ψn telles que ϕ = Fψ1 /q1 ,...,ψn /qn (le mot obtenu en substituant les
ψi aux variables qi ).
27
Lemme 2.5.4. Les tautologies (du calcul des prédicats) sont des formules universellement valides.
Démonstration. Clair.
Lemme 2.5.5 (Axiomes de l’égalité).
Les énoncés suivants sont universellement valides :
– ∀x x=x
˙
(réflexivité)
– ∀x, y (x=y
˙ → y =x)
˙
(symétrie)
– ∀x, y, z ((x=y
˙ ∧ y =z)
˙ → x=z)
˙
(transitivité)
– ∀x1 , . . . , xn , y1 , . . . , yn (x1 =y
˙ 1 ∧ . . . ∧ xn =y
˙ n → f x1 · · · xn =f
˙ y1 · · · yn )
pour tout f ∈ FnL
(congruence 1)
– ∀x1 , . . . , xn , y1 , . . . , yn (x1 =y
˙ 1 ∧ . . . ∧ xn =y
˙ n ∧ Rx1 · · · xn → Ry1 · · · yn )
pour tout R ∈ RL
(congruence 2)
n
Remarque. Ces énoncés expriment que =
˙ est une relation de congruence,
c’est-à-dire une relation d’équivalence qui est compatible avec les fonctions et
les relations du langage.
Lemme 2.5.6 (Axiomes du quanteur existentiel). Soient ϕ une L-formule, t
un L-terme et x une variable. Alors la formule ϕt/x → ∃xϕ est universellement
valide.
Démonstration. On pose ψ = ϕt/x → ∃xϕ. Soit α une affectation à valeurs dans
A. Par le lemme de substitution, on a
A |= ϕt/x [α] ⇒ A |= ϕ αtA [α]/x ⇒ A |= ∃xϕ[α].
On en déduit que A |= ψ[α].
Lemme 2.5.7 (Modus ponens). Si ϕ et (ϕ → ψ) sont universellement valides,
alors ψ aussi.
Lemme 2.5.8 (∃-introduction). On suppose que x n’est pas libre dans ψ. Alors
si ϕ → ψ est universellement valide, ∃xϕ → ψ l’est aussi.
Démonstration. Si A |= ∃xϕ[α], il existe a ∈ A tel que A |= ϕ[αa/x ].
Si |= ϕ → ψ, on a donc A |= ψ[αa/x ]. On en déduit A |= ψ[α] par Proposition
2.3.2, puisque x n’est pas libre dans ψ. Cela établit A |= (∃xϕ → ψ)[α].
Exemple. La restriction sur la variable x dans le lemme est nécessaire, come
le montre l’exemple suivant. Soient ϕ = ψ = x=c.
˙ On a |= ϕ → ψ, mais
6|= (∃x x=c
˙ → x=c).
˙
Définition. Une L-théorie est un ensemble de L-énoncés. Soit T une L-théorie.
– Une L-structure A est modèle de T , notée A |= T , si A |= ϕ pour tout
ϕ ∈ T.
– L’énoncé ϕ est conséquence logique de T si pour toute L-structure A qui
est modèle de T on a A |= ϕ. On le note T |= ϕ.
La preuve du lemme 2.5.2 montre que T |= ϕ ne dépend pas du langage L.
28
2.6
Démonstrations formelles et théorème de complétude de Gödel
On va formaliser la notion de preuve.
Axiomes logiques :
– les tautologies ;
– les axiomes de l’égalité ;
– (∃-ax) les axiomes du quanteur existentiel.
Règles de déduction :
– (MP) À partir de ϕ et ϕ → ψ, on peut déduire ψ.
– (∃-intro) Supposons x non libre dans ψ. À partir de ϕ → ψ, on peut
déduire ∃xϕ → ψ.
Définition. Soit ϕ une L-formule et T une L-théorie. Une preuve formelle de
ϕ dans T est une suite finie de L-formules (ϕ0 , . . . , ϕn ) avec ϕn = ϕ et telle que,
pour chaque i ≤ n, soit ϕi ∈ T , soit ϕi est un axiome logique, soit il s’obtient
par (MP) à partir de ϕj et ϕk avec j, k < i, soit il s’obtient par (∃-intro) à partir
d’une formule ϕj avec j < i.
On dit que ϕ est prouvable dans T , notée T `L ϕ, s’il existe une preuve
formelle de ϕ dans T .
A priori, `L dépend du langage L dans lequel la formule ϕ et la théorie T
sont considérées, car si L0 ⊇ L, il y a plus de L0 -preuves que de L-preuves.
Nous verrons plus tard que T |= ϕ si et seulement si T `L ϕ, ce qui montrera en
particulier que la prouvabilité d’une formule est une notion qui est indépendante
du langage.
Dans la suite, on donnera aussi des preuves (ϕ0 , . . . , ϕn ) dans lesquelles des
formules ϕi dont la prouvabilité a déjà été établie antérieurement seront utilisées
comme axiomes. On pourra toujours transformer une telle preuve en une preuve
formelle — il suffit de remplacer ϕi par une preuve formelle de ϕi .
On utilisera parfois l’axiome (dérivé) et les règles (dérivées) qui sont donnés
dans le lemme suivant.
Lemme 2.6.1.
1. (MPGen) Si T `L ϕi pour i = 1, . . . , n et T `L ϕ1 ∧ . . . ∧ ϕn → ψ, alors
T `L ψ.
2. (∀-ax) On a `L ∀x ϕ → ϕt/x pour toute L-formule ϕ, tout L-terme t et
toute variable x.
3. (∀-intro) Si x n’est pas libre dans ϕ et si T `L ϕ → ψ, alors T `L ϕ →
∀x ψ.
4. (Généralisation) Si T `L ψ, alors T `L ∀xψ.
29
Démonstration. (1) La formule suivante est une tautologie :
((ϕ1 ∧ . . . ∧ ϕn → ψ) → (ϕ1 → (ϕ2 → . . . → (ϕn → ψ) · · · ).
On applique (MP) n + 1 fois pour obtenir T `L ψ.
(2) Soient ϕ, t et x donnés. Voici une preuve formelle de ∀x ϕ → ϕt/x (rappelons que ∀xϕ = ¬∃x¬ϕ par définition) :
ϕ0 = (¬ϕt/x → ∃x ¬ϕ)
(∃-ax)
ϕ1 = (¬ϕt/x → ∃x ¬ϕ) → (¬∃x¬ϕ → ϕt/x )
(tautologie)
ϕ2 = ∀x ϕ → ϕt/x
((MP) sur ϕ0 et ϕ1 )
(3) La preuve de (∀-intro) est similaire que celle de (∀-ax). On l’obtient par
contraposition à partir de (∃-intro).
(4) On suppose T `L ψ. On choisit un énoncé prouvable ϕ.
ϕ0 = ϕ
(prouvable par notre choix)
ϕ1 = ψ
(prouvable dans T par hypothèse)
ϕ2 = ψ → (ϕ → ψ)
(tautologie)
ϕ3 = ϕ → ψ
((MP) sur ϕ1 et ϕ2 )
ϕ4 = ϕ → ∀xψ
((∀-intro) appliquée à ϕ3 )
ϕ5 = ∀x ψ
((MP) sur ϕ0 et ϕ4 )
Lemme 2.6.2 (Lemme de déduction). Soit χ un L-énoncé, T une L-théorie et
ϕ une L-formule.
1. T ∪ {χ} `L ϕ ssi T `L χ → ϕ.
2. T `L ϕ ssi il existe ψ1 , . . . , ψn ∈ T tels que `L (ψ1 ∧ · · · ∧ ψn ) → ϕ.
Démonstration. (1) Il est clair que T `L χ → ϕ entraı̂ne T ∪ {χ} `L ϕ. Réciproquement, soit (ϕ0 , . . . , ϕn ) une preuve formelle de ϕ = ϕn dans T ∪ {χ}. Par
induction sur i, on montrera que T `L (χ → ϕi ). Si ϕi = χ, c’est clair, et si
T `L ϕi , cela suit de (MP) et du fait que (ϕi → (χ → ϕi )) est une tautologie.
Cela montre T `L (χ → ϕi ) dans les cas où ϕi est un axiome logique ou un
élement de T .
Si ϕi s’obtient par (MP) à partir de ϕj et ϕk = (ϕj → ϕi ) pour j, k < i, il
suffit d’utiliser (MP) et le fait que ((χ → ϕj ) ∧ (χ → (ϕj → ϕi )) → (χ → ϕi ))
est une tautologie.
Enfin, si ϕi = (∃xψ → ϕ) s’obtient par (∃-intro) à partir de ϕj = (ψ → ϕ)
pour j < i (donc x n’est pas libre dans ϕ), on utilise la tautologie (F → (G →
H)) → (G → (F → H)) deux fois et le fait que x n’est pas libre dans (χ → ϕ)
pour conclure :
T `L χ → (ψ → ϕ) ⇒ T `L ψ → (χ → ϕ)
(par ∃-intro) ⇒ T `L ∃xψ → (χ → ϕ)
⇒ T `L χ → (∃xψ → ϕ)
La partie (2) se déduit facilement de (1).
30
Lemme 2.6.3 (Simulation des constantes par des variables). Soit ψ une Lformule, T une L-théorie, et C un ensemble de constantes tel que L ∩ C = ∅.
(a) Soit x une variable et c ∈ C. Les propriétés suivantes sont équivalentes :
(1) T `L ψ
(2) T `L∪{c} ψc/x
(3) T `L∪{c} ψ
(b) On a T `L ψ si et seulement si T `L∪C ψ.
Démonstration. On supposera dans la preuve que T = ∅. La preuve du cas
général est la même. Montrons d’abord la partie (a).
(1)⇒(3) est triviale. (Toute L-preuve est une L ∪ {c}-preuve.)
(3)⇒(2). Si `L∪{c} ψ, alors `L∪{c} ∀xψ par généralisation. En utilisant (∀ax) et (MP), on obtient `L∪{c} ψc/x .
(2)⇒(1). Pour ϕ̃ une L ∪ {c}-formule et y une variable sans occurrence dans
ϕ̃, on notera ϕ = ϕ̃y/c le mot obtenu en substituant toute occurrence de c dans
ϕ̃ par y.
Soient ϕ̃, ψ̃ et χ̃ des L ∪ {c}-formules sans occurrences de y. Alors on a les
propriétés suivantes :
(i) ϕ est une L-formule.
(ii) ϕc/y = ϕ̃.
(iii) Si ϕ̃ est un axiome d’égalité (respectivement une tautologie ou un ∃axiome), alors ϕ aussi.
(iv) Si ϕ̃ s’obtient par (MP) à partir de ψ̃ et χ̃, alors ϕ s’obtient par (MP)
à partir de ψ et χ.
(v) Si ϕ̃ s’obtient par (∃-intro) à partir de ψ̃, alors ϕ s’obtient par (∃-intro)
à partir de ψ.
On peut montrer (i) par induction sur la hauteur de ϕ, et (ii) est une conséquence de l’exemple 2.4.3(2). Les propriétés (iv) et (v) sont immédiates, de
même les cas d’un axiome d’égalite ou d’une tautologie dans (iii). Reste à vérifier le cas d’un (∃-ax) dans (iii) : Si ϕ̃ = (δ̃t/x → ∃xδ̃), il faut monter que
ϕ = ([δ̃t/x ]y/c → ∃x[δ̃]y/c ) est un axiome de quanteur existentiel. Ceci est une
conséquence de l’identité
[δ̃t/x ]y/c = [δ̃y/c ]ty/c /x
dont la preuve se fait par induction et est laissée en exercice.
Maintenant, soit (ϕ̃0 , . . . , ϕ̃m ) une L∪{c}-preuve formelle de ψc/x . On choisit
une variable y sans occurrence dans ϕ̃0 , . . . , ϕ̃m et telle que y 6= x.
On déduit des propriétés (i)-(v) que (ϕ0 , . . . , ϕm ) est une L-preuve formelle
de ϕm = (ψc/x )y/c = ψy/x . (On utilise 2.4.3(2) pour établir cette égalité.) En
généralisant on obtient `L ∀yψy/x .
On utilise (∀-ax)
et (MP) pour montrer `L (ψy/x )x/y . Or, le lemme 2.4.4
montre que ψy/x x/y = ψ, ce qui termine la preuve de (2)⇒(1).
31
La partie (b) est une conséquence immédiate de (a). En effet, comme toute
L ∪ C-preuve n’utilise qu’un nombre fini de constantes de C, on peut supposer
que C est fini. On termine donc par une induction sur le cardinal de C, en
utilisant (1)⇔(3).
Définition. Soit T une L-théorie.
– T est contradictoire s’il existe un énoncé ϕ tel que T `L ϕ et T `L ¬ϕ.
– T est cohérente si elle est non contradictoire.
– T est complète si elle est cohérente et pour tout L-énoncé ϕ on a soit
T `L ϕ, soit T `L ¬ϕ.
Remarque 2.6.4. Pour une L-théorie T , sont équivalents :
1. T est contradictoire ;
2. T `L ϕ pour tout L-énoncé ϕ ;
3. il existe ψ1 , . . . , ψn ∈ T tels que `L ¬(ψ1 ∧ · · · ∧ ψn ).
Démonstration. Exercice.
Lemme 2.6.5. Soit T une L-théorie.
1. Soit ψ un L-énoncé. Alors T `L ψ ssi T ∪ {¬ψ} est contradictoire.
2. Soit ϕ(x) une L-formule et c ∈ L une constante qui n’a pas d’occurrence
dans T ∪ {ϕ(x)}. On suppose que T est cohérente. Alors la théorie T ∪
{∃xϕ → ϕc/x } est une L-théorie cohérente.
Démonstration. (1) Le sens direct est clair. Réciproquement, si T ∪ {¬ψ} est
contradictoire, par le lemme de déduction, il existe un L-énoncé ϕ tel que T `L
ψ → ϕ et T `L ψ → ¬ϕ. On utilise la tautologie ((ψ → ϕ) → (ψ → ¬ϕ)) → ψ
et (MP) pour conclure.
(2) Si la conclusion était fausse, on aurait T `L ∃xϕ ∧ ¬ϕc/x par la première
partie du lemme. Par le lemme de déduction il existerait donc ψ1 , . . . , ψn ∈ T
tels que `L (ψ1 ∧ . . . ∧ ψn ) → (∃xϕ ∧ ¬ϕc/x ).
Nous allons montrer que si `L ψ → (∃xϕ ∧ ¬ϕc/x ) pour un L-énoncé ψ
qui ne contient pas c, alors `L ¬ψ. En effet, on a clairement `L ¬∃xϕ → ¬ψ
et `L ϕc/x → ¬ψ. Le dernier donne `L ϕ → ¬ψ par le Lemme 2.6.3(a), puis
`L ∃xϕ → ¬ψ par (∃-intro). En utilisant des tautologies convenables et (MP),
on obtient `L ¬ψ.
Exemples 2.6.6.
1. Soit A une L-structure. Alors Th(A) := {ϕ L-énoncé |
A |= ϕ} est une théorie, appelée la théorie de A. C’est une théorie complète. (Sa cohérence sera une conséquence de la direction facile du théoréme de complétude.)
2. La théorie des corps algébriquement clos est la Lan -théorie CAC qui outre
les axiomes de corps contient un énoncé χn pour tout n ≥ 1 exprimant
que tout polynôme de degré n a une racine.
˙ marche ; cette formule
[χn = ∀z0 , . . . , zn−1 ∃x(xn + zn−1 xn−1 + . . . + z0 =0)
peut être réécrite dans Lan .]
32
Théorème 2.6.7 (Théorème de complétude de Gödel). Soit T une L-théorie
et ϕ un L-énoncé. Alors T |= ϕ si et seulement si T `L ϕ.
Remarque. Comme |= ne dépend pas du langage considéré, a postiori `L n’en
dépend pas non plus. Une fois le théorème de complétude établi, nous écrivons
donc ` au lieu de `L .
Démonstration. T `L ϕ ⇒ T |= ϕ. Ce sens facile exprime que notre calcul de
preuves formelles est correct. En effet, `L ϕ ⇒ |= ϕ est une conséquence des
lemmes 2.5.4–2.5.8. Si T `L ϕ, il existe ψ1 , . . . , ψn ∈ T tels que `L (ψ1 ∧ . . . ∧
ψn ) → ϕ. Donc |= (ψ1 ∧ . . . ∧ ψn ) → ϕ et alors pour tout A |= T on a A |= ϕ
(car A |= ψ1 ∧ . . . ∧ ψn ).
T |= ϕ ⇒ T `L ϕ. C’est le sens non trivial. Il sera conséquence du théorème
d’existence de modèle suivant. En fait, comme
T 6|= ϕ ⇐⇒ T ∪ {¬ϕ} a un modèle
(par définition), et
T 6`L ϕ ⇐⇒ T ∪ {¬ϕ} est cohérente
(Lemme 2.6.5(1)),
ce théorème est équivalent au théorème de complétude.
Théorème 2.6.8. Une théorie a un modèle si et seulement si elle est cohérente.
Démonstration. La direction facile a déja été montrée. Pour montrer que toute
théorie cohérente T a un modèle, l’idée est de construire une expansion T +
de T dans un langage L+ ⊇ L qui ressemble au « diagramme complet d’une
structure ». Nous avons besoin d’une définition.
Définition. Soit L un langage et C un ensemble de constantes avec L ∩ C = ∅.
On dit qu’une L ∪ C-théorie T + admet des témoins de Henkin dans C si pour
toute L ∪ C-formule ϕ = ϕ(x) il existe c ∈ C tel que ∃xϕ → ϕc/x ∈ T + .
Si A est une L-structure et A = {ac | c ∈ C} une énumération (non nécessairement injective) de son ensemble de base par C, on note A+ la L ∪ C-structure
obtenue à partir de A en interprétant c par ac . Alors Th(A+ ) est une théorie complète qui admet des témoins de Henkin dans C. En fait, toute théorie
complète qui admet des témoins de Henkin dans C est de cette forme :
Proposition 2.6.9. Toute L ∪ C-théorie complète T + qui admet des témoins
de Henkin dans C a un modèle A+ formé de constantes de C, c’est-à-dire dont
+
l’ensemble de base est de la forme A+ = {cA | c ∈ C}.
Démonstration de 2.6.9. Quitte à remplacer T + par {ϕ L ∪ C-énoncé | T + `L∪C
ϕ}, on peut supposer que T + est déductivement close (T `L∪C ϕ ssi ϕ ∈ T + ).
Sur C, la relation c ∼ d : ⇐⇒ c=d
˙ ∈ T + est une relation d’équivalence. En
effet, cela découle des axiomes de l’égalité. On pose ac := c/∼ et A+ := {ac |
c ∈ C}. Évidemment, on a A+ 6= ∅. On définit une L ∪ C-structure A+ sur A+
comme suit :
33
+
– Pour d une constante, on pose dA := ac si c=d
˙ ∈ T + . Pour montrer
qu’un tel c existe, on raisonne ainsi : d=d
˙ → ∃xx=d
˙ ∈ T + (par (∃-ax)),
+
+
donc ∃xx=d
˙ ∈ T par (MP) ; comme T admet des témoins de Henkin,
il existe c ∈ C tel que ∃xx=d
˙ → c=d
˙ ∈ T + , d’où c=d
˙ ∈ T + par (MP).
C’est bien défini par les axiomes de l’égalité.
+
A
– R ∈ RL
: ⇐⇒ Rc1 · · · cn ∈ T + .
n . On définit (ac1 , . . . , acn ) ∈ R
C’est bien défini par les axiomes de l’égalité (congruence 2).
+
– f ∈ FnL . On définit f A (ac1 , . . . , acn ) = ac0 : ⇐⇒ f c1 · · · cn =c
˙ 0 ∈ T +.
On montre sans problème en utilisant les axiomes de l’égalité (congruence
1) que c’est bien défini. Un argument similaire à celui donné pour les
+
constantes montre que f A est une fonction qui est définie partout.
+
(I) Si t est un L ∪ C-terme sans variable, alors tA = ac ⇐⇒ t=c
˙ ∈ T +.
(II) Soit ψ un L ∪ C-énoncé. Alors A+ |= ψ ⇐⇒ ψ ∈ T + .
On démontre (I) par induction sur ht(t), en utilisant les axiomes de l’égalité.
Quant à (II), on raisonne par induction sur ht(ψ), où ψ est un L ∪ C-énoncé.
Rappelons que ht(ϕ) = ht(ϕs/x ) (voir l’exercice 2.4.1).
Si ψ = t1 =t
˙ 2 , alors (II) suit de (I).
+
= aci . Comme ti =c
Si ψ = Rt1 · · · tn , on choisit ci ∈ C tel que tA
˙ i ∈ T +,
i
+
+
+
on a A |= ψ ⇐⇒ Rc1 · · · cn ∈ T ⇐⇒ ψ ∈ T . La première équivalence suit
de la définition de A+ , la seconde suit de la congruence 2.
Le cas ψ = (ϕ1 ∧ ϕ2 ) est facile.
Si ψ = ¬ϕ, on a A+ |= ψ ⇐⇒ A+ 6|= ϕ ⇐⇒ ϕ 6∈ T + ⇐⇒ ψ ∈ T + ,
puisque T + est complète par hypothèse.
Finalement, soit ψ = ∃xϕ. On montre d’abord que ψ ∈ T + ⇐⇒ il existe
c ∈ C tel que ϕc/x ∈ T + . En effet, comme T + admet des témoins de Henkin
dans C, on a le sens direct. Pour le sens indirect, il suffit d’appliquer (∃-ax),
(MP) et utiliser que T + est déductivement close.
On obtient les équivalences A+ |= ψ ⇐⇒ A+ |= ϕ[ac ] pour un c ∈ C
(Lemme de substitution) ⇐⇒ A+ |= ϕc/x pour un c ∈ C
(Hypothèse d’induction) ⇐⇒ ϕc/x ∈ T + pour un c ∈ C
⇐⇒ ψ ∈ T +
A+ est donc un modèle de T + qui est formé de constantes de C.
Le lemme suivant terminera la preuve du théorème 2.6.8, car si A+ est un
modèle de la L+ = L ∪ C-théorie T + avec T + ⊇ T , alors le réduit de A+ au
langage L est un modèle de T .
Lemme 2.6.10. Soit T une L-théorie cohérente. Alors il existe une L ∪ Cthéorie complète T + contenant T qui admet des témoins de Henkin dans C.
Démonstration. Pour toute L-formule à une variable libre ϕ = ϕ(x) on introduit
une nouvelle constante cϕ . Soit C1 l’ensemble des cϕ . On pose L1 = L ∪ C1 et
T1 := T̃ := T ∪ {∃xϕ → ϕcϕ /x | ϕ = ϕ(x)}. Montrons que T1 est une L1 -théorie
cohérente. Comme une théorie est cohérente si et seulement si toute partie finie
34
est cohérente, il suffit évidemment de montrer que la théorie T̃ 0 = T ∪ {∃xi ϕi →
ϕic i /xi } est cohérente pour tout ensemble fini {ϕ1 , . . . , ϕn } de formules. Comme
ϕ
T est cohérente en tant que L1 -théorie par 2.6.3, c’est une conséquence du lemme
2.6.5(2), quitte à raisonner par induction sur n.
On répète cette construction, avec C2 un ensemble de nouvelles constantes,
L2 := L1 ∪ C2 et la L2 -théorie T2 := T̃1 . On montre qu’il s’agit d’une théorie
cohérente. Si Tn est construite, on trouve Tn+1 := ST̃n , une théorie cohérente
dans le langage Ln+1 = Ln ∪ Cn+1 . Posons C := n∈N Cn et L+ := L ∪ C.
+
+
Alors (T
S n )n∈N est une suite croissante de L -théories cohérentes. La L -théorie
0
T := n∈N Tn est alors cohérente. Par construction, elle admet des témoins de
Henkin dans C.
Comme toute L+ -théorie S 0 contenant T 0 admet des témoins de Henkin
dans C, il reste à montrer que toute L+ -théorie cohérente est contenue dans
une L+ -théorie complète. C’est une conséquence du Lemme de Zorn. En effet,
l’ensemble S = {S 0 ⊇ T 0 | S 0 et une L+ -théorie cohérente} est non vide et
ordonné partiellement par inclusion. Comme la réunion d’une chaı̂ne de théories
cohérentes est cohérente, cet ordre est inductif. Par le lemme de Zorn, il existe un
élément maximal dans S, autrement dit il existe une L+ -théorie T + ⊇ T 0 qui est
maximale cohérente. Soit ϕ un L+ -énoncé. Si T 6`L+ ϕ, la L+ -théorie T + ∪{¬ϕ}
est cohérente par 2.6.5(1). On en déduit que ¬ϕ ∈ T + par maximalité, ce qui
montre que T + est complète et termine la preuve.
Si L est dénombrable, le lemme admet une preuve par une construction plus
directe. Nous allons l’esquisser maintenant. On choisit un ensemble C = {cn |
n ∈ N} de nouvelles constantes et on énumère l’ensemble des L ∪ C-énoncés via
ϕ1 , ϕ2 , . . .. Par induction, on construit une suite croissante de L ∪ C-théories
cohérentes ayant les propriétés suivantes :
– T0 = T , et Tn \ T est fini pour tout n ∈ N ;
– ϕn ∈ Tn+1 ou ¬ϕn ∈ Tn+1 ;
– si ϕn = ∃xψ, alors il existe c ∈ C tel que ψc/x ∈ Tn+1 .S
Une fois la suite des Tn construite, il suffit de poser T + := n∈N Tn . C’est une
théorie complète par construction, et elle admet des témoins de Henkin dans C.
En effet, soit ψ(x) donnée. Alors il existe n ∈ N tel que ∃xψ = ϕn . Si ϕn ∈ T + ,
alors par construction ψc/x ∈ T + pour un c ∈ C, donc ∃xψ → ψc/x ∈ T + .
Sinon, on a ¬∃xψ ∈ T + , d’où trivialement ∃xψ → ψc/x ∈ T + pour tout c.
Supposons Tn construite. Si Tn ∪ {ϕn } est cohérente, on pose ψn = ϕn .
Sinon, ψn = ¬ϕn . Dans les deux cas, Tn ∪ {ψn } est cohérente. Si ψn n’est pas
de la forme ∃xχ, on pose Tn+1 := Tn ∪ {ψn }. Sinon, soit m minimal tel que cm
n’a pas d’occurrence dans Tn (il existe car Tn \ T est fini). On pose Tn+1 :=
Tn ∪ {ψn , χcm /x }. La théorie Tn+1 est cohérente par le lemme 2.6.5(2).
35
Chapitre 3
Premiers pas en théorie des
modèles
3.1
Quelques théorèmes fondamentaux
Théorème 3.1.1 (Théorème de compacité). Soit T une théorie dont toute
partie finie a un modèle. Alors T a un modèle.
Démonstration. La théorie T est cohérente si et seulement si toute partie finie
de T est cohérente. Le résultat suit du théorème 2.6.8.
Exercice. Soit X l’ensemble des L-théories T complètes et closes par déduction.
Sur X, on définit une topologie de la manière suivante. Pour ϕ un L-énoncé, on
note hϕi := {T ∈ X | ϕ ∈ T }, et on prend la collection des hϕi comme base
d’ouverts d’une topologie. Montrer :
1. hϕ ∧ ψi = hϕi ∩ hψi et h¬ϕi = X \ hϕi. En particulier, les hϕi forment une
base d’ouverts-fermés.
2. Cette topologie est compacte et séparée.
Définition. Soient M et N des L-structures.
1. On dit que M et N sont élémentairement équivalentes, si Th(M) = Th(N),
c’est-à-dire si elles satisfont les mêmes énoncés. On le note M ≡ N.
2. Soit M une sous-structure de N (ce que l’on note M ⊆ N). On dit que
c’est une sous-structure élémentaire (et N est appelée extension élémentaire de M) si pour toute L-formule ϕ = ϕ(x1 , . . . , xn ) et tout uplet
a = (a1 , . . . , an ) ∈ M n on a M |= ϕ[a] si et seulement si N |= ϕ[a].
On le note M 4 N.
Remarque.
1. Si M 4 N, alors M ≡ N.
2. Si M et N sont isomorphes, alors M ≡ N.
36
L’exemple suivant montre que M ⊆ N et M ≡ N n’entraı̂ne pas toujours
M 4 N.
Exemple. Dans le langage L< , on considère N := hN; <i et M := hN∗ ; <i, où
N∗ := N \ {0}.
On a M ⊆ N et M ∼
= N, en particulier M ≡ N. Or, l’extension M ⊆ N n’est
pas élémentaire, puisque M |= ¬∃x x < 1 et N |= ∃x x < 1.
Théorème 3.1.2 (Test de Tarski-Vaught). Soient M ⊆ N deux L-structures.
On suppose que pour toute L-formule ϕ(x0 , . . . , xn ) et tout uplet (a1 , . . . , an ) ∈
M n , s’il existe b0 ∈ N tel que N |= ϕ[b0 , a1 , . . . , an ], alors il existe a0 ∈ M tel
que N |= ϕ[a0 , a1 , . . . , an ]. Alors M 4 N.
Démonstration. Par induction sur ht(ϕ(x1 , . . . , xn )) on montre : pour tout a ∈
M n on a M |= ϕ[a] ⇐⇒ N |= ϕ[a].
Si ϕ est une formule atomique, c’est vrai car M est une sous-structure de N.
Le cas des connecteurs logiques est clair.
Soit donc ϕ = ϕ(x1 , . . . , xn ) = ∃x0 ψ(x0 , . . . , xn ). (Comme x0 n’est pas libre
dans ϕ, on peut supposer que x0 6= xi pour i = 1, . . . , n.) Soit (a1 , . . . , an ) ∈ M n .
On a M |= ϕ[a1 , . . . , an ] ⇐⇒ il existe a0 ∈ M tel que M |= ψ[a0 , . . . , an ]
(hypothèse d’induction) ⇐⇒ il existe a0 ∈ M tel que N |= ψ[a0 , . . . , an ]
(hypothèse du théorème) ⇐⇒ il existe b0 ∈ N tel que N |= ψ[b0 , . . . , an ]
⇐⇒ N |= ϕ[a1 , . . . , an ].
Notons que pour tout langage L on a card(L) = card(FmlL ) ≥ card(T L ).
(Exercice.)
Théorème 3.1.3 (Théorème de Löwenheim-Skolem descendant). Soit M une
L-structure et A ⊆ M une partie de l’ensemble de base de M. On suppose que
card(M ) ≥ card(L). Alors il existe une sous-structure élémentaire M0 de M
contenant A et de cardinalité sup(card(A), card(L)).
Démonstration. Quitte à agrandir A on peut supposer que card(A) ≥ card(L).
Dans cette preuve, si ∅ =
6 B ⊆ M , nous notons B̃ ⊆ M l’ensemble de
base de hBiM (la sous-structure engendrée par B). On a B̃ = {tM [b1 , . . . , bn ] |
t = t(x1 , . . . , xn ) ∈ T L , b1 , . . . , bn ∈ B} (Exercice 2.3.3). En particulier, si
card(B)
S ≥ card(L), alors card(B) = card(B̃), puisqu’il existe une surjection de
T L × n∈N B n sur B̃.
Soit A0 := hAiM et A0 := Ã. Étant défini Ai ⊆ M , on construit Ai+1 comme
suit. Pour toute L-formule ϕ(x0 , . . . , xn ) et tout n-uplet a ∈ Ani , si M |= ϕ[b0 , a]
pour un b0 ∈ M , on choisit c(ϕ, a) ∈ M tel que M |= ϕ[c(ϕ, a), a]. On pose
Bi+1 := Ai ∪ {c(ϕ, a) | ϕ = ϕ(x0 , . . . , xn ) ∈ FmlL , a1 , . . . , an ∈ Ai }, puis
]
Ai+1 := B
de base de Ai+1 = hBi+1 iM .
i+1 , l’ensemble
S
Soit M0 := i∈N Ai . Alors M0 contient cM pour tout c ∈ C L et est clos par
f M pour tout f ∈ F L . C’est donc l’ensemble de base d’une sous-structure M0
de M.
37
Soit ϕ = ϕ(x0 , . . . , xn ) une formule, a ∈ M0n et b0 ∈ M tel que M |= ϕ[b0 , a].
Il existe N ∈ N tel que a1 , . . . , an ∈ AN . Par construction de AN +1 il existe
c0 ∈ AN +1 ⊆ M0 tel que M |= ϕ[c0 , a]. Donc M0 4 M par le test de TarskiVaught. Le fait que card(M0 ) = card(A) est clair.
Exemples 3.1.4. Soit R = hR; +, −, 0, 1, ·, <i le corps ordonné des réels.
1. Il existe R0 ≡ R avec R0 non archimédien, c’est-à-dire contenant un élément ε > 0 tel que n · ε = ε + . . . + ε < 1 pour tout n ∈ N. Un tel ε est
| {z }
n fois
appelé infinitésimal.
2. Il existe R0 4 R tel que R0 ne soit pas complet.
Démonstration. (1) Soit c une nouvelle constante et L := Lc.ord ∪ {c}. On
considère la L-théorie T := Th(R) ∪ {0 < c} ∪ {ϕn = c + . . . + c < 1 | n ∈ N}.
| {z }
n fois
Soit T0 ⊆ T une partie finie. Alors il existe N ∈ N tel que ϕm 6∈ T0 pour tout
m ≥ N . L’expansion de R à L obtenue en interprétant c par 1/N ∈ R est donc
0
un modèle de T0 . Par compacité, T a un modèle R0 . L’élément ε = cR montre
que R0 n’est pas archimédien.
(2) Par le théorème de Löwenheim-Skolem descendant (pour A = ∅), il existe
R0 4 R avec R0 dénombrable. On a Q ⊆ R0 , car R0 est un corps. On choisit
r ∈ R \ R0 . Alors la partie {r0 ∈ R0 | r0 < r} n’a pas de supremum dans R0 , car
R0 est dense dans R.
Remarque. On peut montrer que Ralg 4 R, où Ralg = hRalg ; +, −, 0, 1, ·, <i
et Ralg = {r ∈ R | il existe 0 6= p(X) ∈ Q[X] tel que p(r) = 0}.
Définition. Soit P une propriété que chaque L-structure est susceptible de
vérifier ou non.
On dit que P est axiomatisable (resp. finiment axiomatisable) s’il existe
une L-théorie T (resp. un L-énoncé ϕ) telle que pour toute L-structure M, la
propriété P est satisfaite par M si et seulement si M |= T (resp. M |= ϕ).
Dans ce cas, on dit que T (resp. ϕ) axiomatise la propriété P.
Proposition 3.1.5. Soit P une propriété que chaque L-structure est susceptible
de vérifier ou non. Alors P est finiment axiomatisable si et seulement si et P et
la négation de P sont axiomatisables.
Démonstration. Si ϕ axiomatise P, alors ¬ϕ axiomatise la négation de P. Réciproquement, on suppose que T axiomatise P et que T 0 axiomatise la négation de P. La théorie T ∪ T 0 est contradictoire. Il existe donc ϕ1 , . . . , ϕn ∈ T ,
ϕ01 , . . . , ϕ0m ∈ T 0 tels que {ϕ1 , . . . , ϕn , ϕ01 , . . . , ϕ0m } soit contradictoire. On a
M |= T ⇒ M |=
n
^
ϕi ⇒ M 6|=
i=1
Cela montre que ϕ =
Vn
i=1
m
^
ϕ0i ⇒ M 6|= T 0 ⇒ M |= T.
i=1
ϕi est une axiomatisation finie de P.
38
Exemples 3.1.6.
1. Soit p un nombre premier. Alors les corps de caractéristique p sont finiment axiomatisables (dans le langage Lan ).
2. Les corps de caractéristique 0 sont axiomatisables dans Lan , mais pas
finiment. (En effet, si l’énoncé ϕ0 était une axiomatisation finie, il serait
˙ | p premier}, et on aurait alors
conséquence de ϕcorps ∪ {¬ 1 + . . . + 1 =0
| {z }
p fois
ϕcorps ∪ {¬ 1 + . . . + 1 =0
˙ | p premier et p < N } ` ϕ0 pour un N ∈ N.
| {z }
p fois
Contradiction, puisqu’il existe des corps de caractéristique p > N .)
3. Les corps ordonnés archimédiens ne sont pas axiomatisables (cf. 3.1.4(1)).
4. Les corps ordonnés complets ne sont pas axiomatisables (cf. 3.1.4(2)).
On observe que les deux derniers exemples précisent ce que nous avons dit
au début du chapitre 2.
3.2
La méthode des diagrammes
Soit M une L-structure. On considère le langage LM obtenu en rajoutant
à L une constante nouvelle cm pour chaque élément m de M . La structure M
admet une expansion naturelle au langage LM , en interprétant cm par m. On
note M∗ la LM -structure ainsi obtenue.
Par abus de notation, on identifiera parfois m et cm dans la suite. Cela ne
pose pas de vrai problème, à cause du lemme de substitution.
Définition.
1. Le diagramme complet de M, noté D(M), est défini comme
Th(M∗ ). Il est donc formé des ϕ(cm1 , . . . , cmn ), où ϕ = ϕ(x1 , . . . , xn ) est
une L-formule et m ∈ M n tel que M |= ϕ[m1 , . . . , mn ].
2. Le diagramme simple de M, noté ∆(M), est formé des ϕ(cm1 , . . . , cmn ), où
ϕ est une L-formule sans quanteur et m ∈ M n tel que M |= ϕ[m1 , . . . , mn ].
Proposition 3.2.1. Les réduits au langage L des modèles de D(M) correspondent, à L-isomorphisme près, aux extensions élémentaires de M.
Démonstration. Soit N∗ |= D(M) et N := N∗ L son L-réduit. L’application
m 7→ cN
m définit un isomorphisme entre M et une sous-structure élémentaire de
N (exercice facile).
Réciproquement, si M 4 N, il suffit de considérer la LM -expansion N∗ de
N obtenue en interprétant cm par m. On a alors N∗ |= D(M). En effet, soit
ϕ(cm1 , . . . , cmn ) ∈ D(M). Alors M |= ϕ[m1 , . . . , mn ] ⇒ N |= ϕ[m1 , . . . , mn ] ⇒
N∗ |= ϕ(cm1 , . . . , cmn ), par élémentarité et le lemme de substitution.
Proposition 3.2.2. Les réduits au langage L des modèles de ∆(M) correspondent, à L-isomorphisme près, aux extensions de M.
Démonstration. Similaire à la preuve précédente.
Exercice 3.2.3.
39
1. Soient M1 et M2 deux L-structures. Montrer que M1 ≡ M2 si et seulement
s’il existe N1 , N2 et P telles que Mi ∼
= Ni et Ni 4 P pour i = 1, 2.
(Indication : On pourra montrer que D(M1 ) ∪ D(M2 ) est une théorie
cohérente, où les deux ensembles de constantes sont choisis disjoints.)
2. Soit T = Th(N), où N est la Lar -structure hN; S, 0, +, ·, <i. Montrer qu’il
existe N0 |= T tel que N 0 contienne un nombre premier non standard
p0 (par cela, on entend que N0 |= ∀x(∃y x · y =p
˙ 0 → (x=1
˙ ∨ x=p
˙ 0 )) et
0
0
N |= (S
· · S} 0) < p pour tout n ∈ N).
| ·{z
n fois
Théorème 3.2.4 (Théorème de Löwenheim-Skolem ascendant). Soit M une
L-structure infinie et κ un cardinal tel que κ ≥ sup(card(M ), card(L)). Alors il
existe une extension élémentaire de M qui est de cardinalité κ.
Corollaire 3.2.5. Soit T une théorie ayant un modèle infini. Alors T a un
modèle en tout cardinal ≥ card(L).
Démonstration du théorème 3.2.4. Il suffit de construire une extension élémentaire N de M qui est de cardinalité ≥ κ, puis d’appliquer le théorème de
Löwenheim-Skolem descendant à un ensemble A ⊆ N de cardinalité κ et contenant M .
Pour chaque i ∈ κ, soit ci une nouvelle constante. Soit L̃ := LM ∪{ci | i ∈ κ},
et soit T̃ := D(M) ∪ {¬ci =c
˙ j | i < j < κ}. C’est une L̃-théorie qui est finiment
satisfaisable. En effet, si T̃0 est une partie finie de T̃ , il suffit d’interpréter les
symboles de constantes ci1 , . . . , cin qui apparaissent dans T̃0 par des éléments
distincts de M pour construire une expansion de M∗ qui est modèle de T̃0 .
Comme M est infini, c’est possible. Par compacité, on trouve alors Ñ |= T̃
dont le L-réduit N est une extension élémentaire de M (par 3.2.1) qui est de
cardinalité ≥ κ, puisqu’il contient les κ éléments 2 à 2 distincts cÑ
i , i ∈ κ.
Exercice 3.2.6. Soit L un langage fini (c’est-à-dire dont la signature σ L est
finie), et soit M une L-structure finie.
1. Montrer qu’il existe un LM -énoncé ϕ ∈ ∆(M) tel que ` ϕ → ϕ0 pour tout
ϕ0 ∈ ∆(M).
2. En déduire que si N ≡ M, alors N ∼
= M.
0
0
3. (Plus difficile.) Soit M une L -structure finie, avec L0 non nécessairement
fini. Montrer que N0 ≡ M0 ⇒ N ∼
= M.
3.3
Expansions par définitions
Soit T une L-théorie et ϕ = ϕ(x1 , . . . , xn ) une L-formule. On peut introduire un nouveau symbole de relation (n-aire) R et définir la L0 = L ∪ {R}théorie T ∪ {∀x1 , . . . , xn (ϕ(x1 , . . . , xn ) ↔ Rx1 · · · xn )}. Alors T 0 est une expansion conservatrice de T , c’est-à-dire : pour tout L-énoncé ψ on a T |= ψ si et
seulement si T 0 |= ψ. C’est clair, car tout modèle de T admet une L0 -expansion
(même unique) en un modèle de T 0 .
40
On dit que deux formules ϕ1 (x1 , . . . , xn ) et ϕ2 (x1 , . . . , xn ) sont équivalentes
dans la théorie T̃ si T̃ |= ∀x1 , . . . , xn (ϕ1 ↔ ϕ2 ).
Par induction, on montre que toute L0 -formule est équivalente, dans T 0 , à
une L-formule.
Notation. ∃!xψ (« il existe un et un seul x tel que ψ ») est une abbréviation
pour ∃x(ψ ∧ ∀x0 (ψx0 /x → x = x0 )), où x0 est une variable distincte de x.
Si l’on rajoute un symbole de fonction (resp. symbole de constante) pour une
fonction (resp. constante) définissable, l’expansion T 0 ainsi construite satisfait
toujours les mêmes propriétés (Proposition 3.3.2).
Lemme 3.3.1. Toute formule est logiquement équivalente à une formule dans
laquelle ne figurent que des termes de hauteur ≤ 1.
Démonstration. Pour ϕ une formule, soit M (ϕ) la hauteur maximale d’un terme
dans ϕ. On fait une preuve par induction sur (M (ϕ), ht(ϕ)) ordonné lexicographiquement. Le seul cas non trivial est le cas d’une formule atomique ϕ, disons
ϕ = Rt1 · · · tn . Pour simplifier les notations, nous supposons que ht(ti ) > 1
pour i = 1, . . . , m et ht(ti ) ≤ 1 pour i > m. Pour i = 1, . . . , m, soit ti =
fi (si,1 , . . . , si,ki ). Pour i = 1, . . . , m on choisit des nouvelles variables yi,j pour
1 ≤ j ≤ ki . Si y i := (yi,1 , . . . , yi,ki ), alors ϕ est équivalente à


^
ψ = ∃y 1 , . . . , y m Rf1 (y 1 ) · · · fm (y m )tm+1 · · · tn ∧
yi,j =s
˙ i,j 
i,j
et on a M (ψ) < M (ϕ). Le cas ϕ = t1 =t
˙ 2 est similaire.
Proposition 3.3.2 (Fonctions définissables). Soit ϕ(x0 , . . . , xn ) une L-formule.
On suppose que T |= ∀x1 , . . . , xn ∃!x0 ϕ, c’est-à-dire que dans tout modèle de T ,
ϕ définit le graphe d’une fonction n-aire.
– Si n > 0, soit f un nouveau symbole de fonction n-aire, L0 = L ∪ {f } et
soit T 0 = T ∪ {∀x1 , . . . , xn ϕ(f (x1 , . . . , xn ), x1 , . . . , xn )}.
– Si n = 0, soit c un nouveau symbole de constante, L0 = L ∪ {c} et soit
T 0 = T ∪ {ϕ(c)}.
Alors T 0 est une expansion conservatrice de T . De plus, toute L0 -formule ψ
est équivalente dans T 0 à une L-formule ψ ∗ .
Démonstration. Nous donnons l’argument dans le cas n > 0, le cas n = 0 étant
similaire.
Tout modèle M de T admet une L0 -expansion (même unique) en un modèle
0
0
M de T 0 . En effet, il faut et il suffit de définir f M (a1 , . . . , an ) = a0 si M |=
0
ϕ[a0 , a1 , . . . , an ]. Donc T ⊇ T est conservatrice.
Soit d’abord ψ une L0 -formule atomique ne contenant que des termes de
hauteur ≤ 1, disons ψ = Rt1 · · · tm . On suppose que pour i = 1, . . . , k on ait
ti = f (si1 , . . . , sin ) et que f n’apparaisse pas dans ti pour i > k. Les sij sont
41
des termes de hauteur 0, donc en particulier des L-termes. Soient z1 , . . . , zk des
nouvelles variables. Alors la L-formule
!
m
^
∗
i
i
ψ := ∃z1 , . . . , zk Rz1 · · · zk tk+1 · · · tm ∧
ϕ(zi , s1 , . . . , sn )
i=1
est équivalente (modulo T 0 ) à ψ. Si ψ = t1 =t
˙ 2 , l’argument est le même.
Soit maintenant ψ une L0 -formule arbitraire. Par le lemme, on peut supposer que tous les termes figurant dans ψ sont de hauteurs au plus 1. Pour
toute sous-formule atomique ϕ de ψ, on choisit une L-formule équivalente ϕ∗ .
(On vient de construire une telle formule.) On définit ψ ∗ comme la L-formule
obtenue en remplaçant toute sous-formule atomique ϕ de ψ par la formule ϕ∗
correspondante.
C’est un fait général que si on remplace des sous-formules par des sousformules équivalentes, on obtient une formule équivalente. (Exercice.)
Une expansion par des relations, fonctions et constantes définissables est
appelée une expansion par définition.
Exemples 3.3.3.
1. Soit T 0 = Th(R) la théorie du corps ordonné des réels,
et soit T la théorie du (pur) corps des réels. Comme dans R on a r < s si
et seulement s’il existe t 6= 0 tel que t2 = s − r, T 0 est une expansion par
définition de T .
2. Soit T = Th(hℵ1 ; <i). Alors ω est une constante définissable dans T ,
c’est-à-dire il existe une formule ϕ(x0 ) telle que T |= ∃!x0 ϕ et hℵ1 ; <i |=
ϕ[ω]. En effet, l’ensemble des ordinaux limites est défini par la formule
Lim(x) = ∃yy < x ∧ ∀y∃z(y < x → y < z ∧ z < x), et il suffit de poser
ϕ(x0 ) = Lim(x0 ) ∧ ∀y(Lim(y) → ¬y < x0 )
3.4
Élimination des quanteurs
Par induction sur la hauteur, il est facile de montrer que toute formule ϕ est
logiquement équivalente à une formule ψ qui est sous forme prénexe, c’est-à-dire
de la forme Q1 x1 · · · Qn xn χ, avec χ sans quanteur et Qi ∈ {∃, ∀} pour tout i.
En général, le nombre d’alternances des quanteurs ∃ et ∀ fournit une bonne
indication pour la complexité de la formule ϕ (ainsi que de l’ensemble défini par
ϕ dans une structure donnée). Souvent, on comprend assez bien les ensembles
qui sont définissables à l’aide d’une formule sans quanteur.
Nous commençons par un résultat technique important et dont la preuve est
un peu longue.
Théorème 3.4.1. Soit T une L-théorie, n ≥ 1 un entier et ϕ = ϕ(x1 , . . . , xn )
une L-formule. Sont équivalents :
1. Il existe une L-formule sans quanteur ψ(x1 , . . . , xn ) qui est équivalente à
ϕ dans T .
42
2. Soient M et N deux modèles de T et A une sous-structure commune de
M et de N. Alors pour tout a ∈ An on a M |= ϕ[a] ⇐⇒ N |= ϕ[a].
Remarque 3.4.2. Le théorème s’applique aussi dans le cas où ϕ est un énoncé.
Il suffit de considérer ϕ comme ϕ(x) pour trouver une formule ψ(x) sans quanteurs et équivalente à ϕ dans T . Ainsi, un théorème de T , par exemple ∃yy =y
˙
est équivalent dans T à la formule x=x.
˙ Si le langage L ne contient pas de symbole de constante, il n’y a pas de L-énoncé sans quanteur et on ne peut donc
pas faire mieux.
Une autre manière de traiter ce problème serait d’introduire une constante
propositionnelle > pour un énoncé toujours vrai.
Démonstration du théorème 3.4.1. (1)⇒(2). On note d’abord que si A ⊆ B, la
formule ψ(x1 , . . . , xn ) est sans quanteur et a ∈ An , alors A |= ψ[a] ⇐⇒ B |=
ψ[a].
Si M et N sont des modèles de T ayant A comme sous-structure et si ϕ =
ϕ(x1 , . . . , xn ) est équivalente dans T à la formule ψ(x1 , . . . , xn ) sans quanteur,
alors pour a ∈ An on a donc
M |= ϕ[a] ⇐⇒ M |= ψ[a] ⇐⇒ A |= ψ[a] ⇐⇒ N |= ψ[a] ⇐⇒ N |= ϕ[a].
(2)⇒(1). On considère l’ensemble de formules
Γ(x) := {χ(x1 , . . . , xn ) sans quanteur | T |= ∀x1 , . . . , xn (ϕ → χ)}.
On choisit c1 , . . . , cn des nouvelles constantes 2 à 2 distinctes et on considère
la théorie Γ(c) := {χ(c1 , . . . , cn ) | χ ∈ Γ(x)}. Soit L0 = L ∪ {c1 , . . . , cn }. Nous
allons montrer :
T ∪ Γ(c) |= ϕ(c)
(3.1)
Si (3.1) était faux, on pourrait trouver M0 |= T ∪ Γ(c) ∪ ¬ϕ(c). Soit A0 :=
0
M0
M0
dans M0 .
hcM
1 , . . . , cn iM0 = hA; . . .i la sous-structure engendrée par les ci
0
On observe que Γ(c) ⊆ ∆(A ). Montrons que
Σ := T ∪ ∆(A0 ) ∪ {ϕ(c)}
a un modèle.
Sinon, on aurait T ∪ ∆(A0 ) |= ¬ϕ(c), d’où T ∪ ∆(A0 ) ` ¬ϕ(c). Comme
tout élément de A s’écrit comme un L0 -terme, si on note ∆c (A0 ) l’ensemble
des L0 -énoncés sans quanteurs dans ∆(A0 ), alors T ∪ ∆(A0 ) est une expansion
conservatrice de T ∪ ∆c (A0 ) par la proposition 3.3.2. En particulier, on a
T ∪ ∆c (A0 ) ` ¬ϕ(c).
Il existe alors des L-formules sans quanteur ξ1 (x), . . . , ξk (x) telles que
T `
k
^
ξi (c) → ¬ϕ(c) et ∆(A0 ) `
i=1
k
^
i=1
43
ξi (c) =: ξ(c).
Comme les ci n’apparaissent ni dans T ni dans ϕ(x), ξ(x), on en déduit (par
exemple par 2.6.3) que T ` ∀x(ξ(x) → ¬ϕ(x)) et alors T ` ∀x(ϕ(x) → ¬ξ(x)).
Mais alors ¬ξ(x) ∈ Γ(x) par définition, et ¬ξ(c) ∈ Γ(c), d’où ¬ξ(c) ∈ ∆(A0 ).
Contradiction.
Donc Σ a un modèle N∗ , et le L-réduit N de N∗ contient une copie isomorphe
0
B de A0 comme sous-structure par la proposition 3.2.2. Quitte à identifier B0
et A0 , on a donc construit deux modèles M = M0 L et N de T contenant une
0
sous-structure commune A = A0 L tels que si l’on pose ai = cM
alors N |= ϕ[a]
i
et M |= ¬ϕ[a], ce qui contredit la condition (2). On a donc démontré
Vm (3.1).
Par compacité il existe ζ1 (c), . . . , ζm (c) ∈ Γ(c)
tels
que
T
|=
i=1 ζi (c) →
Vm
ϕ(c), ce qui entraı̂ne comme avant T |= ∀x ( i=1 ζi (x) →Vϕ(x)). Mais alors,
m
comme
VmT |= ∀x(ϕ → ζi ) pour tout i, on obtient T |= ∀x ( i=1 ζi (x) ↔ ϕ(x)),
avec i=1 ζi (x) sans quanteur.
Définition. Soit T une L-théorie. On dit que T admet l’élimination des quanteurs (dans le langage L) si toute L-formule ϕ est équivalente dans T à une
L-formule sans quanteur.
Lemme 3.4.3. Si pour toute formule sans quanteur ϕ et toute variable x il
existe une formule sans quanteur ψ telle que ∃xϕ et ψ soient équivalentes dans
T , alors T admet l’élimination des quanteurs.
Démonstration. Soient ψ et ψ 0 deux formules qui sont équivalentes dans T ,
noté ψ ∼T ψ 0 . Alors ¬ψ ∼T ¬ψ 0 , ∃xψ ∼T ∃xψ 0 et χ ∧ ψ ∼T χ ∧ ψ 0 pour toute
formule χ. On peut donc raisonner par induction sur la hauteur de la formule,
et la preuve est claire.
Théorème 3.4.4. Soit T une L-théorie. On suppose que pour toute paire de
modèles M et N de T , pour toute sous-structure commune A de M et de N et
toute formule sans quanteur ϕ(x0 , . . . , xn ), s’il existe a ∈ An et b0 ∈ M tels que
M |= ϕ[b0 , a], alors il existe c0 ∈ N tel que N |= ϕ[c0 , a].
Alors T admet l’élimination des quanteurs.
Remarque. La réciproque de ce résultat est claire : toute théorie avec l’élimination des quanteurs satisfait à l’hypothèse du théorème.
Démonstration. Soient A ⊆ M, N données, avec M, N |= T . Quitte à symétriser
l’hypothèse du théorème, elle exprime que si ϕ est sans quanteur et χ = ∃x0 ϕ,
alors M |= χ[a] ⇐⇒ N |= χ[a] pour tout a ∈ An . Par le théorème 3.4.1, χ est
équivalente dans T à une formule sans quanteur. Par le lemme, cela suffit.
Proposition 3.4.5. Soit T une théorie qui admet l’élimination des quanteurs.
1. Soient M et N deux modèles de T ayant une sous-structure commune.
Alors M ≡ N.
2. Si M ⊆ N, où M et N sont deux modèles de T , alors M 4 N.
44
Démonstration. (1) Il s’agit d’un cas particulier de la direction facile du théorème 3.4.1. En effet, tout énoncé ϕ est équivalent dans T à une formule ψ(x)
sans quanteur. Pour a ∈ A arbitraire, où A est une sous-structure commune de
M et de N, on a donc
M |= ϕ ⇐⇒ M |= ψ[a] ⇐⇒ A |= ψ[a] ⇐⇒ N |= ψ[a] ⇐⇒ N |= ϕ.
(2) Clair.
Exercice 3.4.6. Toute théorie T admet une expansion par définition qui admet
l’élimination des quanteurs.
3.5
Corps algébriquement clos
On considère la Lan -théorie CAC des corps algébriquement clos (voir 2.6.6).
On utilisera des notions et résultats qui seront vus en Algèbre 1.
Soit A un sous-anneau d’un corps K. Un élément de K est appelé algébrique
sur A s’il est racine d’un polynôme non nul à coefficients dans A.
Soit A un anneau intègre. Une clôture algébrique de A est un corps algébriquement clos contenant A et dont tout élément est algébrique sur A.
Fait 3.5.1. Soit A un anneau intègre.
1. A admet une clôture algébrique.
2. Si K et K 0 sont deux clôtures algébriques de A, alors il existe un isomorphisme f : K ∼
= K 0 tel que f A = idA .
3. Soit A ⊆ L, où L est un corps algébriquement clos. Alors le sous-corps
Aalg
L = {b ∈ L | b est algébrique sur A} est une clôture algébrique de A.
4. Soit Falg
une clôture algébrique du corps à p éléments Fp . Alors Falg
est
p
p
une réunion croissante de sous-corps finis FN , N ∈ N. Plus précisément,
k
pour tout entier k ≥ 1, l’ensemble des racines
du polynôme X p − X est
S
un sous-corps Fpk (à pk éléments), et k∈N Fpk = Falg
p . Comme de plus
l
k
Fpk ⊆ Fpl si k | l (car alors X p − X est divisible par X p − X), il suffit
de poser FN := FpN ! .
5. Tout corps algébriquement clos est infini.
6. Soit K ⊆ L une extension de corps avec K algébriquement clos, et soit
b ∈ L \ K. Alors b n’est pas algébrique sur K.
Théorème 3.5.2. La théorie CAC admet l’élimination des quanteurs.
Démonstration. On observe qu’une sous-structure d’un corps dans Lan n’est
rien d’autre qu’un sous-anneau. Par le théorème 3.4.4 il suffit donc de montrer
que si K et L sont algébriquement clos, A est un sous-anneau commun et ϕ =
ϕ(x0 , . . . , xn ) une formule sans quanteur, alors pour tout a ∈ An il existe b ∈ L
tel que L |= ϕ[b, a] si et seulement s’il existe c ∈ K tel que K |= ϕ[c, a].
45
Par le fait, K et L contiennent des clôtures algébriques FK et FL de A qui
sont isomorphes au-dessus de A. Quitte à agrandir A, on peut donc supposer
que A est algébriquement clos. On peut alors même supposer que A = K ⊆ L.
Dans cette situation, il faut montrer que s’il existe b ∈ L tel que L |= ϕ[b, a],
alors il existe c ∈ K tel que K |= ϕ[c, a].
W V
La formule ϕ est logiquement équivalente à une formule de la forme i χi,j ,
avec χi,j = χi,j (x0 , . . . V
, xn ) atomique ou négation d’atomique. Si L |= ϕ[b, a],
il existe i tel que L |= j χi,j [b, a]. Il suffit donc de traiter le cas où ϕ est une
conjonction de formules atomiques ou négations d’atomiques. Dans la théorie
˙ pour un polynôme
des corps, toute formule atomique est équivalente à P (x)=0
P (x) à coefficients entiers. Alors on peut supposer que
ϕ(x) =
n
^
˙ ∧
Pi (x)=0
i=1
m
^
˙
¬Qi (x)=0.
i=1
Si l’un des Pi (x0 , a1 , . . . , an ) ∈ K[x0 ] est un polynôme non nul, alors b est
algébrique sur K, d’où b ∈ K et on a terminé.
Vm
˙ Comme chaque Qi (x0 , a) ∈
On peut donc supposer que ϕ = i=1 ¬Qi (x)=0.
K[x0 ] est différent du polynôme nul (sinon, b ne pourrait pas exister), il n’a qu’un
nombre fini de racines. On en déduit qu’il existe c ∈ K tel que K |= ϕ[c, a], car
K est un corps infini (il est algébriquement clos).
Pour p un nombre premier ou p = 0 on note CACp la théorie des corps
algébriquement clos de caractéristique p.
Théorème 3.5.3. Les théories CACp sont complètes (p premier ou p = 0).
Démonstration. Tout corps de caractéristique p > 0 contient Fp comme souscorps. Si K et L sont algébriquement clos de caractéristique p, alors K ≡ L
par le théorème 3.5.2 et la proposition 3.4.5(1), ce qui montre que CACp est
complète.
Pour CAC0 , on fait le même argument, en remplaçant Fp par Q.
Théorème 3.5.4 (Principe de Lefschetz). Soit ϕ un Lan -énoncé. Les propriétés
suivantes sont équivalentes :
1. C |= ϕ.
2. Il existe un corps algébriquement clos de caractéristique 0 qui vérifie ϕ.
3. Tout corps algébriquement clos de caractéristique 0 vérifie ϕ.
4. Il existe N ∈ N tel que ϕ est vérifé dans tout corps algébriquement clos de
caractéristique p > N .
5. Il existe un ensemble infini de nombres premiers P tel que pour tout p ∈ P
il existe Kp |= CACp vérifiant ϕ.
Démonstration. (1) ⇐⇒ (2) ⇐⇒ (3) suit de 3.5.3.
(3)⇒(4). Notons que CAC0 est donnée par CAC ∪ {χp | p premier}, où χp
exprime que p = 1 + · · · + 1 est différent de 0. Si CAC |= ϕ, par compacité il
46
existe une partie finie ∆ de CAC0 telle que ∆ |= ϕ. Or ∆ ne contient qu’un
nombre fini d’axiomes de la formes χp . En particulier il existe N ∈ N tel que
K |= ∆ pour tout corps algébriquement clos de caractéristique p > N .
(4)⇒(5) est trivial.
(5)⇒(3). Pour p ∈ P, soit Kp |= CACp tel que Kp |= ϕ. Si CAC0 6|= ϕ, alors
CAC0 |= ¬ϕ par complétude. Par (3)⇒(4) il existe N ∈ N tel que ¬ϕ soit vérifié
dans tout corps algébriquement clos de caractéristique p > N . En particulier P
est fini.
Théorème 3.5.5 (Théorème des zéros (Nullstellensatz) de Hilbert).
Soient K un corps algébriquement clos et P1 (X), . . . , Pm (X) ∈ K[X1 , . . . , Xn ].
Si le système d’équations polynômiales P1 (X) = P2 (X) = . . . = Pm (X) = 0 a
une solution dans un corps L ⊇ K, alors il a une solution dans K.
Démonstration. Soient L ⊇ K et a ∈ Ln tel que P1 (a) = . . . = Pm (a) = 0.
Quitte à agrandir L, on peut supposer que L est algébriquement clos. Comme
CAC admet l’élimination des quanteurs, on a K 4 L par 3.4.5.
On choisit des Lan -termes Fi (X, Zi ) et des uplets bi extraits de K tels que
Pi (X) = Fi (X, bi ).
V
V
Alors L |= ∃x Fi (x, bi )=0,
˙ d’où K |= ∃x Fi (x, bi )=0,
˙ comme K 4 L.
3.6
Le théorème d’Ax
Une chaı̂ne de L-structures est une suite (Mi )i∈N de L-structures telle que
Mi ⊆ Mi+1 pour tout i.
Si (Mi )i∈N est une telle
S chaı̂ne, il existe une et une seule L-structure M avec
ensemble de base M = i∈N Mi telle que Mi ⊆ M pour tout i. En effet, il
faut etSil suffit d’interpréter
du langage comme suit : cM = cM0 ,
S les symboles
M
Mi
M
Mi
f = i∈N f
et R = i∈N R . Il est facile
S à voir que c’est bien défini.
La L-structure M ainsi obtenue est notée i∈N Mi .
Définition. Une formule ∀∃ est une formule de la forme ∀x1 , . . . , xn ∃y1 , . . . , ym ϕ,
où ϕ est sans quanteur et m, n ≥ 0.
Lemme 3.6.1 (Préservation des énoncés ∀∃ par union de chaı̂ne).
Soit ψ un L-énoncé ∀∃Set (Mi )i∈N une chaı̂ne de L-structures avec Mi |= ψ
pour tout i. Alors M = i∈N Mi |= ψ.
Démonstration. Soit ψ = ∀x1 , . . . , xn ∃y1 , . . . , ym ϕ(x, y) avec ϕ sans quanteur. Il
faut montrer que M |= ∃y1 , . . . , ym ϕ[a, y] pour tout a ∈ M n . Comme Mi est une
suite croissante, il existe k ∈ N tel que a ∈ Mkn . Il existe donc b1 , . . . , bm ∈ Mk
tels que Mk |= ϕ[a, b], car M |= ψ. On en déduit que M |= ϕ[a, b], car ϕ est sans
quanteur et Mk est une sous-structure de M.
Remarque. On peut montrer qu’un énoncé est préservé par union de chaı̂ne
si et seulement s’il est logiquement équivalent à un énoncé ∀∃.
47
Proposition 3.6.2. Soit ϕ un Lan -énoncé ∀∃ vrai dans tout corps fini. Alors
CAC |= ϕ. En particulier il est vrai dans C.
Démonstration. Par le fait 3.5.1(4), Falg
est réunion croissante de sous-corps
p
finis. Donc Falg
|=
ϕ
par
le
lemme,
pour
tout
p premier. On en déduit le résultat
p
par le principe de Lefschetz.
Théorème 3.6.3 (Théorème d’Ax). Soit f : Cn → Cn une application polynômiale, c’est-à-dire de la forme f = (f1 , . . . , fn ) pour des polynômes fi ∈
C[x1 , . . . , xn ]. Si f est injective, alors f est surjective.
Démonstration. Il existe des Lan -termes — ce sont en particulier des polynômes
à coefficients entiers — Pn,d (z, x) tels que pour tout corps K, tout polynôme
f (x) ∈ K[x1 , . . . , xn ] de degré ≤ d s’écrit comme Pn,d (a, x) pour un uplet a
d’éléments de K. L’énoncé suivant ψn,d est ∀∃ et il exprime que toute fonction
polynômiale et injective f : K n → K n , définie à l’aide de polynômes fi de degré
au plus d, est surjective :
0
ψn,d = ∀z
Vn1 , . . . , z n ∀u∃x∃x ∃y
Vn
Vn
[( i=1 Pn,d (z i , x)=P
˙ n,d (z i , x0 ) ∧ ¬ i=1 xi =x
˙ i )]
˙ 0i ) ∨ ( i=1 Pn,d (z i , y)=u
Évidemment, ψn,d est vrai dans tout corps fini, donc CAC |= ψd,n par la
proposition 3.6.2, et en particulier C |= ψd,n .
48
Chapitre 4
Récursivité
Dans ce chapitre, nous développons la théorie des fonctions et ensembles
d’entiers qui sont « calculables ». Nous donnons deux précisions de la notion
intuitive d’une fonction calculable — la notion de fonction récursive, et la notion
de fonction calculable par une machine de Turing — et nous montrons que ces
deux notions coı̈ncident.
S
Pour n ∈ N, on note Fn := {f : Nn → N} et F := n∈N Fn .
Notation. Soit f la fonction qui à (x1 , . . . , xn ) associe f (x1 , . . . , xn ) ∈ N. On
notera parfois f = λx1 · · · xn .f (x1 , . . . , xn ).
4.1
Fonctions primitives récursives
Définition. L’ensemble des fonctions primitives récursives est le plus petit
sous-ensemble E de F vérifiant les conditions suivantes :
(R0) E contient les fonctions de base suivantes :
– S = λx.x + 1 (la fonction successeur) ;
– la fonction 0-aire constante à 0, notée C00 ;
– pour tout n ≥ 1 et tout 1 ≤ i ≤ n la projection Pin sur la ie coordonnée,
c’est-à-dire Pin = λx1 · · · xn .xi .
(R1) E est clos par composition : si f1 , . . . , fn ∈ Fp ∩ E et si h ∈ Fn ∩ E, alors
g = h(f1 , . . . , fn ) ∈ E.
(R2) E est clos par récurrence : pour tout entier n, si g ∈ Fn ∩E et h ∈ Fn+2 ∩E,
alors la fonction f définie par
f (x1 , . . . , xn , 0) := g(x1 , . . . , xn ),
f (x1 , . . . , xn , y + 1) := h(x1 , . . . , xn , y, f (x1 , . . . , xn , y))
est dans E aussi.
Observons que toutes les fonctions constantes Ckn = λx1 · · · xn .k sont primitives récursives pour tout k, n ∈ N. (La fonction C01 est obtenue par récurrence
à partir de g = C00 et h = P22 .)
49
Si X ⊆ Nn , on
( notera 1X la fonction caractéristique de X, c’est-à-dire
1, si (x1 , . . . , xn ) ∈ X;
1X (x1 , . . . , xn ) =
0, sinon.
Lemme 4.1.1. Les fonctions λxy.x + y, λxy.x(
· y, λxy.xy , λx.x!, λxy.x−̇y et
x − y, si x ≥ y ;
.
sg = 1N∗ sont primitives récursives, où x−̇y :=
0, sinon.
Démonstration. L’addition f = λxy.x + y est obtenue par récurrence à partir
de g = P11 et h = S ◦ P33 , comme x + 0 = x et x + (y + 1) = S(x + y).
Il est également facile d’obtenir les autres fonctions. Donnons juste l’argument pour λxy.x−̇y et sg. On construit d’abord λy.y −̇1 par récurrence, via
0−̇1 = 0, (y + 1)−̇1 = y. Puis, on peut définir x−̇0 = x, x−̇(y + 1) = (x−̇y)−̇1.
Enfin, on a sg(x) = 1−̇(1−̇x).
Définition. Une partie X ⊆ Nn est primitive récursive si sa fonction caractéristique 1X l’est.
Lemme 4.1.2.
1. L’ensemble des fonctions primitives récursives est clos
par permutation des variables.
[Clair]
2. Si X ⊆ Nn est primitif récursif et si f1 , . . . , fn ∈ Fp sont primitives
récursives, alors Y = {(x1 , . . . , xp ) ∈ Np | (f1 (x), . . . , fn (x)) ∈ X} est
primitif récursif.
[On a 1Y = 1X (f1 , . . . , fn ).]
3. L’ensemble des parties primitives récursives de Nn contient ∅ et Nn , et il
est stable par ∪, ∩ et par passage au complément (donc par combinaisons
booléennes).
[On a 1Nn \X = 1−̇1X et 1X∩Y = 1X · 1Y .]
4. L’ensemble {(x, y) | x < y} ⊆ N2 est primitif récursif.
[On a 1< (x, y) = sg(y −̇x).]
˙ k une partition de Nn en un
5. (Définition par cas.) Soit Nn = A1 ∪˙ . . . ∪A
nombre fini de parties primitives récursives Ai , et soient f1 , . . . , fk ∈
Fn primitives récursives. Alors la fonction f , définie par f (x) = fi (x)
si x ∈ Ai , est primitive récursive aussi. En particulier, les fonctions
λx1 · · · xn . max(xi ) et λx1 · · · xn . min(xi ) sont primitives récursives.
[En effet, on a f = 1A1 f1 + . . . + 1Ak fk .]
6. (Sommes et produits limités.) Si f ∈ Fn+1 est primitive récursive, alors
les fonctions suivantes aussi :
λx1 · · · xn y.
y
X
f (x, t) et λx1 · · · xn y.
y
Y
t=0
t=0
[Par récurrence.]
50
f (x, t)
7. (Schéma µ borné.) Soit X ⊆ Nn+1 primitif récursif. Alors la fonction
f ∈ Fn+1 , f (x, z) = (µt ≤ z) ((x, t) ∈ X), définie par
(
0, s’il n’existe pas de t ≤ z tel que (x, t) ∈ X;
f (x, z) :=
t0 , si t0 est le plus petit entier t ≤ z tel que (x, t) ∈ X
est primitive récursive.

Pz

f (x, z), si t=0 1X (x, t) ≥ 1 ;
[On a f (x, 0) = 0, f (x, z + 1) = z + 1, sinon et si (x, z + 1) ∈ X;


0, sinon.
Donc f est primitive récursive (récurrence et définition par cas).]
8. (Quantification bornée.) Si X ⊆ Nn+1 est primitif récursif, alors aussi
Xe = {(x1 , . . . , xn , z) ∈ Nn+1 | (∃t ≤ z) (x, t) ∈ X} ainsi que
Xa = {(x1 , . . . , xn , z) ∈ Nn+1 | (∀t ≤ z) (x, t) ∈ X}.
[Comme on peut passer auP
complémentaire, il suffit de traiter le premier
z
cas. On a 1Xe (x, z) = 1 si t=0 1X (x, t) ≥ 1, et 1Xe (x, z) = 0 sinon.]
Exemples 4.1.3.
1. Soit q : N2 → N la fonction qui à (x, y) associe la partie
entière de x/y si y 6= 0, et 0 sinon. Alors q est primitive récursive.
[On a q(x, y) = (µt ≤ x) ((t + 1) · y > x).]
2. {(x, y) ∈ N2 : y | x} est un ensemble primitif récurisf.
[On a y | x ⇐⇒ ∃zz · y = x ⇐⇒ x = q(x, y) · y.]
3. L’ensemble P des nombres premiers est primitif récursif.
[On a x ∈ P ⇐⇒ x ≥ 2 ∧ (∀y ≤ x) (y | x → (y = 1 ∨ y = x)). Par les
propriétés de clôture du lemme précédent, P est donc primitif récursif.]
4. Soit π la fonction qui à x associe le (x + 1)e nombre premier. Alors π est
primitive récursive.
[On a π(0) = 2, π(x + 1) = (µz ≤ π(x)! + 1) (z > π(n) et z ∈ P ).]
5. Une bijection primitive récursive entre N2 et N est donnée par la fonction
α2 = λxy. 21 (x + y + 1)(x + y) + x. On a α2 (β12 , β22 ) = idN pour des fonctions
primitives récursives β12 , β22 ∈ F1 . En effet, comme α2 (x, y) ≥ min(x, y),
on a β12 (x) = (µz ≤ x)(∃t ≤ x(α2 (z, t) = x)), de même pour β22 .
Par induction sur p ≥ 2, on définit une bijection primitive récursive αp :
Np → N avec composantes de l’inverse β1p , . . . , βpp primitives récursives. Il
suffit de poser αp+1 (x1 , . . . , xp+1 ) = αp (x1 , . . . , xp−1 , α2 (xp , xp+1 )).
Lemme 4.1.4. hx0 , . . . , xn−1 i := π(0)x0 · . . . · π(n − 2)xn−2 · π(n − 1)xn−1 +1 − 1
définit une bijection h i : N∗ → N, où N∗ dénote l’ensemble des suites finies
d’entiers. Elle satisfait aux propriétés suivantes :
1. La fonction composante à deux places (x)i , définie par
(
xi , si i < n ;
(hx0 , . . . , xn−1 i)i =
0, sinon
51
est primitve récursive.
2. La fonction longueur, lg(hx0 , . . . , xn−1 i) = n, est primitive récursive.
3. Pour tout n ∈ N, h i Nn : Nn → N est primitive récursive.
4. On a lg(x) ≤ x pour tout x, et si x > 0, alors (x)i < x pour tout i.
On appelle hx0 , . . . , xn−1 i le nombre de Gödel de la suite d’entiers (x0 , . . . , xn−1 ).
Démonstration. (4) est
( clair, et (3) suit de 4.1.3.
0, si x = 0 ;
(2) On a lg(x) =
(µy ≤ x) [(∀z ≤ x) (y ≤ z → π(z) - (x + 1))] , sinon.


0, si i ≥ lg(x) ;
(1) On a (x)i = (µy ≤ x) π(i)y+2 - (x + 1) , si i + 1 = lg(x) ;


(µy ≤ x) π(i)y+1 - (x + 1) , si i + 1 < lg(x).
4.2
La fonction d’Ackermann
Voici une fonction qui est calculable au sens intuitif, la fonction d’Ackermann
ξ ∈ F2 définie ainsi :
– ξ(0, x) := 2x
– ξ(y, 0) := 1
– ξ(y + 1, x + 1) := ξ(y, ξ(y + 1, x))
Cette fonction est bien définie et se calcule en un nombre fini d’étapes (exercice ;
il suffit de considérer l’ordre lexicographique sur N2 ).
k fois
On écrit aussi ξn (x) pour ξ(n, x), et
Lemme 4.2.1.
ξnk
z
}|
{
pour ξn ◦ . . . ◦ ξn .
1. ξn (x) > x pour tout n, x ∈ N.
2. ξn est strictement croissante pour tout n ∈ N.
3. ξn+1 (x) ≥ ξn (x) pour tout n, x ∈ N.
4. ξnk est strictement croissante pour tout k, n ∈ N.
5. ξnk (x) < ξnk+1 (x) pour tout k, n, x ∈ N.
k
6. ξm
(x) ≤ ξnk (x) pour tout k, m, n, x ∈ N avec m ≤ n.
7. ξnk (x) ≤ ξn+1 (x + k) pour tout k, n, x ∈ N.
Démonstration. (1) On fait une induction sur n, le cas n = 0 étant clair. On a
ξn+1 (x + 1) = ξn (ξn+1 (x)) > ξn+1 (x) > x.
(2) C’est clair pour n = 0, et on vient de voir que ξn+1 (x + 1) > ξn+1 (x).
(3) ξn+1 (0) = ξn (0), ξn+1 (x + 1) = ξn (ξn+1 (x)) ≥ ξn (x + 1) par (2).
| {z }
≥x+1
(4), (5) et (6) sont clairs.
(7) On fait une récurrence sur k, le cas k = 0 étant clair. On a ξnk+1 (x) =
ξn (ξnk (x)) ≤ ξn (ξn+1 (x + k)) = ξn+1 (x + k + 1).
52
Définition. On dit que la fonction f ∈ F1 domine la fonction g ∈ Fn s’il existe
un entier N tel que pour tout x ∈ Nn on ait g(x) ≤ f (max(xi , N )).
Notons que si f est strictement croissante, alors f domine g si et seulement
si g(x) ≤ f (max(xi )) sauf pour un ensemble fini de n-uplets.
On note Cn l’ensemble des fonctions dans F qui sont dominées par au moins
une des fonctions ξnk , pour k ∈ N.
Lemme 4.2.2.
1. Cn ⊆ Cm pour tout n ≤ m.
2. C0 contient les fonctions de base ainsi que les fonctions λxy.x + y, λx.k · x
(pour k fixé) et λx1 . . . xn . max(xi ).
3. Cn est stable par composition.
4. Si g ∈ Fp ∩ Cn et h ∈ Fp+2 ∩ Cn , alors f définie par récurrence à partir
de g et h est dans C
Sn+1 .
En conclusion, C = n∈N Cn contient l’ensemble des fonctions primitives
récursives.
Démonstration. (1) et (2) sont clairs. Quant à (3), on se donne f1 , . . . , fm ∈
Fp ∩Cn et g ∈ Fm ∩Cn . Il existe des entiers N, N1 , . . . , Nm , k, k1 , . . . , km tels que
g(y) ≤ ξnk (max(yj , N )) pour tout y ∈ Nm et fi (x) ≤ ξnki (max(xj , Ni )) pour tout
x ∈ Np . Posons M = max(N, N1 , . . . , Nm ) et l = max(k1 , . . . , km ). Pour tout
x ∈ Np on a g(f1 (x), . . . , fm (x)) ≤ ξnk (ξnl (max(xj , M ))) = ξnk+l (max(xj , M )).
(4) On a f (x, 0) = g(x) et f (x, y+1) = h(x, y, f (x, y)). Il existe k1 , N1 , k2 , N2
tels que g(x) ≤ ξnk1 (max(xj , N1 )) et h(x, y, t) ≤ ξnk2 (max(xj , y, t, N2 )). Par récurrence sur y, on montre sans problème que
f (x, y) ≤ ξnk1 +yk2 (max(xj , y, N1 , N2 )).
(4.1)
Par le lemme 4.2.1(7), on déduit de (4.1) que
f (x, y) ≤ ξn+1 (max(xj , y, N1 , N2 ) + k1 + k2 y ),
|
{z
}
composée de fonctions dans Cn+1
d’où le résultat par la partie (3).
Théorème 4.2.3. La fonction d’Ackermann n’est pas primitive récursive.
Remarque. Par contre, une induction sur n montre que toutes les fonctions
ξn sont primitives récursives.
Démonstration du théorème 4.2.3. Par l’absurde. On suppose donc que ξ est
primitive récursive. Alors λx.ξ(x, 2x) l’est aussi, et il existe k, n, N ∈ N tels que
ξ(x, 2x) ≤ ξnk (x) pour tout x > N . Par 4.2.1(7) on a donc ξx (2x) ≤ ξn+1 (x + k)
pour tout x > N . Pour x > max(k, n + 1), c’est absurde.
53
4.3
Fonctions partielles récursives
Compte tenu de l’existence de la fonction d’Ackermann — calculable au sens
intuitif et non primitive récursive — nous allons élargir la classe des fonctions
que nous considérons. Pour des raisons techniques, il convient également de
passer aux fonctions partielles.
Une fonction partielle de Nn dans N est la donnée d’un couple (A, f ) avec
A ⊆ Nn et f : A → N. L’ensemble A est le domaine de
S définition de f , noté
dom(f ). On note Fn∗ l’ensemble de ces couples et F ∗ = n∈N Fn∗ .
Définition. L’ensemble des fonctions partielles récursives est le plus petit sousensemble E de F ∗ vérifiant les propriétés (R0)∗ − (R3)∗ suivantes :
(R0)∗ E contient les fonctions de base (C00 , S et Pin pour n ≥ 1 et 1 ≤ i ≤ n).
∗
(R1)∗ E est clos par composition (de fonctions partielles) : si f1 , . . . , fn ∈ Fm
∩
∗
E et h ∈ Fn ∩ E, alors g = h(f1 , . . . , fn ) ∈ E, où g est la fonction
partielle qui à x associe h(f1 (x), . . . , fn (x)) si x ∈ dom(fi ) pour tout i et
(f1 (x), . . . , fn (x)) ∈ dom(h). Sinon, g n’est pas définie en x.
(R2)∗ E est clos par récurrence (de fonctions partielles) : si g ∈ Fp∗ ∩ E et
∗
h ∈ Fp+2
∩ E, alors f ∈ E, où
– f (x, 0) = g(x) si x ∈ dom(g), et sinon f n’est pas définie en (x, 0) ;
– f (x, y + 1) = h(x, y, f (x, y)) si f est définie en (x, y) (relation définie
en même temps par récurrence sur y) et si (x, y, f (x, y)) ∈ dom(h), et
sinon f n’est pas définie en (x, y + 1).
∗
(R3)∗ E est clos par schéma µ : soit f ∈ Fn+1
∩E. Alors g ∈ E, où g ∈ Fn∗ , g(x) =
µy (f (x, y) = 0) est définie ainsi :
– s’il existe z tel que f (x, z) = 0 et (x, z 0 ) ∈ dom(f ) pour tout z 0 ≤ z,
alors g(x) est le plus petit tel z ;
– sinon, g n’est pas définie en x.
Une fonction partielle f ∈ Fn∗ est totale si dom(f ) = Nn . On appelle fonction
récursive totale toute fonction totale qui est récursive partielle.
L’opération suivante est réservée pour les fonctions totales.
Soit f une fonction totale à n+1 arguments telle que ∀x1 , . . . , xn ∃y f (x, y) =
0. Alors on dit que la fonction (totale) g, g(x) = µy (f (x, y) = 0) est obtenue
par schéma µ total à partir de f .
La propriété (R3) exprime qu’un ensemble de fonctions totales est clos par
schéma µ total.
Exercice 4.3.1. Montrer que la fonction d’Ackermann est récursive totale.
(Voir Proposition 4.5.4.)
4.4
Fonctions calculables par machine de Turing
Les machines de Turing fournissent une précision de la notion de « calculabilité par une machine ».
54
Définition. Une machine de Turing M est la donnée
– d’un nombre fini (≥ 1) de bandes B1 , B2 , . . . placées horizontalement,
toutes bornées à gauche et non bornées à droite ; chaque bande est divisée en cases, numérotées par N∗ de gauche à droite. Les bandes sont
arrangées de sorte que les cases du même numéro se trouvent sur une
même verticale.
– d’une tête de lecture qui peut lire, effacer et écrire des symboles sur les
cases (un symbole par case). Cette tête se déplace horizontalement et est
placée à chaque instant sur une verticale et manipule toutes les cases de
cette verticale d’un coup.
L’ensemble de symboles est donné par S = {d, |, b}, d comme « début de
bande », | comme « bâton » et b comme « blanc ».
Voici les données qui sont spécifiques à M :
– n = n(M) ∈ N∗ (le nombre de bandes)
– Un ensemble fini d’états E. Il y a deux états spécifiques appartenant à E :
ei (l’état initial) et ef (l’état final).
– Une fonction M : S n ×E → S n ×E ×{−1, 0, 1}, appelée table de transition
de M.
Fonctionnement de la machine :
– À chaque instant t ∈ N, M se trouve dans un état donné (de E).
– M fonctionne en changeant d’état, en effaçant et écrivant des symboles
sur les bandes et en déplaçant sa tête à chaque instant.
Le fonctionnement est sujet aux règles suivantes :
1. À l’instant t = 0, M se trouve dans l’état initial et sa tête se trouve devant
les cases no 1.
2. À chaque instant t, M lit les symboles (s1 , . . . , sn ) ∈ S n écrits devant sa
tête, et la table M décrit alors ce que M est censée faire. Si M est dans
l’état e et lit (s1 , . . . , sn ), alors, soit M (s, e) = (s0 , e0 , ε). La tête efface s,
écrit s0 , se déplace par ε horizontalement et M se met dans l’état e0 , puis
passe à l’instant t + 1.
3. M s’arrête quand elle atteint l’état final.
Entrée correcte :
– À l’instant t = 0, d est inscrit dans les cases no 1 et uniquement là.
– Toutes les cases sont remplies, et il y a un nombre fini de bâtons.
(Cela reste vrai tout au long du calcul, vu les contraintes qui suivront).
Contraintes :
– Pour tout s ∈ S n on a M (s, ef ) = (s, ef , 0).
– La tête ne peut ni écrire ni effacer le symbole de début de bande :
– Pour tout e ∈ E, on a M ((d, . . . , d), e) = ((d, . . . , d), e0 , ε) pour un
ε ∈ {0, 1} ;
– si s 6= (d, . . . , d), alors M (s, e) = (s0 , e0 , ε) avec s0i 6= d pour tout i.
Remarque. Il s’agit d’une machine déterministe, c’est-à-dire on peut prévoir
pour tout instant t la position de la tête, l’état de la machine et le remplissage
des bandes.
55
Définition.
1. Une bande représente (à un instant donné) l’entier m si la
bande remplie est égale à (d, |, . . . , |, b, . . . , b, . . .).
| {z }
m fois
2. Une machine de Turing M calcule f ∈ Fp∗ si n(M) ≥ p + 1 et si pour tout
m ∈ Np , quand on fait fonctionner M sur l’entrée où, pour i = 1, . . . , p,
la bande Bi représente mi et, pour i > p, la bande Bi représente l’entier
0, alors
– si m ∈ dom(f ), M s’arrête après un temps fini et sur les bandes sont
représentés successivement les entiers (m1 , . . . , mp , f (m), 0, . . . , 0) ;
– si m 6∈ dom(f ), M ne s’arrête jamais (c’est-à-dire ef n’est jamais atteint).
3. La fonction partielle f est dite T -calculable s’il existe une machine de
Turing M qui calcule f .
Lemme 4.4.1. Les fonctions de base (C00 , S et les Pin ) sont T -calculables.
Démonstration. C00 est calculable par M à une bande et avec E = {ei , ef }, où
la table de transition est donnée par M (d, ei ) = (d, ef , 0). (Ici comme dans la
suite, nous nous contentons de donner la partie essentielle de M .)
S est calculable par M à deux bandes, avec E = {ei , ef } et où M (d, d, ei ) =
(d, d, ei , +1), M (|, b, ei ) = (|, |, ei , +1) et M (b, b, ei ) = (b, |, ef , 0).
Pin est calculable par M à n + 1 bandes, avec E = {ei , ef } et où la table de
transition est donnée par M (d, . . . , d, ei ) = (d, . . . , d, ei , +1) ainsi que
(
(s1 , . . . , sn , |, ei , +1), si si =|,
M (s1 , . . . , sn , b, ei ) =
(s1 , . . . , sn , b, ef , 0), si si = b.
Lemme 4.4.2. L’ensemble des fonctions partielles T -calculables est clos par
composition.
Démonstration. Soient f1 , . . . , fn ∈ Fp∗ et g ∈ Fn∗ T -calculables, et soit h =
g(f1 , . . . , fn ).
Par hypothèse il existe Mi , 1 ≤ i ≤ n, à pi ≥ p + 1 bandes et ensemble
d’états Ei calculant fi , ainsi que M0 à n0 ≥ n + 1 bandes et ensemble d’états
E 0 calculant g.
Pn
Soit M une machine de Turing à p + (n0 − n) + i=1 (pi − p) bandes et
S
˙ 0 ∪˙ ˙ i Ei . On déclare que l’état initial de M est
ensemble d’états E = {ed , en }∪E
celui de M1 , l’état final celui de M0 .
Voici le fonctionnement de M (la description exacte de la table de transition
de M est laissée en exercice) :
Étant représentés (m1 , . . . , mp , 0, . . . , 0) sur les bandes, M commence à calculer f1 (m1 , . . . , mp ) comme M1 le ferait, en se servant des états dans E1 \ {e1f }
et de (p1 − p) bandes supplémentaires (disjointes de Bp+1 ). En l’état e1f , elle revient en début des bandes, puis se met dans l’état e2i ∈ E2 et calcule f2 (m) en se
servant des états dans E2 \{e2f } et de (p2 −p) bandes supplémentaires (disjointes
56
de Bp+1 ). Ainsi, M calcule successivement f1 (m), . . . , fn (m). Une fois fn (m)
calculée, M se met dans l’état initial de M0 et calcule h(f1 (m), . . . , fn (m))
comme M0 le ferait, en se servant de E 0 et de n0 − n bandes supplémentaires
(disjointes de Bp+1 ). Elle utilise pour ce calcul les bandes sur lesquelles sont inscrites les fi (m) comme bandes d’entrée et Bp+1 comme bande de sortie. Il faudra
donc renuméroter les bandes pour pouvoir se servir des tables de transition de
M1 ,. . . ,Mn et M0 en établissant la table de M.
Une fois h(f1 (m), . . . , fn (m)) calculée, au lieu de passer à l’état final de M0 ,
M se met dans l’état ed qui sert pour retrouver le début de bande, puis nettoie
les bandes sur lesquelles sont représentés les fi (m), en se servant de l’état en ,
pour enfin se mettre dans l’état final.
Lemme 4.4.3. L’ensemble des fonctions partielles T -calculables est clos par
schéma µ.
Démonstration. Exercice. (C’est facile.)
Lemme 4.4.4. L’ensemble des fonctions partielles T -calculables est clos par
récurrence.
Démonstration. Soit g ∈ Fp∗ calculée par M à p + 1 + k bandes et ensemble
∗
d’états E, et soit h ∈ Fp+2
calculée par M0 à p + 3 + k 0 bandes et ensemble
0
∗
d’états E . On considére la fonction partielle f ∈ Fp+1
définie par f (x, 0) = g(x)
et f (x, y + 1) = h(x, y, f (x, y)).
Voici la description informelle d’une machine de Turing N qui calcule f :
˙ 0 plus
N a p + 4 + k + k 0 bandes, et son ensemble d’états est composé de E ∪E
N
M
N
M0
certains états auxiliaires, avec ei = ei et ef = ef .
Fonctionnement de N sur l’entrée (m1 , . . . , mp+1 ) :
(1) Calcul de g(m1 , . . . , mp ) avec bandes d’entrée B1 , . . . , Bp , bande de sortie
Bp+2 et bandes auxiliaires Bp+5 , . . . , , Bp+4+k , en travaillant comme M,
à renumérotation des bandes près.
(2) Comparer mp+1 et le contenu y de Bp+3 (tout au long du calcul, la bande
Bp+3 représentera un entier ≤ mp+1 ) :
– si mp+1 = y, aller à l’étape (5) ;
– si mp+1 > y, aller à l’étape (3).
(3) Calculer h(m1 , . . . , mp , y, f (x, y)) = f (x, y + 1) comme le ferait M0 , avec
bandes d’entrée B1 , . . . , Bp , Bp+3 , Bp+2 , bande de sortie Bp+4 et les k 0
dernières bandes comme bandes auxiliaires.
(4) Copier le contenue de Bp+4 sur la bande Bp+2 , puis nettoyer Bp+4 et
incrémenter le contenu de Bp+3 par un bâton, c’est-à-dire passer de y à
y + 1. Revenir à l’étape (2).
(5) Nettoyer Bp+3 et s’arrêter.
Théorème 4.4.5. Les fonctions partielles récursives sont T -calculables.
Démonstration. On combine les quatre lemmes précédents.
57
Exercice. Décrire une machine de Turing qui calcule λxy.x + y.
Pour pouvoir établir la réciproque du théorème 4.4.5, nous allons coder les
machines de Turing ainsi que leur fonctionnement.
Codage des machines de Turing :
On identifie S = {b, d, |} à {0, 1, 2}, via 0 ↔ b, 1 ↔ d et 2 ↔|. Une suite
(si )i≤n , ouPune suite (si )i∈N avec si = 0 pour presque tout i, est codée par
Γ((si )) = i≥0 si 3i ∈ N.
Soit M une machine de Turing. Elle est donnée par
– n = n(M) ≥ 1, le nombre de bandes de M ;
– l’ensemble fini d’états E : on supposera que E = {0, . . . , m} (m ≥ 1 est
donc égal à card(E) − 1), avec ei = 0 et ef = 1 ;
– la table de transition M : S n × E → S n × E × {−1, 0, 1} : pour coder
M , si ρ = (s1 , . . . , sn , e) ∈ S n × E et M (ρ) = (t1 , . . . , tn , e0 , ε), on pose
r1 (ρ) = α2 (Γ(s1 , . . . , sn ), e) et r2 (ρ) = α3 (Γ(t1 , . . . , tn ), e0 , ε + 1), puis
Y
pM q =
π(r1 (ρ))r2 (ρ) .
ρ∈S n ×E
Pour décoder, on utilisera la fonction δ, avec δ(i, x) := µz ≤ x π(i)z+1 - x .
On a alors δ(α2 (Γ(s1 , . . . , sn ), e), pM q) = α3 (Γ(t1 , . . . , tn ), e0 , ε + 1).
Enfin, l’indice de M est donné par pMq = α3 (n, m, pM q).
Lemme 4.4.6. Pour p ≥ 0, l’ensemble
Ip = {pMq | M est une machine de Turing à ≥ p + 1 bandes}
est primitif récursif.
Démonstration. On voit facilement que l’on peut reconnaı̂tre de manière primitive récursive si les contraintes sur la table de transition sont satisfaites. Les
détails sont laissés en exercice.
Une configuration C = C(t) de M (à un instant t) est un élément (si )i ∈ S N
tel que snv+w soit l’élément écrit sur la (v + 1)e case de la bande Bw+1 ). (On
suppose qu’il n’y a qu’un nombre fini de symboles non blancs et que le symbole
d est écrit au début de bande et uniquement là.)
On note Γ(C) := Γ((si )) le code dela configuration C. Pour décoder, on
utilisera la fonction η(Γ(C), u, v, n) = r q(Γ(C), 3n(u−̇1)+(v−̇1) ), 3 , (q étant le
quotient de la division avec reste, r étant le reste) qui donne le symbole s écrit
sur la ue case de la bande Bv . Si σ = (s1 , . . . , sn ) est la suite des
symboles écrits
sur les cases no u, alors Γ(σ) = ε(Γ(C), u, n), où ε(x, y, z) = r q(x, 3z(y−̇1) ), 3z .
La situation de M (à un instant t) est donnée par Sit = Sit(t) = (e, k, C(t)),
où e désigne l’état de M à l’instant t, k est le no de case devant laquelle la
tête se trouve à l’instant t et C(t) la configuration à l’instant t. On la code via
Γ(Sit(t)) = α3 (e, k, Γ(C(t)).
58
Lemme 4.4.7. Soit p ≥ 0. Il existe une fonction primitive récursive g p ∈ F2
telle que
– g p (i, x) = 0 si i 6∈ Ip ;
– si i = pMq et x est le code de la situation de M à l’instant t, alors g p (i, x)
est le code de la situation de M à l’instant t + 1.
Démonstration. On suppose i = pMq ∈ Ip . Alors
– l’état de la machine est β13 (x) = e ;
– le no des cases observées est β23 (x) = k ;
– le code de la configuration C(t) est β33 (x) = Γ(C(t)) ; le nombre de bandes
est donné par β13 (i) = n ;
– le nombre d’états de M moins 1 est égal à β23 (i) = m ;
– le code de la table de transition est donné par β33 (i) = pM q ;
– le code de ce que lit la tête à l’instant t est donné par
ε (Γ(C(t)), k, n) = ε β33 (x), β23 (x), β13 (i) =: c.
Si x n’est pas le code d’une situation, on pose g p (i, x) = 0. C’est le cas si
> m, si β23 (x) = 0 ou si β33 (x) n’est pas le code d’une configuration avec d
en début de bande et uniquement là (la dernière condition s’exprime de manière
primitive récursive, en utilisant les fonctions ε et η).
Sinon, soit δ := δ (α2 (c, e), pM q). Alors c0 = β13 (δ) est le code de la suite
écrite à la place
On pourra poser
g p (i, x) = α3 (e0 , k 0 , Γ(C 0 )),
de celle codée par
c. β13 (x)
où Γ(C 0 ) = Γ(C) + 3n(k−̇1) · c0 −̇ 3n(k−̇1) · c est le code de la configuration,
e0 = β23 (δ) l’état de la machine, et enfin k 0 = β23 (x) + β33 (δ) −̇1 le no des cases
observées à l’instant t + 1.
On définit une fonction STp ∈ Fp+2 :
– STp (i, t, x) = 0, si i 6∈ Ip ;
– sinon, STp (i, t, x) est le code Γ(Sit(t)) de la situation à l’instant t de la
machine M d’indice i qui a commencé à fonctionner en t = 0 sur la configuration suivante : sur B1 , . . . , Bp sont représentés les entiers x1 , . . . , xp ,
et les autres bandes représentent 0.
Théorème 4.4.8. Pour tout p ≥ 0, la fonction STp est primitive récursive.
Démonstration. La fonction λix.STp (i, 0, x) est primitive récursive. (C’est facile
et laissé en exercice.) Puis, on a STp (i, t + 1, x) = g p (i, STp (i, t, x)).
On appelle configuration de sortie pour l’entrée x = (x1 , . . . , xp ) une configuration où les bandes B1 , . . . , Bp représentent x1 , . . . , xp , la bande Bp+1 représente un entier, et où les autres bandes repésentent 0.
Pour p ≥ 0, on définit un prédicat E p ⊆ Np+2 de la manière suivante :
(i, c, x) ∈ E p ) ⇐⇒ i ∈ Ip et c est le code d’une configuration de sortie pour
l’entrée x.
59
Il est facile à voir que E p est un ensemble primitif récursif. [Exercice. Pour
exprimer par exemple que Bp+1 représente un entier, notons que dans la formule ∀z η(c, z, p + 1, n) = 2 ∧ z ≥ 3 → η(c, z −̇1, p + 1, n) = 2 , on peut borner
le quanteur universel par c.]
On définit aussi les ensembles suivants :
B p = (i, t, x) ∈ Np+2 | β13 (STp (i, t, x)) = 1 et (i, β33 (STp (i, t, x)), x) ∈ E p
(à l’instant t, la machine d’indice i se trouve dans l’état final, et sa configuration
est une configuration de sortie pour l’entrée x)
C p = (i, y, t, x) ∈ Np+3 | (i, t, x) ∈ B p et y est représenté sur Bp+1
Les ensembles B p et C p sont primitifs récursifs.
Soit maintenant f ∈ Fp∗ une fonction partielle T -calculable. Choisissons une
machine de Turing M qui calcule f , et posons i = pMq. On peut définir la
fonction partielle TM (qui donne le temps de calcul) comme
TM (x) := µt ((i, t, x) ∈ B p ) .
Alors on a
f (x) = µy ≤ TM (x) (i, y, TM (x), x) ∈ C p .
(4.2)
On appelle (4.2) la forme normale de Kleene de f .
En particulier, nous avons montré les deux résultats suivants.
Théorème 4.4.9. Les fonctions (partielles) T -calculables sont récursives.
Proposition 4.4.10.
1. Si f est totale et T -calculable en un temps primitif
récursif, alors f est primitive récursive.
2. L’ensemble des fonctions partielles récursives est le plus petit sous-ensemble
de F ∗ contenant les fonctions primitives récursives et clos par composition
et schéma µ.
3. L’ensemble des fonctions totales récursives est le plus petit sous-ensemble
de F contenant les fonctions primitives récursives et clos par composition
et schéma µ total. Autrement dit, toute fonction récursive totale s’obtient
par un nombre fini d’applications des règles (R0) − (R3).
On observera que nos arguments pour montrer que toute fonction T -calculable
est récursive ne sont pas spécifiques aux machines de Turing. Cela justifie la
Thèse de Church.
Toute fonction calculable (au sens intuitif du terme) est récursive.
60
4.5
Fonctions universelles
Il suffit de varier l’indice de la machine de Turing pour obtenir une fonction
∗
universelle. On définit d’abord la fonction T p ∈ Fp+1
comme suit :
p
– si i 6∈ Ip , T (i, x) n’est pas définie ;
– si i ∈ Ip , on pose T p (i, x) = µt ((i, t, x) ∈ B p ).
∗
,
Ensuite, on définit la fonction partielle récursive ϕp ∈ Fp+1
ϕp (i, x) = µy [(i, y, T p (i, x), x) ∈ C p ] .
On note ϕpi = λx.ϕp (i, x).
Proposition 4.5.1. ϕp est une fonction partielle récursive universelle : toute
fonction partielle récursive en p variables est de la forme ϕpi pour un entier i
convenable.
Théorème 4.5.2 (Théorème SMN). Pour tout couple d’entiers m et n il existe
n
une fonction sm
n ∈ Fn+1 primitive récursive telle que pour tout i ∈ N, x ∈ N et
m
y ∈ N on ait
ϕn+m
(x, y) = ϕm
(y).
sm
i
n (i,x)
Démonstration. Soit M une machine de Turing à ≥ m + n + 1 bandes. Étant
donné (a1 , . . . , an ) ∈ Nn , on considère la machine M0 qui fonctionne ainsi :
(1) Elle écrit a1 , . . . , an sur les bandes Bm+2 , . . . , Bm+n+1 .
(2) Puis, elle travaille comme M, à permutation des bandes près, et écrit le
résultat sur la bande Bm+1 .
(3) Elle nettoie les bandes Bm+2 , . . . , Bm+n+1 , puis s’arrête.
Il est clair qu’il existe une fonction primitive récursive g ∈ Fn+1 qui calcule
pM0 q ∈ Im à partir de pMq et a1 , . . . , an , c’est-à-dire g(pMq, a1 , . . . , an ) =
pM0 q et g(i, a) = 0 si i 6∈ Im+n . Il suffit donc de poser sm
n = g.
Théorème 4.5.3 (Théorème du point fixe). Soit m > 0 et α ∈ F1 récursive
m
totale. Alors il existe i ∈ N tel que ϕm
i = ϕα(i) .
Démonstration. On considère g = λyx1 . . . xm .ϕm (α(sm
1 (y, y)), x1 , . . . , xm ). Par
universalité (Proposition 4.5.1), on a g = ϕm+1
pour
un
indice a ∈ N. On calcule
a
(y, x) = ϕm
(x).
ϕm
(x) = ϕm+1
a
α(sm
sm
1 (y,y))
1 (a,y)
m
m
Il suffit de poser i := sm
1 (a, a) pour obtenir ϕα(i) = ϕi .
Le théorème du point fixe fournit un argument élégant pour montrer le résultat suivant (cf. Exercice 4.3.1).
Proposition 4.5.4. La fonction d’Ackermann ξ est récursive.
Démonstration. On définit θ ∈ F3∗ récursive partielle comme suit :
– θ(i, y, x) = 2x si y = 0 ;
61
– θ(i, y, x) = 1 si x = 0 ;
– θ(i, y, x) = ϕ2 (i, y −̇1, ϕ2 (i, y, x−̇1)) sinon.
Par universalité, il existe a ∈ N tel que θ = ϕ3a . Par le théorème SMN, on a donc
θ(i, y, x) = ϕ2s2 (a,i) (y, x).
1
Posons α = λi.s21 (a, i). Par le théorème du point fixe il existe i0
ϕ2α(i0 ) . La fonction ϕ2i0 est récursive et satisfait aux relations
∈ N tel que ϕ2i0 =
qui définissent la
fonction d’Ackermann : pour y, x ≥ 1, on a
ϕ2i0 (y, x) = θ(i0 , y, x) = ϕ2 (i0 , y − 1, ϕ2 (i0 , y, x − 1)) = ϕ2i0 (y − 1, ϕ2i0 (y, x − 1)).
(Notons que la totalité de ϕ2i0 s’obtient également par récurrence.)
4.6
Ensembles récursivement énumérables
Définition. Un ensemble R ⊆ Nn est appelé récursivement énumérable (r.e.)
s’il existe S ⊆ Nn+1 récursif tel que R = π(S), où π est la projection sur les n
premières coordonnées.
Une relation R(x1 , . . . , xn ) sur N est donc récursivement énumérable s’il
existe une relation récursive S(x, y) telle que (dans N) R(x) ⇐⇒ ∃yS(x, y).
Remarque. Tout ensemble récursif est r.e.
Proposition 4.6.1. L’ensemble des relations r.e. est clos par conjonction, disjonction, quantification universelle bornée et par quantification existentielle. De
plus, si f1 , . . . , fn ∈ Fm sont récursives et si R ⊆ Nn est r.e., alors {x ∈ Nm |
(f1 (x), . . . , fm (x)) ∈ R} est r.e.
Démonstration. Soient P , Q et R des relations telles que P (x) ⇐⇒ ∃yP (x, y),
Q(x) ⇐⇒ ∃yQ(x, y) et R(x, z) ⇐⇒ ∃yR(x, z, y) pour P , Q et R récursives.
Alors on a les équivalences suivantes :
(P (x) ∨ Q(x)) ⇐⇒ ∃y P (x, y) ∨ Q(x, y)
(P (x) ∧ Q(x)) ⇐⇒ ∃y P (x, β12 (y)) ∧ Q(x, β22 (y))
∃zR(x, z) ⇐⇒ ∃z∃yR(x, z, y) ⇐⇒ ∃sR(x, β12 (s), β22 (s))
R(f1 (x), . . . , fn (x)) ⇐⇒ ∃yR(f1 (x), . . . , fn (x), y)
∀z ≤ wR(x, z) ⇐⇒ ∀z ≤ w∃yR(x, z, y) ⇐⇒ ∃s∀z ≤ wR(x, z, (s)z )
Ici, (s)z désigne la fonction composante du lemme 4.1.4.
Théorème 4.6.2. Soit X ⊆ Nn . Sont équivalents :
1. X est r.e.
2. X est vide ou l’image d’une fonction f = (f1 , . . . , fn ) : N → Nn avec
f1 , . . . , fn ∈ F1 récursives (totales).
62
3. X = dom(f ) pour une fonction partielle récursive f ∈ Fn∗ .
4. Il existe Y ⊆ Nn+1 primitif récursif tel que X = π(Y ).
Démonstration. Quitte à identifier Nn et N par αn (une fonction primitive récursive), on peut supposer n = 1.
(1)⇒(2) : Soit r ∈ X et X = P12 (Y ) pour Y récursif. Alors X = im(f ), pour
f ∈ F1 définie ainsi :
(
β12 (z), si (β12 (z), β22 (z)) ∈ Y ;
f (z) :=
r, sinon.
(2)⇒(3) : On a ∅ = dom(g) pour g = λx.µt(x > x). Si X = im(f ), on définit
g = λx.µt(x = f (t)). Alors dom(g) = im(f ) = X.
(3)⇒(4) : Soit f ∈ F1∗ récursive partielle et X = dom(f ). Alors par universalité
il existe i0 ∈ N tel que f = ϕ1i0 , c’est-à-dire
X = {x ∈ N | ∃t (i0 , t, x) ∈ B 1 }.
Cela établit (4), puisque B 1 est primitif récursif.
(4)⇒(1) : Trivial.
Remarque. Notons que la preuve de (1)⇒(2), compte tenu de l’équivalence
entre (1) et (4), montre que l’on pourra même supposer dans (2) que les fonctions f1 , . . . , fn sont primitives récursives.
Corollaire 4.6.3. L’ensemble U = dom(ϕn ) ⊆ Nn+1 est universel r.e. : il est
r.e. et pour tout R ⊆ Nn r.e. il existe e ∈ N tel que R = {x | (e, x) ∈ U }.
Théorème 4.6.4. Un ensemble X ⊆ Nn est récursif ssi X et Nn \ X sont r.e.
Démonstration. ”⇒” est clair.
Quant à ”⇐”, soit X ⊆ Nn tel que X = π(Y ) et Nn \ X = π(Y 0 ) avec
Y, Y 0 ⊆ Nn+1 récursifs. Alors 1X (z) = 1Y (z, µt[(z, t) ∈ Y ∪ Y 0 ])).
Théorème 4.6.5. L’ensemble dom(ϕ1 ) n’est pas récursif. En particulier, il
existe un ensemble r.e. qui n’est pas récursif.
Démonstration. On montre que g = λx.ϕ1 (x, x) n’est pas de domaine récursif.
(On ne peut pas décider si une machine s’arrête quand on la fait fonctionner sur
son propre code.)
Soit D = N \ dom(g). Si D était r.e., alors D = dom(ϕ1i0 ) pour un i0 ∈ N par
le corollaire 4.6.3. En particulier, on aurait i0 ∈ D si et seulement si ϕ1 (i0 , i0 )
est définie. Or, par définition de g, i0 ∈ D si et seulement si ϕ1 (i0 , i0 ) n’est pas
définie. Absurde.
Une petite variation montre que le problème de l’arrêt n’est pas décidable :
63
Théorème 4.6.6 (Undécidabilité du problème de l’arrêt). L’ensemble des indices des machines de Turing qui s’arrêtent lorsqu’elles commencent à fonctionner sur l’entrée vide n’est pas récursif.
Démonstration. Par l’absurde. Si l’ensemble
Ia = {i ∈ I1 | M d’indice i s’arrête si elle est lancée sur l’entrée vide}
est récursif, il est facile à voir que l’ensemble Is = dom λx.ϕ1 (x, 0) est récursif
aussi, où Is est donc l’ensemble des indices des machines de Turing qui s’arrêtent
sur une configuration de sortie pour 0 lorsqu’elles sont lancées sur l’entrée
vide :
si i ∈ Ia , alors i ∈ Is ssi i, β33 (ST1 (i, µt[β13 (ST1 (i, t, 0)) = 1], 0)), 0 ∈ E 1 .
On considère A ⊆ N r.e. non récursif (un tel A existe par 4.6.5). Soit M une
machine de Turing qui calcule une fonction f ∈ F2∗ avec dom(f ) = A × {0}. Soit
i0 l’indice de M. Alors A = {n ∈ N | s11 (i0 , n) ∈ Is }, ce qui montre que A est
récursif. Contradiction.
Théorème 4.6.7 (Théorème de Rice). Soit X un ensemble de fonctions partielles récursives à une variable. On suppose que X est non vide et distinct
de l’ensemble de toutes les fonctions partielles récursives à une variable. Alors
I = {i ∈ N | ϕ1i ∈ X } n’est pas récursif.
Démonstration. Quitte à passer au complément, on peut supposer que la fonction de domaine vide
est dans X . On choisit j ∈ N \ I, et on note ψ(x, y, z) =
ϕ1 (j, z) + ϕ1 (x, y) −̇ϕ1 (x, y), puis ψx,y = λz.ψ(x, y, z). Alors
ψx,y ∈ X ⇐⇒ (x, y) 6∈ dom(ϕ1 ) = U.
On a ψ = ϕ3i0 pour un entier i0 , donc ψx,y = ϕ1s1 (i0 ,x,y) par le théorème
2
SMN. Posons h = λxy.s12 (i0 , x, y). C’est une fonction primitive récursive. On
a (x, y) ∈ N2 \ U ⇐⇒ h(x, y) ∈ I. Comme N2 \ U n’est pas récursif par le
théorème 4.6.4, I n’est pas récursif non plus.
Exemples 4.6.8.
1. Soit f ∈ F1∗ une fonction partielle récursive. Alors l’ensemble {i ∈ N | ψi1 = f } n’est pas récursif.
2. {(i, j) ∈ N2 | ϕ1i = ϕ1j } ⊆ N2 n’est pas récursif.
3. L’ensemble des indices des fonctions totales (récursives) n’est pas récursif.
4.7
Élimination de la récurrence
Théorème 4.7.1 (Élimination de la récurrence). Toute fonction récursive totale s’obtient à partir des fonctions de base C00 , S, Pin , +, · et 1< , en appliquant
uniquement les règles (R1) et (R3).
Démonstration. Une fonction totale est appelée #-récursive si elle satisfait à la
conclusion du théorème 4.7.1. Par la proposition 4.4.10(3), il suffira de montrer
que la classe des fonctions #-récursives est close par (R2) (récurrence).
64
Lemme 4.7.2.
(1) La fonction λxy.x−̇y est #-récursive.
(2) La classe des ensembles #-récursifs est close par combinaisons booléennes
et quantification bornée.
(3)
1= est #-récursive.
(4) L’ensemble {(x, y, z) | x ≡ y mod z} est #-récursif.
(5) La classe des fonctions #-récursives est close par définition par cas (voir
Lemme 4.1.2(5)), si les fonctions et les ensembles de la partition sont
#-récursifs.
Preuve du lemme 4.7.2. (1) x−̇y = µz (x < (y + z) + 1)
On a 1X c = 1−̇1X et 1X∩Y = 1X · 1Y , ce qui établit la clôture par combinaisons booléennes.
(3) On a x = y ⇐⇒ (¬x < y ∧ ¬y < x).
Maintenant, soit X ⊆ Nn+1 un ensemble #-récursif. On définit g ∈ Fn+1 ,
g(x, z) := µy ((x, y) ∈ X ou y = z + 1) .
Comme la condition entre parenthèses s’exprime facilement par f (x, y, z) = 0
pour une fonction #-récursive f , on voit que g est #-récursive aussi. On a
∃y ≤ z : (x, y) ∈ X ⇐⇒ g(x, z) < z + 1, d’où la clôture par quantification
existentielle bornée. Comme ∀y ≤ z ϕ est équivalent à ¬∃y ≤ z ¬ϕ, la preuve de
(2) est terminée.
(4) On a x ≡ y mod z ⇐⇒ ∃w ≤ x + y x = y + w · z ∨ y = x + w · z .
˙ k une partition avec Ai #-récursif pour tout i,
(5) Soit Nn = A1 ∪˙ . . . ∪A
et soient f1 ,P
. . . , fk ∈ Fn des fonctions #-récursives. Par induction sur k, on
k
montre que i=1 1Ai · fi est #-récursive.
Lemme 4.7.3 (La fonction β de Gödel). Il existe une fonction #-récursive
β ∈ F3 telle que pour toute suite finie d’entiers (c0 , . . . , cn−1 ) il existe a, b ∈ N
avec β(a, b, i) = ci pour i = 0, . . . , n − 1.
Démonstration. On pose β(a, b, i) := µz [z ≡ a mod (b(i + 1) + 1)]. La fonction
β est #-récursive par le lemme 4.7.2. Soient c0 , . . . , cn−1 donnés, et soit b ∈ N,
b divisible par n! et b > ci pour tout i. Alors b + 1, 2b + 1, 3b + 1, . . . , nb + 1
sont 2 à 2 premiers entre eux. En effet, si p premier divise ib + 1 et jb + 1 pour
1 ≤ i < j ≤ n, alors p - b et p | b(i − j). Donc p | (i − j). Comme (i − j) | n!,
c’est absurde.
Par le théorème chinois il existe a tel que pour tout i = 0, . . . , n − 1 on ait
a ≡ ci mod ((i + 1)b + 1). Comme ci < (i + 1)b + 1 pour tout i, ci est le plus
petit entier z tel que z ≡ a mod ((i + 1)b + 1).
Revenons à la preuve du théorème 4.7.1. Soient donc g ∈ Fn et h ∈ Fn+2 #récursives, et soit f ∈ Fn+1 définie par récurrence à partir de g et h, c’est-à-dire
f (x, 0) = g(x) et f (x, y + 1) = h(x, y, f (x, y)). La relation
R(x, y, a, b) : ⇐⇒ [β(a, b, 0) = g(x) ∧ ∀i ≤ y (β(a, b, i + 1) = h(x, i, β(a, b, i)))]
65
est #-récursive par les lemmes 4.7.2 et 4.7.3.
Par le choix de β, on a ∀x, y∃a, b R(x, y, a, b). Alors la fonction e qui à (x, y)
associe µs (∃a ≤ s∃b ≤ sR(x, y, a, b)) est #-récursive.
Enfin, f (x, y) = µz [∃a ≤ e(x, y)∃b ≤ e(x, y) (R(x, y, a, b) ∧ z = β(a, b, y))],
ce qui montre que f est #-récursive.
66
Chapitre 5
Modèles de l’arithmétique
et théorèmes de limitation
5.1
Codage des formules et des preuves
Soit σ L = {λ1 , . . . , λl } une signature finie. On associe aux symboles s de L
leur nombre de Gödel psq comme suit : à =,
˙ ∧, ¬, (, ), ∃ on associe successivement
h0, 0i, h0, 1i, . . . , h0, 5i, à λi on associe h0, i + 5i, et à vi (i ∈ N) on associe h1, ii.
À un mot m = s1 · · · sn sur l’alphabet L on associe le nombre de Gödel
#m = hps1 q, . . . , psn qi.
Ce codage est évidemment injectif.
Lemme 5.1.1. Les ensembles suivants sont primitifs récursifs :
1. Term = {#t | t est un L-terme}
2. Form = {#ϕ | ϕ est une L-formule}
3. {(#t, n) | t est un L-terme dans lequel vn a une occurrence} et
{(#t, n) | t est un L-terme dans lequel vn n’a pas d’occurrence}
4. {(#ϕ, n) | ϕ est une formule dans laquelle vn a une occurrence},
de même pour ‘ n’a pas d’occurrence’, ‘ a au moins une occurrence libre’,
‘ n’a pas d’occurrence libre’, ‘ a au moins une occurrence liée’ et ‘ n’a pas
d’occurrence liée’ à la place de ‘ a une occurrence’.
5. {#ϕ | ϕ est un L-énoncé}.
Démonstration. On utilise les propriétés du codage h. . .i des suites finies (Lemme
4.1.4), en particulier n = lg(hs0 , . . . , sn−1 i) ≤ hs0 , . . . , sn−1 i et la fonction primitive récursive de décodage à deux places λxi.(x)i .
Par les propriétés de lecture unique, on pourra non seulement argumenter par
induction sur la longueur, mais aussi par induction sur la hauteur (des termes
et des formules). Par exemple si x est le code d’un mot m qui commence avec
67
‘(’, alors x est le code d’une formule si et seulement s’il existe y1 , y2 < x tels que
yi = #ϕi pour des formules ϕ1 , ϕ2 et tels que m = (ϕ1 ∧ ϕ2 ). Les détails sont
laissés en exercice.
Rappelons que nous avons défini la substitution dans les termes et les formules. Si x1 , . . . , xn sont n variables 2-à-2 distinctes, et s1 , . . . , sn des termes,
nous avons défini ts/x et ϕs/x . On montre sans problème que les fonctions suivantes St : N3 → N et Sf : N3 → N sont primitives récursives : St est la fonction
qui à (a, b, c) associe #ts/vi1 ,...,vin si a = #t ∈ Term, b = hi1 , . . . , in i est le code
d’une suite d’entiers 2-à-2 distincts et c = h#s1 , . . . , #sn i, où #si ∈ Term pour
tout i, et 0 sinon.
La fonction Sf est définie de la même manière, c.-à-d. pour (a, b, c) =
(#ϕ, hi1 , . . . , in i, h#s1 , . . . , #sn i) convenable on a Sf (a, b, c) = #ϕs/vi1 ,...,vin .
En particulier, nous obtenons donc le résultat suivant.
Lemme 5.1.2. Il existe des fonctions primitives récursives Substt , Substf ∈
F3 telles que pour tout n, si s et t sont des termes et ϕ une formule, alors
Substt (n, #s, #t) = #ts/vn et Substf (n, #s, #ϕ) = #ϕs/vn .
De la même manière, on code les formules du calcul propositionnel, via F 7→
#F ∈ N, où F ∈ FmlP .
Lemme 5.1.3. L’ensemble Taut des codes des tautologies du calcul des prédicat
est primitif récursif.
Démonstration. On montre :
– FormP = {#F | F ∈ FmlP } est un ensemble primitif récursif ;
– la fonction qui à (d, x) associe la valeur de vérité (0 ou 1) de la formule F = F [p0 , . . . , pn−1 ] pour la distribution des valeurs de vérité d =
hd0 , . . . , dn−1 i si d est le code d’une suite de 0 et 1 de longueur n et x = #F
est le code de F ∈ FmlP ne contenant que des variables propositionnelles
pi avec i ≤ n − 1, et 0 sinon, est primitive récursive ;
– l’ensemble TautP = {#F | F est une tautologie} est primitif récursif ;
– il existe une fonction primitive récursive qui à (h#ϕ0 , . . . #ϕn−1 i, #F )
associe #Fϕ/p si F = F [p0 , . . . , pn−1 ].
Ceci permet de conclure.
On peut également reconnaı̂tre de manière primitive récursive les codes des
axiomes de l’égalité ainsi que les codes des axiomes du quanteur existentiel
(compte tenu du lemme 5.1.2). Nous avons donc montré le théorème suivant.
Théorème 5.1.4. L’ensemble Ax des codes #ϕ des axiomes logiques ϕ de L
est primitif récurisf.
Codage des preuves formelles
Si d = (ϕ0 , . . . , ϕn−1 ) est une suite finie de L-formules, on la code via ##d =
h#ϕ0 , . . . , #ϕn−1 i.
68
Lemme 5.1.5. Dem = {(x, #ϕ) | x = ##d et d est une preuve formelle de ϕ}
est un ensemble primitif récursif.
Démonstration. Il suffit de décoder et de tester si toutes les composantes de x
sont des codes de L-formules ϕi , la dernière étant égale à ϕ, et si pour tout i,
soit ϕi est un axiome logique (ce qui se voit de manière primitive récursive par
le théorème 5.1.4), soit elle peut s’obtenir par une règle de déduction à partir
de formules déjà obtenues avant.
Proposition 5.1.6. U = {#ϕ | ` ϕ} est récursivement énumérable.
Démonstration. On a n ∈ U ⇔ ∃d (d, n) ∈ Dem.
5.2
Théories décidables
Pour T une théorie, on note Thm(T ) = {ϕ L-énoncé | T ` ϕ}, la clôture
déductive de T .
Définition. Soit T une L-théorie.
1. T est dite récursive si {#ϕ | ϕ ∈ T } est un ensemble récursif.
2. T est dite récursivement (ou effectivement) axiomatisable s’il existe une
L-théorie récursive T0 telle que Thm(T ) = Thm(T0 ).
3. T est dite décidable si Thm(T ) est une théorie récursive, c.-à-d. si l’ensemble #Thm(T ) = {#ϕ | T ` ϕ} est récursif.
Si T est une L-théorie, on définit l’ensemble
Dem(T ) = {(##d, #ϕ) | d est une preuve de ϕ dans T }.
Lemme 5.2.1. Si T est récursive, Dem(T ) est un ensemble récursif.
Démonstration. Exercice.
Théorème 5.2.2. Si T est effectivement axiomatisable, alors #Thm(T ) est
récursivement énumérable.
Démonstration. Soit T0 une théorie récursive telle que Thm(T ) = Thm(T0 ).
On a ϕ ∈ Thm(T ) si et seulement si ϕ est un L-énoncé et il existe une preuve
de ϕ dans T0 . On conclut par les lemmes 5.1.1(5) et 5.2.1.
Remarque 5.2.3. La réciproque du théorème 5.2.2 est vraie aussi.
Démonstration. Supposons que l’ensemble #Thm(T ) est récursivement énumérable. Il existe donc f ∈ F1 récursive
Vntelle que #Thm(T ) = {f (i) = #ϕi | i ∈
N}. La fonction g qui à n associe # i=0 ϕi est récursive et onVa g(n) ≥ n pour
n
tout n. Son image est donc un ensemble récursif. Par ailleurs, { i=0 ϕi | n ∈ N}
est une axiomatisation de Thm(T ).
69
Théorème 5.2.4. Soit T effectivement axiomatisable et complète. Alors T est
décidable.
Démonstration. Par le théorème 5.2.2, on sait que #Thm(T ) est récursivement
énumérable. Or, son complémentaire N \ #Thm(T ) est donné par la rénuion de
{x | x n’est pas le code d’un L-énoncé} et de {#ϕ | ¬ϕ ∈ Thm(T )}.
Le premier ensemble est primitif récursif, et le deuxième est récursivement
énumérable, car #ϕ 7→ #¬ϕ est donné par une fonction (primitive) récursive.
On conclut par le théorème 4.6.4.
Exemples 5.2.5.
1. Toute théorie finiment axiomatisable est effectivement
axiomatisable. [Clair.]
2. CACp , p premier ou 0, est décidable.
[En effet, l’axiomatisation que nous avons donnée est certainement récursive, et on conclut donc en combinant le théorème 3.5.3 (CACp est
compléte) avec le théorème 5.2.4.]
3. CAC est une théorie décidable.
[En effet, comme CAC est effectivement axiomatisable, il suffit de montrer
que l’ensemble X = {#ϕ | ϕ est un énoncé et CAC 6|= ϕ} est récursivement énumérable. Or, CAC 6|= ϕ si et seulement s’il existe p premier tel
que CACp |= ¬ϕ. (C’est une conséquence du Principe de Lefschetz.) Cela
est équivalent à CAC |= χp → ¬ϕ, où χp = 1 + · · · + 1=0
˙ .
{z
}
|
p fois
Il s’en suit que #ϕ ∈ X si et seulement s’il existe p premier et y tels que
(y, #(χp → ¬ϕ)) ∈ Dem(CAC). Comme l’application (p, #ϕ) 7→ #(χp →
¬ϕ) est (primitive) récursive, on conclut que X est récursivement énumérable.]
4. La théorie du corps ordonné des réels R est décidable (c’est un résultat
de Tarski).
[Comme elle est complète, il suffit de donner une axiomatisation effective.
On peut montrer que tout corps ordonné hK; +, −, 0, 1, ·, <i satisfaisant
aux deux propriétés suivantes est élémentairement équivalent à R :
– tout élément positif est un carré (∀x(x ≥ 0 → ∃y y · y =x))
˙
;
– K a la propriété de la valeur intermédiaire pour les fonctions polynômiales, c.-à-d. si P (X) ∈ K[X] est un polynôme et a < b avec
P (a) · P (b) < 0, alors il existe c ∈ K tel que a < c < b et P (c) = 0.
Pour le prouver, Tarski a montré que Th(R) admet l’élimination des quanteurs dans le langage des corps ordonnés, un résultat que nous ne pouvons
pas présenter dans ce cours, par manque de temps.]
Exercice 5.2.6. Si T est décidable et ϕ0 , . . . , ϕn−1 sont des L-énoncés, alors
T ∪ {ϕ0 , . . . , ϕn−1 } est décidable.
5.3
Arithmétique de Peano
On considère le langage de l’arithmétique Lar = {0, S, +, ·, <}.
70
Définition. L’ensemble des axiomes de Peano faibles est l’ensemble fini P0 des
8 axiomes suivants :
(A1) ∀v0 ¬Sv0 =0
˙
(A2) ∀v0 ∃v1 (¬v0 =0
˙ → Sv1 =v
˙ 0)
(A3) ∀v0 ∀v1 (Sv0 =Sv
˙ 1 → v0 =v
˙ 1)
(A4) ∀v0 v0 + 0=v
˙ 0
(A5) ∀v0 ∀v1 v0 + Sv1 =S(v
˙
0 + v1 )
(A6) ∀v0 v0 · 0=0
˙
(A7) ∀v0 ∀v1 v0 · Sv1 =(v
˙ 0 · v1 ) + v0
(A8) ∀v0 ∀v1 (v0 < v1 ↔ (∃v2 v2 + v0 =v
˙ 1 ∧ ¬v0 =v
˙ 1 ))
L’ensemble des axiomes de Peano est l’ensemble (infini) P formé de P0 , ainsi
que pour chaque Lar -formule ϕ = ϕ[v0 , . . . , vn ] de l’axiome d’induction suivant
(on pose v = (v1 , . . . , vn )) :
∀v1 ∀v2 · · · ∀vn ((ϕ(0, v) ∧ ∀v0 (ϕ(v0 , v) → ϕ(Sv0 , v)) → ∀v0 ϕ(v0 , v)).
Remarque 5.3.1.
1. On a N = hN; 0, succ, +, ·, <i |= P.
2. P0 est une expansion par définition de la Lar \ {<}-théorie (A1)-(A7).
(C’est une conséquence de (A8).)
3. P0 est une théorie très faible. On peut construire des modèles dans lesquels l’addition (ou la multiplication) n’est pas commutative / associative ;
de même, il y a des modèles dans lesquels ≤ ne définit pas une relation
d’ordre.
4. Pour n ∈ N, dans tout modèle de P0 on trouve l’élément qui interprète
n = |S ·{z
· · S} 0. Un élément est dit non standard s’il est différent de n
n fois
pour tout n ∈ N. Par compacité, il existe des modèles de P contenant des
éléments non standards.
Définition. Soit M ⊆ M0 deux Lar -structures. On dit que M est un segment
initial de M0 si
– pour tout a0 ∈ M 0 et tout a ∈ M tel que M0 |= a0 < a on a a0 ∈ M , et
– pour tout a0 ∈ M 0 \ M et tout a ∈ M on a M0 |= a < a0 .
Lemme 5.3.2. Soit M |= P0 . Alors N = {nM | n ∈ N} est l’ensemble de base
d’une sous-structure de M isomorphe à N qui forme un segment initial de M.
Démonstration. Soit M |= P0 . On montre :
(i) Pour tout m, n ∈ N on a P0 |= m + n=m
˙ + n.
[Preuve par induction sur n, en utilisant (A4) et (A5).]
(ii) Pour tout m, n ∈ N on a P0 |= m · n=m
˙ · n.
[Preuve par induction sur n, en utilisant (A6), (A7) et (i).]
(iii) P0 |= ∀x∀y(x < y ⇐⇒ Sx < Sy).
71
(A3)
[En effet, si c ∈ M , alors M |= (c + x=y
˙ ∧ ¬x=y)
˙
⇔ M |= (S(c + x)=Sy
˙
∧
(A5)
¬Sx=Sy)
˙
⇔ M |= (c + Sx=Sy
˙
∧ ¬Sx=Sy).
˙
Le résultat suit de (A8).]
Wn−1
˙
(iv) Pour tout n ∈ N on a P0 |= ∀x(x < n ↔ i=0 x=i).
[Preuve par induction sur n. Si M |= c < 0 pour un c ∈ M , alors (dans M)
a + c = 0 pour un a ∈ M et c 6= 0 (par (A8)), donc c = Sd pour un d (par (A2))
et enfin (par (A5)) 0 = a + Sd = S(a + d), ce qui contredit (A1). Cela montre
le cas n = 0.
Pour l’étape d’induction, on utlise (iii) ainsi que le fait que 0 < c pour tout
c 6= 0 (conséquence de (A4) et (A8)).]
(v) Soit c ∈ M \ N et n ∈ N. Alors M |= n < c.
[Preuve par induction sur n, le cas n = 0 étant clair. Pour l’étape d’induction
n 7→ n + 1, notons que c = Sd pour un d 6∈ N . On a donc M |= n < d, ce qui
donne M |= n + 1 < c, en utilisant (iii).]
Il est clair que cela termine la preuve.
Quitte à nommer les éléments de N par des constantes (ce qui est inutile
puisque tout élément de N est donné par l’interprétation d’un terme), nous
avons donc en particulier montré que si M |= P0 , alors M |= ∆(N ).
Définition.
– L’ensemble des formules Σ1 est le plus petit sous-ensemble
des Lar -formules contenant les formules sans quanteurs et qui est clos par
∧, ∨, quantification existentielle ∃x et quantification universelle bornée
∀x < t, où t est un terme. [On définit (∀x < t) ϕ := ∀x(x < t → ϕ).]
– L’ensemble des formules Σ1 strictes est le plus petit sous-ensemble des
Lar -formules contenant les formules 0=x,
˙ sx=y,
˙ x + y =z,
˙ x · y =z,
˙ x=y,
˙
¬x=y,
˙ x < y, ¬x < y et qui est clos par ∧, ∨, ∃x et ∀x < y.
Lemme 5.3.3.
1. Toute formule Σ1 est équivalente à une formule Σ1 stricte.
2. Si ϕ est une formule Σ1 , alors toute formule ϕs/x obtenue par substitution
est Σ1 aussi.
Démonstration. On peut éliminer des termes complexes à l’aide de quanteurs
existentiels, voir la preuve du lemme 3.3.1. Par exemple, la formule x · Sy =z
˙ est
équivalente à ∃u∃v(Sy =u
˙ ∧ x · u=v
˙ ∧ Sz =v).
˙
La seconde partie est claire.
Proposition 5.3.4. Tout énoncé Σ1 vrai dans N est conséquence de P0 .
Démonstration. On montrera que pour toute formule Σ1 stricte ϕ(x1 , . . . , xn )
et tout m1 , . . . , mn ∈ N on a
N |= ϕ[m1 , . . . , mn ] ⇒ P0 |= ϕ(m1 , . . . , mn ).
Cela suffira par le lemme 5.3.3.
Si ϕ est une formule de base, c’est une conséquence du lemme 5.3.2.
Supposons que le résultat a été démontré pour ϕ(x0 , . . . , xn ) et ψ(x0 , . . . , xn ).
Les cas (ϕ ∧ ψ) et (ϕ ∨ ψ) sont alors clairs. Quant au quanteur existentiel, si
72
N |= ∃x0 ϕ[m1 , . . . , mn ], alors il existe m0 ∈ N tel que N |= ϕ[m0 , . . . , mn ],
ce qui implique P0 |= ϕ(m0 , . . . , mn ) par hypothèse d’induction, d’où P0 |=
∃x0 ϕ(m1 , . . . , mn ).
Finalement, si N |= (∀x0 < x1 ) ϕ[m1 , . . . , mn ], alors N |= ϕ[m0 , m1 , . . . , mn ]
pour tout m0 < m1 par définition de ∀x0 < x1 . Par hypothèse d’induction, on a
donc P0 |= ϕ(m0 , . . . , mn ) pour tout m0 < m1 . Par (iv) de la preuve du lemme
5.3.2, on obtient alors P0 |= (∀x0 < x1 )ϕ(m1 , . . . , mn ).
Définition. Soit f ∈ Fp . On dit que la formule ϕ = ϕ(x1 , . . . , xp+1 ) représente
f si pour tout n1 , . . . , np ∈ N on a
˙ (n1 , . . . , np ) .
P0 |= ∀y ϕ(n1 , . . . , np , y) ↔ y =f
On dit que ϕ(x1 , . . . , xp ) représente A ⊆ Np si pour tout n1 , . . . , np ∈ N on a
n ∈ A ⇒ P0 |= ϕ(n1 , . . . , np ) et n 6∈ A ⇒ P0 |= ¬ϕ(n1 , . . . , np ).
Remarque. Si ϕ(x1 , . . . , xp ) représente A, alors 1A est représentée par la formule (ϕ(x) ∧ xp+1 =1)
˙ ∨ (¬ϕ(x) ∧ xp+1 =0).
˙
Réciproquement, si ψ(x, xp+1 ) représente 1A , alors ψ(x, 1) représente A.
Théorème 5.3.5 (Théorème de représentabilité).
Toute fonction récursive totale est représentée par une formule Σ1 .
Démonstration.
– Les fonctions de base S, Pin , C00 , +, · ainsi que 1< sont
représentables par des formules sans quanteurs (qui sont Σ1 par définition).
– Si f1 , . . . , fp ∈ Fm sont représentées par ϕ1 , . . . , ϕp et si g ∈ Fp est représentée par ψ, alors h = g(f1 , . . . , fp ) ∈ Fm est représentée par
∃y1 , . . . , ∃yp
p
^
ϕi (x, yi ) ∧ ψ(y1 , . . . , yp , xm+1 ).
i=1
En particulier, l’ensemble des fonctions qui sont représentables par une
formule Σ1 est clos par composition.
– Soit f ∈ Fp+1 et g ∈ Fp définie à partir de f par schéma µ total, c.-à-d.
g(x) = µy (f (x, y) = 0). Soit A = {(x, y) | f (x, y) = 0} ⊆ Np+1 . On suppose que f est représentée par une formule Σ1 . Alors 1A = 1= (f (x, y), 0)
est également représentée par une formule Σ1 (c’est une composition de
fonction qui le sont), disons par ϕ(x, y, z). La fonction g est donc représentée par la formule Σ1 ψ(x, y) = ϕ(x, y, 1) ∧ (∀y 0 < y) ϕ(x, y 0 , 0).
En particulier, l’ensemble des fonctions qui sont représentables par une
formule Σ1 est clos par schéma µ total.
On conclut par le théorème 4.7.1.
Corollaire 5.3.6. Un ensemble A ⊆ Nn est récursivement énumérable si et
seulement s’il existe une fomule Σ1 qui définit A (dans la structure N ).
73
Démonstration. Tout ensemble définissable sans quanteur est (primitif) récursif,
donc un ensemble défini par une formule Σ1 est récursivement énumérable par
clôture des ensembles récursivement énumérables par projection.
Réciproquement, comme un ensemble récursivement énumérable est la projection d’un ensemble récursif, il suffit de montrer que tout ensemble récursif
est définit par une formule Σ1 , ce qui est une conséquence du théorème de représentabilité.
Proposition 5.3.7. Soit M un modèle de P. Alors, les propriétés suivantes
sont satisfaites dans M :
1. + et · sont commutatives et associatives.
2. · est distributive par rapport à +.
3. < définit un ordre total, compatible avec + (si a < b, alors a + c < b + c)
et avec la multiplication avec un élément non nul (si a < b et c 6= 0, alors
a · c < b · c) ; 0 est l’élément minimal, et pour tout a, Sa est le successeur
immédiat de a.
4. Tout élément est régulier pour l’addition (a + c = b + c ⇒ a = b), et tout
élément non nul est régulier pour la multiplication (si a · c = b · c et c 6= 0,
alors a = b).
Démonstration. Toutes ces propriétés s’obtiennent facilement par les axiomes
d’induction de P. À titre d’exemple, nous donnons les arguments pour l’associativité et la commutativité de l’addition. Le reste est similaire.
Associativité de l’addition. Soit ϕ(x, y, z) := x + (y + z)=(x
˙ + y) + z.
Dans M, on a a + (b + 0) = a + b = (a + b) + 0 par (A4), ce qui montre que
M |= ∀x, y ϕ(x, y, 0).
Si a, b, c ∈ M avec (a + b) + c = a + (b + c), alors on a a + (b + Sc) =
a + S(b + c) = S(a + (b + c)) = S((a + b) + c) = (a + b) + Sc par (A5), d’où
M |= ∀x, y (ϕ(x, y, z) → ϕ(x, y, Sz)).
L’axiome d’induction associé à ϕ donne M |= ∀x, y, z ϕ(x, y, z).
Commutativité de l’addition. On montre les propriétés suivantes :
(i) M |= ∀x 0 + x=x
˙ (par induction, en utilisant (A4) et (A5))
(ii) M |= ∀x 1 + x=Sx
˙
(par induction, en utilisant (i) et (A5))
(iii) M |= ∀x, y x + y =y
˙ + x (par induction, en utilisant (i), (ii) et l’associativité de +)
Remarque. Cela montre que P suffit pour faire la théorie des nombres élémentaire. P est une théorie incomplète (voir plus loin), mais il n’est pas facile de
trouver un énoncé mathématique indépendant de P. Le théorème de Goodstein
(TD no 2, exercice 6) en est un exemple.
Lemme 5.3.8 (Overspill). Soit M |= P non standard et ϕ = ϕ(x) une Lar formule. Si M |= ϕ(n) pour tout n ∈ N, alors il existe c ∈ M non standard tel
que M |= ϕ[c].
74
Démonstration. Sinon, on aurait M |= ϕ(0) et M |= ∀x(ϕ(x) → ϕ(Sx)), car ϕ
n’est satisfaite que par les éléments standards. Mais alors M |= ∀x ϕ(x), ce qui
est absurde car M contient des éléments non standards par hypothèse.
5.4
Les théorèmes de Tarski et de Church
On considère une fonction primitive récursive subst ∈ F2 telle que si ϕ(v) est
une Lar -formule à une variable libre v et n ∈ N, alors subst(#ϕ, n) = #ϕ(n).
Par le théorème de représentabilité, il existe une formule G(x, y, z) représentant subst et qui est Σ1 . Pour ϕ = ϕ(v), on considère la formule
H(x) = ∃z (G(x, x, z) ∧ ϕ(z)) .
On pose n := #(¬H), puis ∆ϕ := ¬H(n).
Proposition 5.4.1 (L’argument diagonal). Soit ϕ = ϕ(v) une formule à une
variable libre. Alors
P0 ` ϕ(#∆ϕ ) ↔ ¬∆ϕ .
Démonstration. Comme subst(n, n) = subst(#(¬H), n) = #∆ϕ , pour tout modèle M |= P0 , on a
(5.1)
M |= ∀z G(n, n, z) ↔ z =#∆
˙
ϕ .
Si M |= ϕ(#∆ϕ ), alors M |= ∃z (G(n, n, z) ∧ ϕ(z)) par (5.1), et on a donc
|
{z
}
H(n)
M |= ¬∆ϕ par définition de ∆ϕ .
Réciproquement, si M |= ¬∆ϕ , alors M |= ∃z (G(n, n, z) ∧ ϕ(z)), et on a
donc M |= ϕ(#∆ϕ ) par (5.1).
Théorème 5.4.2 (Théorème de Tarski sur la non définissabilité de la vérité).
Soit M |= P0 . Alors # Th(M) n’est pas définissable dans M, c’est-à-dire il
n’existe pas de formule SM (x) à une variable libre telle que pour tout Lar -énoncé
ϕ on ait M |= ϕ si et seulement si M |= SM (#ϕ).
Démonstration. Si S = SM est une telle formule, par l’argument diagonal on
obtient P0 ` S(#∆S ) ↔ ¬∆S . En particulier, on a M |= S(#∆S ) ↔ ¬∆S , ce
qui est absurde, vu que S définit la satisfaction dans M.
Corollaire 5.4.3. Il n’existe pas de Lar -formule SN (x) telle que pour tout Lar énoncé ϕ on ait N |= ϕ si et seulement si N |= SN (#ϕ).
En particulier, Th(N ) n’est pas décidable.
Théorème 5.4.4 (Théorème de Church). Soit T ⊇ P0 une Lar -théorie consistante. Alors T n’est pas décidable.
75
Démonstration. Sinon, #Thm(T ) serait un ensemble récursif, et il existerait,
par le théorème de représentabilité, une formule τ (x) représentant #Thm(T ).
Si T ` ∆τ , c’est-à-dire si #∆τ ∈ #Thm(T ), on a P0 ` τ (#∆τ ) et donc
P0 ` ¬∆τ par l’argument diagonal. Absurde.
Si T `
6 ∆τ , c’est-à-dire si #∆τ 6∈ #Thm(T ), on a P0 ` ¬τ (#∆τ ) et donc
P0 ` ∆τ par l’argument diagonal. Également absurde.
Corollaire 5.4.5 (Indécidabilité du calcul des prédicats — Church). Il existe un
langage fini L tel que U = {#ϕ | ϕ est une L-formule universellement valide}
n’est pas récursif.
Démonstration. Soit L = Lar . Supposons U récursif. Alors, comme ϕ est universellement valide si et seulement si une clôture universelle de ϕ l’est, la Lar -théorie
vide est décidable. Comme P0 est une théorie finie, P0 serait donc également
décidable par l’exercice 5.2.6, contredisant le théorème de Church.
[Voici l’argument pour le transfer de la décidabilité de la théorie vide à P0 :
8
^
On a ϕ ∈ Thm(P0 ) ssi P0 ` ϕ ssi `
Ai → ϕ ssi ψϕ ∈ Thm(∅).]
i=1
|
{z
ψϕ
}
Remarque. Il suffit de considérer un langage L qui contient un seul symbole
de relation binaire, c’est-à-dire Lens = {∈}, pour obtenir le résultat précédent
de Church.
Par contre, les langages plus simples ne suffisent pas, comme le montre
l’exercice suivant.
Exercice 5.4.6. Soit L = {P, c}, où P est un prédicat unaire et c une constante.
1. Déterminer les L-structures finies et dénombrables à isomorphisme près.
2. En déduire : deux L-structures M et N sont élémentairement équivalentes
si et seulement si
– M |= P c ssi N |= P c, et
– M |= ∃≥k x Qx ssi N |= ∃≥k x Qx pour tout k ∈ N et tout Q ∈ {P, ¬P }.
3. Montrer qu’un L-énoncé ϕ est universellement valide ssi M |= ϕ pour
toute L-structure finie. En déduire que la L-théorie vide est décidable.
5.5
Les théorèmes d’incomplétude de Gödel
Théorème 5.5.1 (Premier théorème d’incomplétude de Gödel). Soit T une
Lar -théorie consistante, récursive et contenant P0 . Alors T n’est pas complète.
Démonstration. Si T était complète, elle serait décidable par 5.2.4, contredisant
le théorème de Church.
76
Dans la suite, nous gardons les hypothèses du théorème 5.5.1, c’est-à-dire
T ⊇ P0 consistante et récursive. Il existe donc un énoncé ψ tel que ni T ` ψ ni
T ` ¬ψ. Nous allons présenter une amélioration, due à Rosser, qui en fournit
un exemple.
Rappel : Dem(T ) = {(#ϕ, ##d) | d est une preuve formelle de ϕ dans T }
est récursif. Par le théorème de représentabilité il existe une formule Σ1 PT (x, y)
qui représente Dem(T ) ⊆ N2 .
Soit Neg : N → N une fonction primitive récursive telle que Neg(#ϕ) =
#(¬ϕ) et Neg(x) = 0 si x n’est pas le code d’une formule. On choisit une fomule
Σ1 ν(x, y) représentant Neg, et on modifie PT en
PTR (x, y) := PT (x, y) ∧ ¬∃z ≤ y∃u(PT (u, z) ∧ ν(x, u)).
R
R
Considérons hR
.
T (x) := ∃yPT (x, y), puis ∆T := ∆hR
T
Théorème 5.5.2 (Variante de Rosser du permier théorème d’incomplétude).
R
Soit T ⊇ P0 consistante et récursive. Alors T 6` ∆R
T et T 6` ¬∆T .
Démonstration. On pose ∆ := ∆R
T et m := #∆. Par l’argument diagonal, on a
donc
(5.2)
P0 ` ∃yPTR (m, y) ↔ ¬∆ .
Supposons T ` ∆. Alors il existe une preuve de ∆ dans T , autrement dit
(m, p) ∈ Dem(T ) pour un p ∈ N, d’où P0 ` PT (m, p). Comme T est consistante,
pour tout p0 ∈ N on a P0 ` ¬∃u ν(m, u) ∧ PT (u, p0 ) . Il suffit de noter que
Wp
P0 ` (x ≤ p ↔ i=0 x=i)
˙ pour déduire que P0 ` PTR (m, p). Par (5.2), on a
P0 ` ¬∆, d’où T ` ¬∆ (car T ⊇ P0 ). Contradiction.
Supposons T ` ¬∆. Alors il existe p ∈ N tel que P0 ` PT (#¬∆, p). Comme
T est consistante, pour tout p0 ∈ N on a P0 ` ¬PT (m, p0 ). Il s’en suit que
P0 ` ¬∃yPTR (m, y), puisque N est un segment initial de tout modèle de P0 . Par
(5.2), on a P0 ` ∆, donc T ` ∆. Contradiction.
Soient hT (x) := ∃yPT (x, y) et ∆T := ∆hT .
Lemme 5.5.3. Soit T ⊇ P0 consistante et récursive. Alors T 6` ∆T .
Démonstration. La preuve est similaire à celle de 5.5.2 et laissée en exercice.
Soit a := #(¬0=0)
˙ ∈ N. Pour T une théorie récursive (quelconque), on pose
Coh(T ) := ¬∃yPT (a, y).
Remarque. On a N |= Coh(T ) si et seulement si T est une théorie consistante.
Théorème 5.5.4 (Second théorème d’incomplétude de Gödel — sans preuve).
Soit T une théorie consistante récursive contenant l’arithmétique de Peano P.
Alors T ∪ {Coh(T )} ` ∆T . En particulier, T 6` Coh(T ), c’est-à-dire T ne démontre pas sa propre consistance.
77
Remarque 5.5.5.
1. Il suffit de demander que T contienne P0 plus tous les
axiomes d’induction associés aux formules Σ1 , pour obtenir la conclusion
du second théorème d’incomplétude.
2. Il s’en suit qu’il n’est pas exclus que T ` ¬Coh(T ). Ce sera le cas par
exemple pour la théorie T 0 = T ∪ {¬Coh(T )} qui est consistante par le
théorème et qui ‘démontre’ sa propre inconsistance. Or, ce n’est pas choquant puisque N 6|= T 0 . En effet, la ‘preuve’ de ¬0=0
˙ en question provient
d’un entier non standard.)
Ce n’est pas le cas de P, puisque N |= P ∪ {Coh(P)}, plus généralement
pour toute théorie récursive T dont N est un modèle.
Idée de la preuve du second théorème d’incomplétude.
La preuve complète est très longue et compliquée. Nous nous contentons de
donner les étapes principales.
– On représente Dem(T ) et Dem(P0 ) par des formules PT (x, y) et PP0 de
manière naturelle, en demandant
– `
PP0 → PT ;
– ` ∃yPT (#ϕ, y) ∧ ∃yPT (#(ϕ → ψ), y) → ∃yPT (#ψ, y), de même pour
∃-intro au lieu du modus ponens et pour PP0 au lieu de PT .
– Nous avons vu dans la proposition 5.3.4 que pour tout énoncé Σ1 ϕ, on a
N |= ϕ → ∃yPP0 (#ϕ, y). On considère alors la théorie
P1 := P0 ∪ {ϕ → ∃yPP0 (#ϕ, y) | ϕ énoncé Σ1 }.
La théorie P1 est récursive, avec N |= P1 .
– On montre (cette étape n’est pas très dificile) : Soit T consistante et récursive avec T ` P1 , c’est-à-dire T ` ψ pour tout ψ ∈ P1 . Alors on a
T ∪ {Coh(T )} ` ∆T , et donc en particulier, T 6` Coh(T ).
– On montre : P ` P1 .
C’est dans la preuve de cet énoncé où se trouve toute la difficulté. À la base,
l’idée est très simple. On montre P ` P1 ‘comme on a montré N |= P1 ’,
en vérifiant à chaque étape que l’on peut tout faire en ne raisonnant que
dans l’arithmétique de Peano. Entre autre, il faut montrer une sorte de
théorème de complétude dans Peano. Cela demande un travail considérable
de codage.
78
Chapitre 6
Théorie axiomatique des
ensembles
Dans ce dernier chapitre du cours, nous formalisons la théorie des ensembles
à l’aide des outils que nous avons développés, c’est-à-dire au premier ordre.
Nous travaillons dans le langage L = Lens = {∈}, et nous considérons des Lens structures U = hU ; ∈i (U comme univers d’ensembles). Nous appelons ensemble
tout élément de U . L’univers U , quant à lui, est un ensemble au sens naı̈f.
L’appartenance entre deux ensembles est donnée par le symbole de relation ∈.
On peut alors former le langage LU (un ensemble au sens naı̈f).
Définition. Une partie naı̈ve D de U est une classe s’il existe une LU -formule
ϕ = ϕ(x) telle que D = ϕ[U].
Notons que tout ensemble a définit une classe Ca , donnée par ϕ(x) := x ∈ a.
Par l’axiome d’extensionalité, deux ensembles a et b sont égaux si Ca = Cb .
Par abus de notation, nous utilisons parfois ∈ pour désigner l’appartenance
(au sens naı̈f) à une classe, par exemple quand nous écrivons c ∈ D au lieu de
U |= ϕ[c], si D est définie par ϕ. Cela ne devrait pas créer de confusion.
6.1
Les axiomes de Zermelo-Fraenkel
Définition.
1. Le système d’axiomes de Zermelo-Fraenkel ZF est donné par
les axiomes suivants : Axiome d’extensionalité, schéma d’axiomes de compréhension, axiome de la paire, axiome de la réunion, axiome des parties,
schéma d’axiomes de remplacement, axiome de fondation, axiome de l’infini.
2. Si on ajoute l’axiome du choix (AC) au système ZF, on on obtient le
système d’axiomes ZFC.
Remarque. L’axiome de fondation n’est pas toujours inclus dans ZF.
79
Dans ce qui suit, nous discutons les axiomes en détail.
Axiome d’extensionalité (Ext)
∀x, y (∀z(z ∈ x ↔ z ∈ y) → x=y)
˙
Il exprime que deux ensembles ayant les mêmes éléments sont égaux.
Notation. Nous écrivons x ⊆ y comme abbréviation de ∀z(z ∈ x → z ∈ y).
Ainsi, (Ext) équivaut à ∀x, y ((x ⊆ y ∧ y ⊆ x) → x=y).
˙
On observera que les cinq (schémas d’) axiomes suivants sont des cas particuliers de la compréhension globale.
Schéma d’axiomes de compréhension (Com)
Pour toute Lens -formule ϕ = ϕ(v0 , . . . , vn ), un axiome de la forme
∀v1 , . . . , vn+1 ∃vn+2 ∀v0 (v0 ∈ vn+2 ↔ (v0 ∈ vn+1 ∧ ϕ(v0 , . . . , vn ))) .
Il exprime : si a est un ensemble et D une classe, alors la classe {b ∈ a | b ∈ D}
est un ensemble.
Voici quelques conséquences de ces axiomes :
– Si a et b sont deux ensembles, on peut former leur intersection a ∩ b =
{c ∈ a | c ∈ b} ainsi que leur différence a \ b = {c ∈ a | c 6∈ b}.
– On obtient l’existence de l’ensemble vide, noté ∅. En effet, soit a un ensemble arbitraire. Alors ∅ = {c ∈ a | ¬c=c}.
˙
L’unicité de ∅ suit de (Ext).
T
– Si a 6= ∅ est un ensemble, on obtient
T l’existence de b∈a b. Il suffit de choisir
b0 ∈ a, puis de remarquer que b∈a b = {c ∈ b0 | ∀x(x ∈ a → c ∈ x)}.
Remarque 6.1.1. L’antinomie de Russel devient un théorème dans ZFC. En
effet, on a (Com) ` ¬∃x∀z z ∈ x. Sinon, {z | ¬z ∈ z} serait également un
ensemble, ce qui est absurde.
L’axiome de la paire (Paire) ∀y1 , y2 ∃x∀z (z ∈ x ↔ (z =y
˙ 1 ∨ z =y
˙ 2 ))
Il exprime que si a et b sont deux ensembles, alors {a, b} est un ensemble.
Définition. La paire ordonnée (appelée aussi paire de Kuratowski ) de deux
ensembles a et b est l’ensemble (a, b) := {{a}, {a, b}}.
Lemme 6.1.2. Avec les axiomes que nous avons énoncés jusqu’à maintenant,
on a :
1. Il y a une formule qui définit la classe des paires ordonnées. De plus, il
existe une Lens -formule ϕ(x, y) telle que l’on ait U |= ϕ[a, b] ssi a est une
paire de Kuratowski de la forme a = (b, c). Même chose pour la deuxième
composante.
2. On a (b, c) = (b0 , c0 ) si et seulement si b = b0 et c = c0 .
Démonstration. Exercice.
80
S
L’axiome de la réunion ( ) ∀y∃x∀z (z ∈ x ↔
S ∃w(z ∈ w ∧ w ∈ y))
Il exprime que pour tout ensemble a, la classe a := {z | ∃w(z ∈ w ∧ w ∈ a}
est un ensemble.
S
Notons qu’en combinant (Paire) et ( ), on peut montrer que la réunion a ∪ b
de deux ensembles a et b est un ensemble.
L’axiome des parties (Parties) ∀y∃x∀z(z ∈ x ↔ z ⊆ y)
Il postule l’existence de l’ensemble des parties de a : P(a) = {b | b ⊆ a}.
Lemme 6.1.3. Les axiomes énoncés jusqu’à maintenant entraı̂nent l’existence
du produit cartésien de deux ensembles a et b : a × b = {(x, y) | x ∈ a ∧ y ∈ b}
est un ensemble.
Démonstration. Si x ∈ a et y ∈ b, on a {x}, {x, y} ∈ P(a ∪ b), d’où (x, y) ∈
P(P(a ∪ b)). On conclut par (Com), en utilisant le lemme 6.1.2.
On peut également définir des triplets (x, y, z) := ((x, y), z), puis inductivement des n-uplets, via (x1 , . . . , xn+1 ) := ((x1 , . . . , xn ), xn+1 ). On obtient alors
a × b × c, et plus généralement a1 × · · · × an .
Définition.
– Une relation (binaire) R est un ensemble de paires ordonnées.
On pose dom(R) := {x | ∃y(x, y) ∈ R} et im(R) := {y | ∃x(x, y) ∈ R}.
– Une fonction f est une relation qui est unique à droite, c’est-à-dire on a
∀x, y1 , y2 ((x, y1 ) ∈ f ∧ (x, y2 ) ∈ f → y1 =y
˙ 2 ).
Remarque.
– On note queSdom(R)
et im(R) sont bien des ensembles, car
S
si (x, y) ∈ R, alors x, y ∈
R.
– Par définition, nous identifions une fonction avec son graphe.
On écrira f (x) = y au lieu de (x, y) ∈ f . Parfois, pour x 6∈ dom(f ), nous
posons f (x) := ∅. Si a = dom(f ) et im(f ) ⊆ b, on écrit f : a → b.
Lemme 6.1.4. Soit a et b deux ensembles. Alors, avec les axiomes que nous
avons énoncés, on obtient :
1. {R | R est une relation avec dom(R) ⊆ a et im(f ) ⊆ b} est un ensemble.
2. {f | f : a → b} est un ensemble.
3. Les fonctions forment une classe. On note Fn(x) une formule qui définit
cette classe.
Démonstration. Exercice.
Remarque. Si I 6= ∅ est un ensemble et (ai )i∈I est une famille d’ensembles,
Q
c’est-à-dire
S donnée par une fonction f avec dom(f ) = I, alors la classe i∈I ai =
{g : I → i∈I ai | ∀z(z ∈ I → g(z) ∈ z)} est un ensemble.
Définition. On dit que F ⊆ U 2 est une classe fonctionnelle s’il existe une
LU -formule ϕ(x, y) qui définit F telle que
U |= ∀x, y1 , y2 (ϕ(x, y1 ) ∧ ϕ(x, y2 ) → y1 =y
˙ 2) .
La classe Dom(F ) définie par ∃yϕ est appelée le domaine de F .
81
Notons qu’à une classe fonctionnelle correspond une fonction naı̈ve (dont la
classe fonctionnelle est le graphe et avec domaine la classe dom(F )).
Schéma d’axiomes de remplacement (Rem)
Pour toute Lens -formule ϕ = ϕ(x, y, v1 , . . . , vn ), un axiome de la forme
˙ 2)
∀v0 , v1 , . . . , vn [∀x, y1 , y2 (ϕ(x, y1 , v) ∧ ϕ(x, y2 , v) → y1 =y
→ ∃vn+1 ∀y(y ∈ vn+1 ↔ ∃x(x ∈ v0 ∧ ϕ(x, y, v))].
Il exprime que si F ⊆ U 2 est une classe fonctionnelle et a un ensemble,
alors F [a] := {z | ∃u(u ∈ a ∧ (u, z) ∈ F )} est un ensemble. (Il est obtenu en
‘remplaçant’ tout élément de a par son image sous F .)
Ces axiomes ne sont pas indépendants. En effet :
Lemme 6.1.5.
1. Le schéma (Rem) implique le schéma (Com).
2. (Paire) est une conséquence des autres axiomes.
Démonstration. Soit ϕ(x) donnée. On pose F (x, y) := (x=y
˙ ∧ ϕ(x)). Alors {x ∈
a | ϕ(x)} = F [a], d’où (1).
Quant à (2), on se donne deux ensembles a et b. On remarque que ∅ ∈ P(∅) =
{∅}, en particulier ∅ =
6 P(∅). On pose F (x, y) := ((x=∅∧y
˙
=a)∨(x
˙
=P(∅)∧y
˙
=b)).
˙
C’est bien une relation fonctionnelle. Pour c = P(P(∅)) = {∅, P(∅)}, on a alors
F [c] = {a, b}.
Remarque. Nous pouvons travailler dans une expansion par définition et utiliser par exemple des symboles de relation x ⊆ y S
(binaire) et f : x → y (ternaire),
des symboles de fonction x ∪ y, x ∩ y, x \ y, y, P(y), {x, y}, (x, y), x × y,
dom(R), im(R), la constante ∅ etc. dans les schémas d’axiomes (Com) et (Rem).
Par la proposition 3.3.2, cela ne change rien.
Rappelons que x est un ordinal si x est un ensemble transitif tel que la
relation d’appartenance ∈x×x définit un bon ordre sur x, c’est-à-dire un ordre
total bien-fondé. (Cette dernière propriété se dit ainsi : ∀y(y ∈ P(x) ∧ ¬y =∅
˙ →
∃z(z ∈ y ∧ z ∩ y =∅)).)
˙
On note Ord(x) une formule qui définit la classe des
ordinaux. De même, on peut définir la classe des cardinaux : Card(x) := Ord(x)∧
∀y(y ∈ x → ¬∃f : y → x surjective)
Notation. Dans la suite, nous utilisons α, β, γ etc. uniquement pour des ordinaux, et nous écrivons par exemple ∀γϕ au lieu de ∀γ(Ord(γ) → ϕ).
L’axiome de fondation (AF) ∀x(¬x=∅
˙ → ∃z(z ∈ x ∧ z ∩ x=∅))
˙
Notons que (AF), avec l’axiome de la paire, entraı̂ne que pour tout ensemble
x on a x 6∈ x. En effet, sinon {x} contredirait (AF).
L’axiome de l’infini (AI) ∃x(∅ ∈ x ∧ ∀z(z ∈ x → z ∪ {z} ∈ x))
Il postule l’existence d’un ensemble contenant ∅ et clos par ‘successeur’. De
manière équivalente, on pourrait postuler l’existence d’un ordinal infini (ou de
ω).
On note ω le plus petit ordinal limite, et Lim(x) une formule qui définit la
classe des ordinaux limites.
82
Remarque 6.1.6.
1. Sous ZF, les ordinaux vérifient les mêmes propriétés
que celles vues au premier chapitre du cours. De même les cardinaux, sous
ZFC.
2. La classe des ordinaux n’est pas un ensemble (pareil pour les cardinaux).
[Si a = Ord, alors a serait transitif et bien-ordonné par ∈, donc un ordinal
et alors a ∈ a. Or a 6∈ a pour tout ordinal.]
Lemme 6.1.7 (Induction transfinie). Soit U |= ZF et soit ϕ(x) une LU -formule.
Alors U satisfait la propriété d’induction suivante :
ϕ(∅)∧∀γ(ϕ(γ) → ϕ(γ∪{γ})∧∀γ([Lim(γ)∧∀δ(δ ∈ γ → ϕ(δ))] → ϕ(γ)) → ∀γϕ(γ).
Démonstration. Si U |= ϕ(∅) ∧ ∀γ(ϕ(γ) → ϕ(γ ∪ {γ}) ∧ ∀γ([Lim(γ) ∧ ∀δ(δ ∈
γ → ϕ(δ))] → ϕ(γ)) et U |= ¬ϕ[α] pour un ordinal α, il suffit de choisir un tel
α minimal pour arriver à une contradiction.
On peut également considérer des classes fonctionnelles F qui correspondent
à des fonctions naı̈ves entre une classe D ⊆ U n et U .
Théorème 6.1.8 (Définition par récurrence transfinie). Soit G une classe fonctionnelle de domaine U n+1 . Alors il existe une unique classe fonctionnelle F de
domaine U n × Ord telle que pour tout uplet d’ensembles w et tout ordinal α on
ait F (w, α) = G(w, F {w}×α ).
Démonstration. L’idée est d’approximer F par des fonctions. On montre d’abord
que pour tout w et tout ordinal β il existe une unique fonction fw,β de domaine
β telle que
fw,β (α) = G(w, {w} × fw,β α ) pour tout α < β.
L’unicité est claire par induction (transfinie).
Quant à l’existence, on montrera par induction sur β :
∀w∃fw,β fonction de domaine β : ∀α (α < β → fw,β (α)=G(w,
˙
{w} × fw,β α ))
|
{z
}
(∗)w,β
Si β = 0, on pose fw,β = ∅.
Soit β = β 0 + 1 et fw,β 0 une fonction satisfaisant à (∗)w,β 0 .
On pose fw,β = fw,β 0 ∪ {(β 0 , G(w, {w} × fw,β 0 )}.
Soit β un ordinal limite. On considère l’ensemble suivant :
Xw,β := {f | ∃β 0 < β : f est une fonction satisfaisant (∗)w,β 0 t.q. dom(f ) = β 0 }.
S
Par (Rem) et unicité, Xw,β est un ensemble. Également par unicité, f 0 ∈Xw,β f 0
est donc une fonction qui convient.
On pose (w, β, y) ∈ F :⇔ pour toute fonction f de domaine β +1 satisfaisant
à (∗)w,β+1 on a f (β) = y.
Exemples 6.1.9 (Applications de la définition par récurrence transfinie).
83
1. Les fonctions de l’arithmétique ordinale (addition, multiplication et exponentiation ordinale) peuvent se définir par récurrence (voir la remarque
1.5.7).
2. La hiérarchie des ℵ est donnée par une classe fonctionnelle ℵ : Ord →
Card. En effet, il suffit d’appliquer la récurrence transfinie à la classe
fonctionnelle G : U → U définie comme suit :
– G(0) = ω ;
– si f : α → β pour deux ordinaux α, β, alors
(
le plus petit cardinal > f (α0 ), si α = α0 + 1;
G(f ) = S
im(f ), si dom(f ) est un ordinal limite.
– si x n’est pas une fonction entre deux ordinaux, alors G(x) = ∅.
3. La hiérarchie de von Neumann : par récurrence sur α ∈ Ord, on définit
une classe fonctionnelle α 7→ Vα via
– V0 = ∅ ;
– Vα+1 S
= P(Vα ) ;
– Vλ = α<λ Vα pour λ limite.
Proposition 6.1.10 (ZF − (AF)). L’ordinal ω muni des opérations ordinales
(addition, multiplication et successeur), avec 0 = ∅ et < donné par ∈ est un
modèle de P.
Démonstration. Exercice.
6.2
Axiome du choix
L’axiome du choix (AC)
∀f [(Fn(f ) ∧ ∅ 6∈ im(f ))
→ ∃g (Fn(g) ∧ dom(g)=dom(f
˙
) ∧ ∀x(x ∈ dom(g) → g(x) ∈ f (x)))]
Il exprime que le produit d’une famille d’ensembles non vides est non vide.
Définition. Soit a un ensemble. On appelle fonction de choix sur a une fonction
h : P(a)0 := P(a) \ {∅} → a telle que h(A) ∈ A pour tout A ∈ P(a)0 .
Proposition 6.2.1. (AC) est équivalent à l’existence d’une fonction de choix
pour tout ensemble a.
Démonstration. Supposons (AC) et soit a un ensemble. Par l’axiome du choix,
Q
A∈P(a)0 A 6= ∅. Tout élément de ce produit est une fonction de choix sur a.
Réciproquement,
S soit (ai )i∈I une 0famille d’ensembles avec ai 6= ∅ pour tout
i ∈ I. Soit
a
=
i∈I ai et h : P(a) → a une fonction de choix sur a. Alors
Q
h ◦ f ∈ i∈I ai , où f : I → P(a)0 , f (i) := ai .
Théorème 6.2.2. Dans ZF, son équivalents :
84
1. (AC) ;
2. le lemme de Zorn ;
3. le théorème de Zermelo (Wohlordnungssatz).
Démonstration. (1)⇒(2) : Par l’absurde. Soit donc hX, <i un ordre partiel inductif sans élément maximal. On considère l’ensemble
T = {T ∈ P(X) | T est totalement ordonné par <}.
Comme il n’existe pas d’élément maximal dans X, pour tout T ∈ T , l’ensemble
B(T ) := {x ∈ X | x > t ∀t ∈ T } est non vide. Par (AC), il existe une fonction
b : T → X telle que b(T ) ∈ B(T ) pour tout T ∈ T .
Soit G la classe fonctionnelle suivante :
– si g est une fonction avec dom(g) ∈ Ord et im(g) ∈ T , alors G(g) =
b(im(g)) ;
– G(g) = ∅ sinon.
Par le théorème 6.1.8 il existe une classe fonctionnelle F de domanie la
classe des ordinaux telle que F (α) = G(F α ) pour tout ordinal α. On vérifie
par induction que F (α) ∈ X pour tout α et
α < β ⇒ F (α) < F (β).
(6.1)
Par compréhension, OX := {x ∈ X | il existe un ordinal α tel que (α, x) ∈ F }
est un ensemble.
En tant que fonction naı̈ve, F est injective par (6.1). La classe F −1 définie par
(x, α) ∈ F −1 :⇔ (α, x) ∈ F est donc une classe fonctionnelle. On a F −1 [OX ] =
Ord, et Ord est un ensemble par remplacement. Ceci contredit la remarque
6.1.6(2).
(2)⇒(3) : Soit a un ensemble. Il faut montrer que a admet un bon ordre. On
considère X := {(b, R) | b ∈ P(a) et R est un bon ordre sur b}. Il est facile à
voir que X est un ensemble (exercice).
Sur X, on définit un ordre partiel comme suit :
(b, R) ≤ (b0 , R0 ) :⇔ b est un segment initial de (b0 , R0 ) et R0 b = R}.
Cet ordre est inductif. S
En effet,Ssi (bi , Ri )i∈I est une partie totalement ordonnée
de X, alors (b, R) := ( i∈I bi , i∈I Ri ) est un majorant de cette partie. Par le
lemme de Zorn, il existe un élément (b̃, R̃) ∈ X qui est maximal pour ≤. Si
b̃ 6= a, il existe y ∈ a \ b̃. On pose b0 = b̃ ∪ {y} et R0 := R̃ ∪ {(x, y) | x ∈ b̃}.
Il est alors clair que R0 est un bon ordre sur b0 qui prolonge celui sur b̃, ce qui
contredit la maximalité de (b̃, R̃).
(3)⇒(1) : Soit a un ensemble. Par hypothèse, a peut être bien-ordonné, disons
par <. La fonction f : P(a)0 → a qui à une partie non vide de a associe son
plus petit élément est une fonction de choix sur a. On conclut par la proposition
6.2.1.
85
Remarque 6.2.3 (Paradoxe de Skolem). Si ZFC est consistante, elle a un
modèle (nécesairement infini, vu les axiomes). Comme Lens est dénombrable,
ZFC a donc un modèle dénombrable M par le théorème de Löwenheim-Skolem
descendant. Mais il existe des ensembles non-dénombrables dans M, par exemple
ℵ1 ou R.
Explication : La notion de ‘dénombrabilité’ dépend du modèle de ZFC dans lequel
on travaille. Elle est donc relative. Être dénombrable au sens de M et l’être au
sens du modèle de la théorie des ensembles (naı̈f ) de fond n’est pas la même
chose. Qui plus est, l’ensemble de base M de M est un un ensemble du point de
vue naı̈f, et une classe propre du point de vue de M.
Plus généralement, la notion de cardinalité dépend du modèle. Ainsi, l’ensemble des entiers N (au sens de M) et l’ensemble des réels R (au sens de M)
sont tous les deux dénombrables d’un point de vue du modèle de fond. Or, la
bijection entre les deux ensembles qui existe comme ensemble naı̈f n’est même
pas représenté par une classe dans M. En effet, sinon, par remplacement, elle
serait donnée par un ensemble au sens de M, c’est-à-dire par un élément de M .
6.3
La hiérarchie de von Neumann et l’axiome
de fondation
On note ZF− := ZF − (AF) et ZFC− := ZFC − (AF). Dans cette partie,
nous supposons que U |= ZF− .
Définition. S
Soit a un ensemble. Par récurrence
sur n ∈ ω, on définit a0 := a,
S
an+1 := an ∪ an . Puis, on pose ct(a) := n∈ω an , appelée la clôture transitive
de a.
Lemme 6.3.1 (ZF− ). L’ensemble ct(a) est le plus petit ensemble transitif contenant a comme partie. Plus précisément, on a les propriétés suivantes :
1. a ⊆ ct(a)
2. ct(a) est un ensemble transitif.
3. Si a ⊆ t avec t un ensemble transitif, alors ct(a) ⊆ t. En particulier,
a ⊆ b ⇒ ct(a) ⊆ ct(b).
4. Si a est transitif, alors ct(a) = a.
5. Si b ∈ a, alors ct(b) ⊆ ct(a).
S
6. ct(a) = a ∪ b∈a ct(b).
Démonstration. (1) et (2) sont clairs. Quant à (3), on montre par induction que
an ⊆ t pour tout n ∈ ω. (4) est une conséquence de (1-3)
Preuve de (5) : On a b ∈ a ⇒ b ∈ ct(a) ⇒ b ⊆ ct(a) ⇒ ct(b) ⊆ ct(a). (La
première implication suit de (1), la seconde de (2), et la dernière de (3).)
S
Preuve de (6) : On a ct(a) ⊇ a ∪ b∈aSct(b) par (1) et (5). Pour l’autre inclusion,
par (3), il suffit de montrer que a ∪ b∈a ct(b) est transitif, ce qui est clair.
86
S Rappelons la hiérarchie de von Neumann : V0 := ∅, Vα+1 := P(Vα ), Vλ :=
α<λ Vα (pour λ limite).
OnSdéfinit la classe V par la formule ∃α x ∈ Vα . Informellement, on a donc
“V = α∈Ord Vα ”.
Définition. Soit a un ensemble. On pose
(
le plus petit ordinal γ tel que a ∈ Vγ+1 , si un tel γ existe;
Rg(a) :=
∞, sinon.
On l’appelle le rang de a.
Lemme 6.3.2.
1. Vα est un ensemble transitif pour tout ordinal α.
2. β ≤ α ⇒ Vβ ⊆ Vα
3. Vα = {x ∈ V | Rg(x) < α}
4. Si x ∈ V et y ∈ x, alors y ∈ V et Rg(y) < Rg(x).
5. Si x ∈ V , alors Rg(x) = sup{Rg(y) + 1 | y ∈ x}.
6. Si x ∈ V est transitif, alors {Rg(y) | y ∈ x} est un ordinal α.
7. On a Rg(α) = α pour tout α. En particulier, α ∈ V et Vα ∩ Ord = α.
8. Soit x un ensemble. Alors x ∈ V si et seulement si x ⊆ V .
9. On suppose (AC). Si x ∈ V est transitif, on a x ∈ Vcard(x)+ .
Démonstration. (1) & (2) Par induction transfinie sur α, on montre que Vα
est transtif et que Vβ ⊆ Vα pour tout β ≤ α. Les cas α = 0 et α limite sont
clairs. Soit donc α = γ + 1. Comme Vγ est transitif par hypothèse d’induction,
P(Vγ ) = Vα est transitif aussi. Si β < α, alors β ≤ γ et inductiviement Vβ ⊆ Vγ ,
d’où Vβ ∈ Vα et enfin Vβ ⊆ Vα par transitivité.
(3) Si x ∈ V , on a Rg(x) < α ssi ∃β < α : x ∈ Vβ+1 ssi x ∈ Vα .
(4) Soit α = Rg(x). Alors x ∈ Vα+1 = P(Vα ). Pour y ∈ x, on obtient y ∈ Vα ,
d’où y ∈ V et Rg(y) < α (par (3)).
(5) Si x ∈ V , on pose α = sup{Rg(y) + 1 | y ∈ x}. Par (4), on a α ≤ Rg(x).
Comme Rg(y) < α pour tout y ∈ x, (3) entraı̂ne que x ⊆ Vα , d’où x ∈ Vα+1 et
alors α ≥ Rg(x) par définition.
(6) Soit x ∈ V transitif et β < Rg(x) donné. Par (5) il existe y ∈ x avec
β ≤ Rg(y). On choisit un tel y avec Rg(y) minimal. Si z ∈ y, on a z ∈ x (par
transitivité de x) et Rg(z) < Rg(y) par (4), d’où Rg(z) < β par minimalité de
Rg(y). Cela montre que y ⊆ Vβ et alors y ∈ Vβ+1 , d’où Rg(y) ≤ β.
(7) On démontre α ∈ V et Rg(α) = α par induction transfinie, le cas α = 0 étant
clair. Supposons le résultat vrai pour tout β < α. Alors β ∈ Vβ+1 ⊆ Vα pour
tout β < α, d’où α ⊆ Vα et donc α ∈ Vα+1 . Par (5), on a Rg(α) = sup{β + 1 |
β < α} = α.
87
(8) x ∈ V ⇒ x ⊆ V est une conséquence de (4). Réciproquement, si x est
un ensemble tel que x ⊆ V , alors {Rg(y) + 1 | y ∈ x} est un ensemble par
remplacement. Pour α = sup{Rg(y) + 1 | y ∈ x} on a donc x ⊆ Vα et enfin
x ∈ Vα+1 .
(9) est une conséquence de (6).
Théorème 6.3.3. Soit U |= ZF− = ZF − (AF). Sont équivalents :
1. U |= (AF)
2. U |= ∀xV (x)
Démonstration. (2)⇒(1) : Soit x un ensemble non vide. Il faut trouver un élément y de x tel que y ∩ x = ∅. Par hypothèse, tout ensemble est dans V . On
choisit y ∈ x avec Rg(y) minimal. Alors y ∩ x = ∅ par le lemme 6.3.2(4).
(1)⇒(2) : Soit x un ensemble donné. On pose y := ct(x), et on considère l’ensemble z := {t ∈ y | t 6∈ V }. On a x ⊆ y. Par 6.3.2(8), pour montrer que
x ∈ V , il suffit donc de montrer que tout élément de y est dans V , autrement
dit que z = ∅. Si z n’était pas vide, par (AF) il existerait t ∈ z avec t ∩ z = ∅.
Considérons un tel t. Pour u ∈ t, on a u ∈ y (car y est transitif) et donc u ∈ V
(car t ∩ z = ∅). Mais alors t ∈ V par 6.3.2(8). Contradiction.
Remarque. Comme les éléments de V sont construits à partir de l’ensemble
vide (par un procédé transfini), le théorème 6.3.3 exprime que (AF) est équivalent au fait que tout ensemble est construit à partir de l’ensemble vide.
Remarque 6.3.4. Dans ZFC− , sont équivalents :
1. (AF)
2. Il n’existe pas de suite (ai )i∈ω telle que ai+1 ∈ ai pour tout i ∈ ω.
Démonstration. (1)⇒(2) : (Cette implication n’utilise pas (AC).) Si (ai )i∈ω est
une suite d’ensembles, on considère a = {ai | i ∈ ω}. Par (AF), il existe b ∈ a tel
que b ∩ a = ∅. Donc pour un n ∈ ω on a an ∩ a = ∅, et en particulier an+1 6∈ an .
(2)⇒(1) : Soit a 6= ∅ un ensemble qui contredit (AF). Pour tout b ∈ a on a donc
b ∩ a 6= ∅. Par (AC) il existe une fonction f : a → a telle que f (b) ∈ b pour tout
b ∈ a. On choisit a0 ∈ a, puis on définit par récurrence sur ω une suite (ai )i∈ω ,
en posant ai+1 = f (ai ).
S
Lemme 6.3.5.
1. Si x ∈ V , alors x, P(x) et {x} sont dans V . Ce sont
des ensembles de rang plus petit que Rg(x) + ω.
2. Si x, y ∈ V , alors x × y, x ∪ y, x ∩ y, {x, y}, (x, y) et xy sont dans V aussi.
De plus, le rang de ces ensembles est plus petit que max{Rg(x), Rg(y)}+ω.
Démonstration. Exercice.
Exercice 6.3.6. On travaille dans U |= ZF− , et on suppose que les ensembles
N, Z, . . . sont définis de manière usuelle.
88
1. Montrer que les ensembles N, Z, R, C, C 0 ([0, 1], C) sont dans Vω·2 .
2. Calculer les rangs des ensembles mentionnés dans (1).
Remarque. Comme l’axiome d’extensionalité (qui dit en quelque sorte qu’il n’y
a que des ensembles), l’axiome de fondation restreint l’univers des ensembles à
l’endroit où les mathématiques usuelles ont lieu :
– Nous avons déjà vu dans l’exercice précédent que des objets mathématiques
usuels sont dans V .
– Si on travaille dans ZFC− , toute structure (du premier ordre) a une copie
isomorphe dans V . (Supposons σ L fini pour simplifier la présentation.)
En effet, soit M = hM ; Ri , cj , fk i une L-structure donnée et g : M ∼
=
card(M ) = κ une bijection. Il existe une unique L-structure N avec ensemble de base κ telle que g soit un L-isomorphisme entre M et N. On a
κ ∈ Vκ+1 , puis N ∈ Vκ+ω par le lemme 6.3.5.
– En dehors des structures du premier ordre, cela reste vrai. Prenons par
exemple le cas d’un espace topologique (X, T ) avec X un ensemble et T ⊆
P(X) l’ensemble des ouverts de X. Alors si g : X ∼
= κ est une bijection,
on peut raisonner comme avant.
6.4
Quelques résultats d’incomplétude, d’indépendance et de consistance relative
Dans cette dernière partie du chapitre sur la théorie des ensembles, nous
supposons codées les formules ainsi que les preuves dans la théorie ZF− . Pour
cela, on pourra par exemple se servir du codage que nous avons donné dans
l’arithmétique et utiliser que si U |= ZF− et ω ∈ U , alors hω; 0, +, ·, succ, ∈ ω i |=
P (voir 6.1.10). Nous continuons à écrire #ϕ pour le code de la formule ϕ.
Les résultats d’incomplétude de Gödel ont alors leurs analogues en théorie
des ensembles (avec une preuve un peu plus simple). Notons que ZF− , ZF, ZFC−
et ZFC sont des théories récursives.
Théorème 6.4.1 (Premier théorème d’incomplétude de Gödel). Soit T ⊇ ZF−
une Lens -théorie récursive et consistante. Alors T est incomplète.
Remarque. Nous allons voir (sans preuve) que si ZF est consistante, alors
ZF 6` (AC) et ZF 6` ¬(AC). De même, ZFC 6` (CH) et ZFC 6` ¬(CH). Dans
les deux cas, il s’agit de propriétés avec un sens mathématique. Contrairement à
cela, dans le cas de l’arithmétique, il fallait chercher loin pour trouver un énoncé
indépendant de P.
Théorème 6.4.2 (Second théorème d’incomplétude de Gödel). Si T ⊇ ZF−
est une Lens -théorie récursive et consistante, alors T 6` Coh(T ).
On se place dans un modèle U de ZF− . On peut alors coder la satisfaction
dans U. Soit L un langage fini et A = hA; (Z A )Z∈σL i une L-structure avec A ∈ U .
On identifie l’ensemble des affectations à valeur dans A à Aω , un élément de U .
89
Le lemme suivant s’obtient par induction sur la hauteur d’une formule, ce qui
revient à une induction sur ω. Les détails sont laissés en exercice.
Lemme 6.4.3. Il existe une fonction dans U qui à (#ϕ, α) associe 1 si A |=
ϕ[α], et 0 sinon.
En particulier, # Th(A) = {#ϕ | ϕ est un L-énoncé tel que A |= ϕ} est
donné par un élément de U.
Un théorème de consistance relative a la forme suivante : étant données deux
théories T1 et T2 , alors, si T1 est consistante, T2 est consistante aussi. Le principe
de preuve sera de construire un modèle de T2 à partir d’un modèle de T1 .
Commençons par un résultat qui établit une relation entre la théorie des
ensembles et l’arithmétique. On vérifie sans problème que la preuve de la proposition 6.1.10 se fait dans ZF− . Vu que ω est un ensemble, on peut déduire du
lemme 6.4.3 le résultat suivant.
Proposition 6.4.4. On a ZF− ` Coh(P). En particulier, si ZF− est consistante, l’arithmétique de Peano P est consistante aussi.
Soit U |= ZF− . Si X est une classe non vide contenue dans U , on peut
considérer la Lens -structure hX; ∈ X i.
Dans les preuves des résultats de consistance relative en théorie des ensembles
que nous allons donner, nous construisons des classes X telles que si U |= T1 ,
alors hX; ∈ X i |= T2 , d’où le résultat de consistance relative voulu.
Notation. On écrira parfois X |= ϕ au lieu de hX; ∈ X i |= ϕ.
Définition (Relativisation). Soit F (v0 ) une Lens -formule. Pour toute formule
ϕ on définit, par induction sur ht(ϕ), une formule ϕF , la relativisée de ϕ à F :
– ϕF = ϕ si ϕ est atomique ;
– (ϕ ∧ ψ)F = (ϕF ∧ ψ F ) et (¬ϕ)F = ¬(ϕF ) ;
– (∃xϕ)F = ∃x(F (x) ∧ ϕF )
Proposition 6.4.5.
1. Soit U |= ZF− et X ⊆ U une classe. On suppose que
X = F [U] = G[U], c’est-à-dire que F (v0 ) et G(v0 ) définissent X. Alors
pour toute formule ϕ, les formules ϕF et ϕG sont équivalentes dans U. On
pourra donc écrire ϕX au lieu de ϕF , si on ne s’intéresse qu’à la formule
à équivalence près.
2. Pour tout a1 , . . . , an ∈ X et toute formule ϕ = ϕ(x1 , . . . , xn ), on a l’équivalence suivante : U |= ϕX [a] ssi hX; ∈ X i |= ϕ[a]
Démonstration. (1) Preuve par induction sur ht(ϕ) (exercice).
(2) Preuve par induction sur ht(ϕ). Seul le cas ϕ = ∃x0 ψ est non trivial. On a
U |= ϕX [a1 , . . . , an ] ssi U |= ∃x0 (F (x0 ) ∧ ψ X )[a1 , . . . , an ] ssi il existe b ∈ U tel
que U |= F [b] et U |= ψ X [b, a] ssi il existe b ∈ X tel que U |= ψ X [b, a] ssi il existe
b ∈ X tel que X |= ψ[b, a] ssi X |= ϕ[a].
Définition. Soit X une classe définie parVF (v0 ). Une formule ϕ(x1 , . . . , xn ) est
n
X
dite absolue pour X si U |= ∀x1 , . . . , xn
i=1 F (xi ) → (ϕ ↔ ϕ ) .
90
Définition. L’ensemble des Lens -formules ∆0 est le plus petit ensemble de
formules qui contient les formules atomiques et qui est clos par combinaisons
booléennes et quantification bornée (si ϕ est ∆0 , alors ∃x(x ∈ y ∧ ϕ) et ∀x(x ∈
y → ϕ) sont des formules ∆0 aussi).
Lemme 6.4.6.
1. Si X est une classe transitive (c’est-à-dire z ∈ y ∈ X ⇒
z ∈ X), alors toute formule ∆0 est absolue pour X.
2. Les propriétés suivantes s’expriment par des formules
∆0 : x ⊆ y, x = ∅,
S
x = y ∪ {y}, ‘x est transitif ’, z = {x, y}, y = x
Démonstration. (1) Les formules atomiques sont absolues pour toute classe non
vide. De plus, pour toute classe X, l’ensemble des formules absolues est clos par
combinaisons booléennes. Montrons que si X est une classe transitive non vide
et si ϕ(x, y, v1 , . . . , vn ) est absolue pour X, alors la formule ∃x(x ∈ y ∧ ϕ) est
absolue pour X aussi. Pour b, c1 , . . . , cn ∈ X, on a les équivalences suivantes :
X
U |= (∃x(x ∈ y ∧ ϕ)) [b, c]
(par définition)
⇐⇒ U |= ∃x(F (x) ∧ x ∈ y ∧ ϕX ) [b, c]
⇐⇒ il existe a ∈ X ∩ b tel que U |= ϕX [a, b, c]
(hypothèse d’induction) ⇐⇒ il existe a ∈ X ∩ b tel que U |= ϕ[a, b, c]
(par transitivité de X) ⇐⇒ il existe a ∈ b tel que U |= ϕ[a, b, c]
⇐⇒ U |= (∃x(x ∈ y ∧ ϕ)) [b, c]
La preuve de (2) est facile. Par exemple, la transitivité de x est exprimée
par la formule ∆0 suivante : ∀y (y ∈ x → ∀z(z ∈ y → z ∈ x)) .
Lemme 6.4.7. On se place dans U |= ZF− .
1. Si X est une classe transitive non vide, elle satisfait (Ext).
S
S
2. Vα |= ( ) pour tout ordinal α > 0. De même, V |= ( ).
3. Si λ est un ordinal limite, alors Vλ |= (P aire). De même, V |= (P aire).
4. Si ∅ =
6 X est transitive telle que U |= ∀x ∈ X∃y ∈ X(P(x) ∩ X = y), alors
X |= (P arties). En particulier, Vλ |= (P arties) pour tout ordinal limite
λ, et V |= (P arties). De plus, y = P(x) est absolue dans ces deux cas.
Démonstration. (1) L’enoncé ∀y ∈ X∀z ∈ X ([∀x ∈ X(x ∈ y ↔ x ∈ z] → y =z)
˙
exprime (Ext)X . Comme X est transitive, si y, z ∈ X, alors y, z ⊆ X, donc
(Ext)X est satisfait dans U.
(2) Commençons par une remarque générale : Si G(x, y) définit une classe fonctionnelle (dans U) de domaine U telle que G(x, y) soit une formule absolue pour
X, alors, pour montrer X |= ∀x∃!yG(x, y), il suffit de montrer que si a ∈ X,
alors l’unique b ∈SU tel que U |= G(a, b) est également dans X.
Comme y = x est une formule
∆0 par le lemme 6.4.6, il suffit donc de
S
montrer que si x ∈ Vα , alors x ∈ Vα , ce qui est clair. En effet, on a les
implications suivantes :
91
⇒ Rg(x)
= β < αS ⇒ Rg(y) < β pour tout y ∈ x0 ∈ x
S
⇒
x ⊆ Vβ ⇒
x ∈ Vβ+1 ⊆ Vα
Le même argument donne le résultat pour V .
x ∈ Vα
(3) x, y ∈ Vα ⇒ {x, y} ∈ Vα+1 , en particulier x, y ∈ Vλ ⇒ {x, y} ∈ Vλ pour
λ limite. Comme la formule z = {x, y} est ∆0 , par la remarque générale on a
Vλ |= (Paire). De même pour V au lieu de Vλ .
(4) On a U |= ∀x ∈ X ∃y ∈ X(P(x) ∩ X =y)
˙ si et seulement si U |= ∀x ∈ X ∃y ∈
X ∀z ∈ X(z ⊆ x ↔ z ∈ y). Ce dernier énoncé est juste (Parties)X , compte tenu
du fait que z ⊆ x est absolue pour X par transitivité de X.
Soit maintenant x ∈ Vα . On a alors P(x) ⊆ Vα et donc P(x) ∈ Vα+1 .
On obtient donc le résultat pour Vλ et pour V . L’absoluité de y = P(x) est
claire.
Lemme 6.4.8. Les formules Ord(x) et Card(x) sont absolues pour V ainsi que
pour Vλ si λ est un ordinal limite.
Démonstration. Commençons par Ord(x). La transitivité de x ainsi que le fait
que ∈ x définisse un ordre total s’expriment par des formules ∆0 et sont donc
absolues. Quant à la bonne fondation, on utilise l’absoluité de y = P(x) pour
montrer que la formule suivante est absolue aussi :
∀z (z ∈ P(x) ∧ z 6= ∅ → ∃u(u ∈ z ∧ ∀w(w ∈ z → w 6∈ u)))
La formule Ord(x) ∧ ∀y(y ∈ x → ¬∃f ∈ P(x × y) f : x ∼
= y) est équivalente
à Card(x). On montre que les formules f : x ∼
y
(en
les
trois
variables f, x, y)
=
ainsi que z = x × y sont absolues pour V ainsi que pour Vλ si λ est un ordinal
limite (exercice). Cela établit l’absoluité de Card(x) dans les deux cas.
Définition. On se place dans ZF− .
– Un cardinal λ est appelé fortement limite si pour tout µ < λ on a 2µ < λ.
– On dit que λ est (fortement) inaccessible s’il est fortement limite, régulier
et > ℵ0 .
Exemple. On définit, par récurrence sur α ∈ Ord, une hiérarche cardinale
comme suit : i0 := ℵ0 , iα+1 := 2iα , et iλ := supα<λ iα pour λ limite.
Pour tout ordinal α limite, le cardinal iα est alors fortement limite. Par
contre, comme cof(iα ) = cof(α) dans ce cas, iα est en général singulier.
Lemme 6.4.9. Soit U |= ZF− , et soit , X = V ou X = Vω , ou X = Vκ pour κ
inaccessible. Dans le dernier cas, on suppose de plus que U |= (AC).
Alors X satisfait au schéma d’axiomes de remplacement ainsi qu’à l’axiome
de fondation.
Démonstration. On choisit une formule F (x) qui définit X. Soit G(v0 , v1 ) une
formule qui définit une classe fonctionnelle dans hX, ∈ X i. Alors la formule
H(v0 , v1 ) = F (v0 ) ∧ F (v1 ) ∧ GF définit une classe fonctionnelle dans U. Soit
b := H[a] = {H(c) | c ∈ a}, où a est un élément de X.
92
– Si X = V , alors b ∈ V car b ⊆ V et b est un ensemble.
– Si X = Vω , alors, comme a est fini, b est fini et une partie de Vω , d’où
b ⊆ Vn pour un n ∈ ω et enfin b ∈ Vω .
– Si X = Vκ pour κ inaccessible, essentiellement le même argument marche.
On montre par induction sur α que card(Vα ) < κ pour tout α < κ.
(Comme on suppose U |= (AC), on peut se servir de la notion de cardinal.)
Pour α successeur, on utilise que κ est fortement limite ; pour α limite, on
utilise la régularité de κ.
Maintenant, si a ∈ Vκ , on a a ∈ Vα pour un α < κ et alors a ⊆ Vα+1 .
Il s’en suit que card(b) ≤ card(a) < κ. Par ailleurs, on a b ⊆ Vκ . Par
régularité de κ, on obtient sup{Rg(c) | c ∈ b} < κ et enfin b ∈ Vκ .
Cela montre le schéma d’axiomes de remplacement dans les trois cas.
Quant à (AF), on se donne ∅ =
6 a ∈ X. On a a ⊆ X dans les trois cas, car
X est transitive. Pour tout b ∈ a de rang minimal on a a ∩ b = ∅, et un tel b est
dans X.
Lemme 6.4.10. On a V |= (AI), Vκ |= (AI) pour κ inaccessible et Vω |= ¬(AI).
Démonstration. On a ω ∈ V , ω ∈ Vκ et ω 6∈ Vω . Les détails sont laissés en
exercice.
Lemme 6.4.11. Si U |= ZFC− , alors V |= (AC) et Vκ |= (AC), pour κ inaccessible.
Démonstration.
Soit (Xi )i∈I un élément de Vκ . Alors I ∈ Vκ et tout élément
Q
g ∈ i∈I Xi est dans Vκ . Pour V , on conclut par le même argument.
Théorème 6.4.12 (Consistance relative de (AF)).
1. Si U |= ZF− , alors V |= ZF. En particulier, on a Coh(ZF− ) ⇒ Coh(ZF).
2. Si U |= ZFC− , alors V |= ZFC. En particulier, on a Coh(ZFC− ) ⇒
Coh(ZFC).
Démonstration. Il suffit de combiner les lemmes précédents. (Rappelons que le
schéma (Rem) implique le schéma (Com), voir 6.1.5.)
Théorème 6.4.13. Si U |= ZF− , alors Vω |= ZF−(AI)+¬(AI). En particulier,
ZF− ` Coh(ZFC − (AI) + ¬(AI)).
Démonstration. Nous avons tout démontré dans les lemmes sauf Vω |= (AC). Il
suffit de remarquer que tout élément de Vω est un ensemble fini et admet donc
un bon ordre, c’est-à-dire qu’il existe une bijection avec un élément de ω. Une
telle bijection est dans Vω .
Axiome des cardinaux inaccessibles (CI) : Il existe un cardinal inaccessible.
Théorème 6.4.14. Soit U |= ZFC− et κ ∈ U un cardinal inaccessible. Alors
Vκ |= ZFC. En particulier, ZFC− + (CI) |= Coh(ZFC).
93
Démonstration. Nous avons montré tous les axiomes dans les lemmes précédents.
Par le second théorème d’incomplétude, le théorème 6.4.14 a comme corollaire que ZFC 6` (CI). Voici le résultat de consistance relative correspondant que
nous montrons plus directement, sans faire appel au second théorème d’incomplétude.
Théorème 6.4.15. On a Coh(ZFC) ⇒ Coh(ZFC + ¬(CI)).
Démonstration. Soit U |= ZFC. On peut supposer que U |= (CI). Soit κ le plus
petit cardinal inaccessible dans U . Alors Vκ |= ZFC par le théorème précédent.
Il suffit de noter que Vκ |= ¬(CI), ce qui suit des observations suivaintes :
– y = P(x), Ord(x) et Card(x) sont des formules absolues pour Vκ (Lemmes
6.4.7 et 6.4.8) ;
– “λ est un cardinal régulier” est absolu pour Vκ (cette propriété s’exprime
par la formule ¬∃α < λ(∃f : α → λ cofinale), exercice) ;
– “λ est un cardinal fortement limite” est absolu pour Vκ (cette propriété
s’exprime par la formule ∀α < λ(¬∃f : P(α) → λ surjective), exercice).
À la fin de ce cours, nous mentionnons quelques résultats importants que
nous citons sans preuve. Le livre de Kunen [4] est une référence excellente.
Le théorème suivant peut s’obtenir de manière assez élémentaire par la méthode de Fraenkel-Mostowski (voir la feuille de TD 14).
Théorème 6.4.16.
1. Si ZF est consistante, alors ZFC− + ¬(AF) aussi.
2. Si ZF est consistante, alors ZF− + ¬(AC) aussi.
Il est possible de remplacer ZF− + ¬(AC) par ZF + ¬(AC) dans la seconde
partie du théorème précédent, mais la preuve est alors beaucoup plus difficile.
Rappelons que l’hypothèse généralisée du continue GCH est donnée par
l’énoncé ∀α(2ℵα = ℵα+1 ).
Théorème 6.4.17 (Gödel). Si ZF est consistante, alors ZFC + (GCH) aussi.
Gödel obtient ce résultat par la méthode des constructibles. Voici l’idée de la
construction qui est similaire à la celle de V .
– On suppose formalisées dans U |= ZF la syntaxe ainsi que la satisfaction
pour des structures ha; ∈ a i, où a ∈ U .
– On montre alors qu’il existe une classe fonctionnelle D qui donne l’ensemble des parties définissables, c’est-à-dire qu’on a b ∈ D(a) ⇔ b ⊆ a
et il existe n ∈ ω, une formule ϕ[v0 , . . . , vn ] et c1 , . . . , cn ∈ a tels que
b = {c0 ∈ a | ha; ∈ a i |= ϕ[c0 , c1 , . . . , cn ]}.
S
– On définit L0 := ∅, L
Sα+1 := D(Lα ), et Lλ := α<λ Lα pour λ limite.
Puis, on définit ”L = α Lα ” (une classe propre).
94
– Comme pour la hiérarchie de von Neumann, on établit certaines propriétés
de base, par exemple α ≤ β ⇒ Lα ⊆ Lβ et la transitivité des Lα . On a donc
une hiérarchie croissante et continue d’ensembles transitifs (Lα )α∈Ord .
– On définit un rang RgL comme pour V , et on montre que RgL (α) = α,
autrement dit Lα ∩ Ord = α.
– On montre que LL = L (dans ZF), c’est-à-dire que L satisfait à l’axiome
de constructibilité ∀x L(x). Pour cela, on utilise que la classe fonctionnelle
D est absolue pour une classe X qui est modèle de ZF − (Parties), et donc
la classe fonctionnelle α 7→ Lα aussi.
– La preuve que L |= ZF est similaire à celle pour V .
– Afin d’établir L |= (AC) + (GCH), on construit, par récurrence sur α, un
bon ordre sur Lα tel que si α ≤ β, alors Lα est un segment initial de
Lβ . Dans l’étape successeur, à l’aide du bon ordre sur Lα , on construit
un bon ordre sur L<ω
α (l’ensemble des suites finies d’éléments de Lα ), puis
sur Lα+1 , en énumérant les (codes des) formules également.
Théorème 6.4.18 (Cohen).
aussi.
1. Si ZF− est consistante, alors ZFC + ¬(HC)
2. Si ZF− est consistante, alors ZF + ¬(AC) aussi.
Contrairement aux constructions de modèles de ZF− que nous avons vues
ou esquissées jusqu’ici, les constructions utilisées pour montrer ce résultat ne se
font pas à l’intérieur du modèle de départ U. En revanche, la méthode du forcing
(introduite par Cohen en 1964 pour montrer son théorème et utilisée en théorie
des ensembles jusqu’à nos jours) permet de construire des modèles de ZF qui
sont des extensions du modèle de départ.
Affaiblissements de l’axiome du choix
L’axiome du choix dépendant (ACD)
∀r∀a∀x0 x0 ∈ a ∧ r ⊆ a2 ∧ ∀x ∈ a ∃y ∈ a (x, y) ∈ r
→ ∃f (f : ω → a ∧ f (0) = x0 ∧ ∀n ∈ ω ((f (n), f (n + 1)) ∈ r)
L’axiome du choix dénombrable (ACC)
∀f [(Fn(f ) ∧ dom(f )=ω
˙ ∧ ∅ 6∈ im(f ))
→ ∃g (Fn(g) ∧ dom(g)=ω
˙ ∧ ∀x(x ∈ dom(g) → g(x) ∈ f (x)))]
L’axiome (ACC) exprime que le produit d’une famille dénombrable d’ensembles non vides est non vide.
Lemme 6.4.19. On a (AC)⇒(ACD)⇒(ACC).
Démonstration. (AC)⇒(ACD) : Soit h : P 0 (a) → a une fonction de choix sur
a. Par induction sur ω, on définit une fonction f , via f (0) := x0 , f (n + 1) :=
h({y ∈ a | (f (n), y) ∈ r}). Il est clair que f convient.
95
(ACD)⇒(ACC) : Soit (Xn )n∈ω S
une famille dénombrable d’ensembles non vides.
On pose Yn := {n} × Xn , a := n∈ω Yn et
r := {(x, y) ∈ a2 | il existe n ∈ ω tel que x ∈ Yn et y ∈ Yn+1 }.
Par (ACD)Qil existe une fonction f : ω → a telle que f (n) ∈ Yn pour tout n ∈ ω.
Alors g ∈ n∈ω Xn , où g(n) := π((f (n)), avec π la projection sur la deuxième
coordonnée.
La construction d’un ensemble non mesurable de réels qu’on voit au cours
d’intégration se fait dans ZFC. Cela donne le résultat suivant.
Proposition 6.4.20. ZFC |= ”il existe une partie de R non mesurable”
Le théorème que nous mentionnons maintenant sans preuve est plus difficile.
Pour le montrer, on utilise la technique du forcing.
Théorème 6.4.21 (Solovay, 1970). Si ZFC + (CI) est consistante, alors la
théorie ZF + (ACD) + ”toute partie de R est mesurable” est consistante aussi.
96
Bibliographie
[1] René Cori et Daniel Lascar, Logique mathématique, Tome 1, Dunod, 2003.
[2] René Cori et Daniel Lascar, Logique mathématique, Tome 2, Dunod, 2003.
[3] Heinz-Dieter Ebbinghaus, Jörg Flum et Wolfgang Thomas, Mathematical
Logic, Second Edition, Undergraduate Texts in Mathematics, Springer, 1994.
[4] Kenneth Kunen, Set Theory. An Introduction to Independence Proofs, Studies in Logic and the Foundations of Mathematics vol. 102, Elsevier, 1980.
[5] François Loeser, Un premier cours de logique, Notes de cours, 2010 (disponible sur la page http://www.math.jussieu.fr/∼loeser/notes.php).
[6] Martin Ziegler, Mathematische Logik, Mathematik Kompakt, Birkhäuser,
2010.
97
Téléchargement