Notes de cours

publicité
Notes de cours
E. Lozes
semestre 2 2016-2017
1
1.1
Déduction naturelle : les systèmes N J0 et N K0
Règles de la déduction naturelle
Les jugements de la déduction naturelle sont de la forme Γ ` ϕ où Γ est un ensemble de formules de F0 (P) et ϕ ∈ F0 (P). Un jugement est prouvable si il est
dérivable à partir des règles de la figure 1.
On appelle déduction naturelle intuitioniste, aka N J0 , le système de règles correspondant à N K0 dans lequel on remplace (Abs) par la règle (⊥E) suivante :
Γ ` ⊥ (⊥E)
Γ`ψ
qui est dérivable en N K0 à partir de Abs et Af f .
La déduction naturelle est une formalisation de la notion de preuve mathématique
qui se veut proche des preuves “humaines”. Il faut comprendre ce “proche” au sens
de “plus proche que” d’autres systèmes, notamment les systèmes de déduction à la
Hilbert. Un système de déduction à la Hilbert repose uniquement sur des axiomes et
le modus ponens ; ces systèmes ne permettent pas de représenter une preuve textuelle
comme
Montrons A → B.
Supposons A
[...]
donc B.
On a donc montré A → B”
1.2
Correction et complétude
Pour une interprétation I ⊆ P, on note I |= Γ si I |= ϕ pour tout ϕ ∈ Γ, et
I |= Γ ` ψ si I |= Γ implique I |= ψ. Le jugement Γ ` ψ est valide si I |= Γ ` ψ
pour toute interprétation I.
Théorème 1.1 (Correction de N K0 ). Si Γ ` ϕ est prouvable dans N K0 (resp. N J0 ),
alors Γ ` ϕ.
Démonstration. Par récurrence sur la longueur de la preuve de Γ ` ϕ. Vu en cours
avec Hubert Comon.
1
Figure 1 – Règles d’inférence de la déduction naturelle propositionnelle classique,
aka N K0
On s’intéresse à la réciproque. Notons tout d’abord que cette réciproque n’est pas
vraie pour N J0 : on montrera plus loin que le jugement ` A ∨ ¬A (tiers exclu) n’est
pas prouvable en N J0 , et pourtant il est valide. En revanche, le tiers exclu est bien
prouvable en N K0 , comme tous les jugements valides. C’est le théorème de complétude. On en donne une preuve légèrement différente de celle des notes de cours de
Hubert Comon : on commence par montrer la complétude pour des jugements d’une
certaine forme, puis on étend ce résultat à tous les jugements valides en utilisant le
fait que le tiers exclu est prouvable.
Lemme 1.2. Soit Γ ` ϕ un jugement valide tel que pour toute variable propositionnelle A de ce jugement, {A, ¬A} ∩ Γ 6= ∅. Alors Γ ` ϕ est prouvable dans N J0 (et
donc aussi dans N K0 ).
Démonstration. Par récurrence sur le couple (n, m) où n désigne le nombre de formules dans Γ et m la taille de ϕ, pour l’ordre lexicographique. 1
— si ϕ = >, on applique la règle pour >
— si ϕ = ⊥, on distingue deux cas :
— il y a une variable propositionnelle A telle que {A, ¬A} ⊆ Γ : alors on
prouve Γ ` ⊥ par (¬E) sur A et deux fois (Ax).
— il existe une interprétation I qui satisfait Γ∩Lit(P), où Lit(P) = {A, ¬A |
A ∈ P}. Comme I 6|= Γ, il existe ϕ ∈ Γ \ Lit(P) telle que I 6|= ϕ. Soit
Γ0 = Γ \ {ϕ}. Alors Γ0 ` ¬ϕ est valide, et comme Γ0 contient une formule
1. autrement dit, on fait une récurrence sur le nombre de formules dans Γ, et une sous-récurrence sur
la taille de ϕ.
2
de moins que Γ, on déduit par récurrence que Γ0 ` ¬ϕ est prouvable. On en
déduit
Γ0 ` ¬ϕ
(Ax)
(Af f )
Γ0 , ϕ ` ϕ
Γ0 , ϕ ` ¬ϕ
(¬E)
(Γ =)Γ0 , ϕ ` ⊥
— si ϕ = ¬> : on applique (¬I) puis (Af f ) pour se ramener à Γ ` ⊥, et on
conclut par récurrence.
— si ϕ = ¬⊥ : on applique (¬I) puis (Ax).
— si ϕ = ` avec ` ∈ Lit(P) : si ` ∈ Γ, on peut appliquer (Ax). Sinon, par hypothèse `¯ ∈ Γ. 2 Supposons par l’absurde qu’on ait I |= Γ pour une interprétation
¯ donc I 6|= `, ce qui contredit la validité du juI. Alors en particulier I |= `,
gement Γ ` `. On en déduit que I 6|= Γ pour tout I, autrement dit Γ ` ⊥ est
valide. Par récurrence, ce jugement est prouvable, et donc par (⊥E) le jugement Γ ` ` est prouvable.
— si ϕ = ϕ1 ∧ ϕ2 : alors Γ ` ϕ1 et Γ ` ϕ2 sont valides, donc par hypothèse de
récurrence prouvables, donc Γ ` ϕ1 ∧ ϕ2 est prouvable en appliquant (∧I).
— si ϕ = ¬(ϕ1 ∧ ϕ2 ) : par hypothèse, il existe au plus une interprétation I telle
que I |= Γ, donc au moins un des deux jugements parmi Γ ` ¬ϕ1 et Γ ` ¬ϕ2
est valide. Par symmétrie, supposons que Γ ` ¬ϕ1 est valide. Par récurrence,
ce jugement est prouvable. On en déduit
(Ax)
Γ, ϕ1 ∧ ϕ2 ` ϕ1 ∧ ϕ2
Γ ` ¬ϕ1
(Af f )
(∧E1 )
Γ, ϕ1 ∧ ϕ2 ` ¬ϕ1
Γ, ϕ1 ∧ ϕ2 ` ϕ1
(¬E)
Γ, ϕ1 ∧ ϕ2 ` ⊥
(¬I)
Γ ` ¬(ϕ1 ∧ ϕ2 )
— si ϕ = ϕ1 ∨ ϕ2 par hypothèse, il existe au plus une interprétation I telle que
I |= Γ, donc au moins un des deux jugements parmi Γ ` ϕ1 et Γ ` ϕ2 est
valide. Par symmétrie, supposons que Γ ` ϕ1 est valide. Alors Γ ` ϕ1 ∨ ϕ2 est
prouvable par (∨I1 ).
— si ϕ = ¬(ϕ1 ∨ ϕ2 ) : toujours par le même argument, Γ ` ¬ϕ1 et Γ ` ¬ϕ2
sont valides, donc par récurrence prouvables. On en déduit que Γ, ϕ1 ` ⊥ est
prouvable puisque
Γ, ϕ1 ` ϕ1
Γ ` ¬ϕ1
(Af f )
Γ, ϕ1 ` ¬ϕ1
(¬E)
Γ, ϕ1 ` ⊥
(Ax)
et de même pour Γ, ϕ2 ` ⊥. On a alors
Γ, ϕ1 ∨ ϕ2 ` ϕ1 ∨ ϕ2
(Ax)
Γ, ϕ1 ` ⊥
(Af f )
Γ, ϕ1 ∨ ϕ2 , ϕ1 ` ⊥
Γ, ϕ1 ∨ ϕ2 ` ⊥
(¬I)
Γ ` ¬(ϕ1 ∨ ϕ2 )
2. où l’on pose Ā = ¬A et ¬A = A.
3
Γ, ϕ2 ` ⊥
(Af f )
Γ, ϕ1 ∨ ϕ2 , ϕ2 ` ⊥
(∨E)
— si ϕ = ϕ1 → ϕ2 : à nouveau, Γ ` ¬ϕ1 est valide, ou sinon c’est Γ ` ϕ2 .
— supposons Γ ` ¬ϕ1 valide, et donc par récurrence prouvable ; comme vu
dans le cas précédent,Γ, ϕ ` ⊥ est donc prouvable. On en déduit que
Γ, ϕ1 ` ⊥
(⊥E)
Γ, ϕ1 ` ϕ2
(→ I)
Γ ` ϕ1 → ϕ2
— supposons Γ ` ϕ2 valide, et donc par récurrence prouvable. Alors
Γ ` ϕ2
(Af f )
Γ, ϕ1 ` ϕ2
(→ I)
Γ ` ϕ1 → ϕ2
— si ϕ = ¬(ϕ1 → ϕ2 ) : alors Γ ` ϕ1 et Γ ` ¬ϕ2 sont valides, et donc par
récurrence prouvables. On en déduit
Γ ` ϕ1
(Af f )
(Ax)
Γ, ϕ1 → ϕ2 ` ϕ1
Γ, ϕ1 → ϕ2 ` ϕ1 → ϕ2
Γ ` ¬ϕ2
(→ E)
(Af f )
Γ, ϕ1 → ϕ2 ` ϕ2
Γ, ϕ1 → ϕ2 ` ¬ϕ2
(¬E)
Γ, ϕ1 → ϕ2 ` ⊥
(¬I)
Γ ` ¬(ϕ1 → ϕ2 )
On s’arrête un instant sur la règle suivante :
Γ`ϕ
(¬L)
Γ, ¬ϕ ` ⊥
Lemme 1.3. Tout jugement prouvable dans N J0 + (¬L) est prouvable dans N J0
Démonstration. On remplace une application de (¬L) par
Γ`ϕ
(Af f )
Γ, ¬ϕ ` ¬ϕ
Γ, ¬ϕ ` ϕ
(¬E)
Γ, ¬ϕ ` ⊥
(Ax)
On s’intéresse maintenant aux trois règles suivantes :
Γ, ¬ϕ ` ⊥
Γ ` ¬¬ϕ
(Abs)
(DN )
(T E)
Γ`ϕ
Γ`ϕ
Γ ` ϕ ∨ ¬ϕ
Lemme 1.4. Les systèmes N J0 + (Abs) (i.e. N K0 ), N J0 + (DN ), et N J0 + (T E)
prouvent les mêmes jugements.
4
Démonstration. On déduit (DN ) de (Abs) par
Γ ` ¬¬ϕ
(Af f )
Γ, ¬ϕ ` ¬ϕ
Γ, ¬ϕ ` ¬¬ϕ
(¬E)
Γ, ¬ϕ ` ⊥
(Abs)
Γ`ϕ
(Ax)
On déduit (T E) de (DN ) dans N J0 + (¬L) par
(Ax)
(Ax)
Γ, ϕ ` ϕ
Γ, ¬ϕ ` ¬ϕ
(∨I1 )
(∨2 )
Γ, ϕ ` ϕ ∨ ¬ϕ
Γ, ¬ϕ ` ϕ ∨ ¬ϕ
(¬L)
(¬L)
Γ, ¬(ϕ ∨ ¬ϕ), ϕ ` ⊥
Γ, ¬(ϕ ∨ ¬ϕ), ¬ϕ ` ⊥
(¬I)
(¬I)
Γ, ¬(ϕ ∨ ¬ϕ) ` ¬ϕ
Γ, ¬(ϕ ∨ ¬ϕ) ` ¬¬ϕ
(¬E)
Γ, ¬(ϕ ∨ ¬ϕ) ` ⊥
(¬I)
Γ ` ¬¬(ϕ ∨ ¬ϕ)
(DN )
Γ ` ϕ ∨ ¬ϕ
Enfin, on déduit (Abs) de (T E) par
Γ ` ϕ ∨ ¬ϕ
(T E)
Γ, ϕ ` ϕ
Γ`ϕ
(Ax)
Γ, ¬ϕ ` ⊥
(⊥E)
Γ, ¬ϕ ` ϕ
(∨E)
Théorème 1.5 (Complétude de N K0 ). Si Γ ` ϕ est valide, alors Γ ` ϕ est prouvable
dans N K0 .
Démonstration. Par récurrence sur le nombre de variables propositionnelles A du jugement telles que {A, ¬A}∩Γ = ∅. Si il n’y aucune variable de la sorte, on applique le
lemme 1.2. Sinon, soit A une telle variable. Alors Γ, A ` ϕ et Γ, ¬A ` ϕ sont valides,
et par récurrence prouvables. On conclut par le tiers exclu :
Γ ` A ∨ ¬A
(T E)
Γ, A ` ϕ
Γ`ϕ
2
Γ, ¬A ` ϕ
(∨E)
Calcul des séquents : les systèmes LK0 et LJ0
On s’intéresse maintenant au calcul des séquents LK0 et sa version intuitioniste
LJ0 . Par rapport à la déduction naturelle, les règles du calcul des séquents permettent
de passer d’un jugement contenant une formule ϕ 6∈ P en un ou plusieurs jugements
faisant intervernir des sous-formules de ϕ, sauf dans le cas de la règle de coupure.
Cette propriété prend son intérêt dans le programme de Hilbert : elle permet d’établir
5
qu’il n’existe pas de preuve de faux, et ce à l’aide d’arguments “finitaires”, sans exhiber
une sémantique des formules logiques. 3
Un séquent est une expression de la forme Γ ` ∆ où Γ, ∆ sont des multi-ensembles
de formules 4 , autrement dit des listes non ordonnées, et la virgule dans Γ, ϕ ou Γ, ∆
signifie la somme/concaténation de multi-ensembles.
Un séquent est prouvable dans le calcul des séquents (classique) LK0 si il admet
une dérivation à partir des règles de la figure 2. I |= Γ ` ∆ si ou bien il existe ϕ ∈ Γ
telle que I 6|= ϕ, ou bien il existe ψ ∈ ∆ telle que I |= ψ. Le séquent Γ ` ∆ est valide
si I |= Γ ` ∆ pour tout I.
Γ, ϕ ` ϕ, ∆
Γ, ⊥ ` ∆
(⊥L)
(Ax)
Γ ` >, ∆
(>R)
Γ, ϕ1 , ϕ2 ` ∆
(∧L)
Γ, ϕ1 ∧ ϕ2 ` ∆
Γ ` ϕ1 , ∆ Γ ` ϕ2 , ∆
(∧R)
Γ ` ϕ1 ∧ ϕ2 , ∆
Γ, ϕ1 ` ∆ Γ, ϕ2 ` ∆
(∨L)
Γ, ϕ1 ∨ ϕ2 ` ∆
Γ ` ϕ1 , ϕ2 , ∆
(∨R)
Γ ` ϕ1 ∨ ϕ2 , ∆
Γ ` ϕ1 , ∆ Γ, ϕ2 ` ∆
(⇒ L)
Γ, ϕ1 ⇒ ϕ2 ` ∆
Γ, ϕ1 ` ϕ2 , ∆
(⇒ R)
Γ ` ϕ1 ⇒ ϕ2 , ∆
Γ ` ϕ, ∆
(¬L)
Γ, ¬ϕ ` ∆
Γ, ϕ ` ∆
(¬R)
Γ ` ¬ϕ, ∆
Figure 2 – Le calcul des séquents classique LK0 (sans la règle de coupure).
Théorème 2.1 (Correction et complétude de LK0 ). Un séquent est prouvable dans
LK0 si et seulement si il est valide.
Démonstration. Pour chaque règle, on peut vérifier que le séquent conclusion est valide si et seulement si le ou les séquents de la prémisse sont tous valides. On en déduit que tout séquent prouvable est valide (correction) par récurrence sur la taille de
l’arbre de preuve. Pour montrer la complétude, on raisonne par récurrence sur la taille
du séquent, définie comme la somme des tailles des formules qu’il contient (avec leur
multiplicité). Soit Γ ` ∆ un séquent valide.
— Si ⊥ ∈ Γ ou si > ∈ ∆, on applique la règle adéquate.
3. Pour bien comprendre l’intérêt de la chose, il faut avoir en tête que le programme de Hilbert englobe
des logiques plus expressives que la logique propositionnelle, pour lesquelles une approche sémantique
présupposant des objets mathématiques “non finitaires” est discutable.
4. contrairement à la déduction naturelle, dont les jugements faisaient intervenir des ensembles de
formules.
6
— Si toutes les formules sont des variables propositionnelles, on suppose par l’absurde que Γ ∩ ∆ = ∅. Dans ce cas, on considère l’interprétation I = {A |
A ∈ Γ}. Alors I 6|= Γ ` ∆, ce qui contredit la validité du séquent. On a donc
Γ ∩ ∆ 6= ∅ et on peut appliquer la règle (Ax).
— Sinon c’est que Γ ou ∆ contient une formule ϕ 6∈ P. On peut appliquer une
règle qui “réduit” ϕ et admet en prémisse 0, 1 ou 2 séquents de taille plus petite
(puisque Γ, ∆ sont des multi-ensembles). De plus, chacun de ces séquents est
valide du fait que Γ ` ∆ est valide. Par récurrence, chacun est donc prouvable,
et finalement Γ ` ∆ est prouvable.
Théorème 2.2 (Propriété de la sous-formule pour LK0 ). Si Γ ` ∆ est prouvable dans
LK0 , alors il admet une preuve dont toutes les étapes contiennent des séquents ayant
pour formules des sous-formules de formules de Γ ∪ ∆.
On voit assez mal comment il pourrait en être autrement : pour chacune des règles
de LK0 , les prémisses sont des séquents qui contiennent des sous-formules du séquent
conclusion. C’est cependant une propriété remarquable, qui n’est pas vraie pour la
déduction naturelle. La propriété de la sous-formule n’est plus vraie non plus si on
étend LK0 avec la règle de coupure suivante
Γ, ϕ ` ∆
Γ ` ϕ, ∆
(Cut)
Γ`∆
Théorème 2.3 (Elimination des coupures en LK0 ). Tout séquent prouvable dans
LK0 + (Cut) est prouvable dans LK0 .
Démonstration. Soit Γ ` ∆ un séquent prouvable dans LK0 + (Cut). Ce séquent est
valide : c’est le même argument que pour la preuve de correction du théorème 2.1,
mais il faut aussi prendre en considération la règle de coupure. Comme il est valide,
par complétude (théorème 2.1), il est prouvable dans LK0 .
La preuve est triviale parce qu’elle utilise un argument sémantique. Si l’on s’interdisait un tel argument, on pourrait le démontrer par transformation de preuve, en
repoussant l’application de la règle de coupure vers les feuilles de l’arbre de dérivation, mais c’est une démonstration nettement plus technique... Félicitons-nous plutôt
de cette preuve sémantique simple, dans d’autres cours vous ne couperez pas toujours
aussi facilement à une preuve syntaxique.
Considérons maintenant le pendant intutioniste du calcul des séquents : le calcul
des séquents intuitioniste LJ0 est défini aux figures 3 et 4. A nouveau, on appelle LJ0
le système sans la règle de coupure (Cut).
Théorème 2.4 (Elimination des coupures en LJ0 ). LJ0 admet l’élimination des coupures : tout séquent prouvable dans LJ0 + (Cut) est prouvable dans LJ0 .
La preuve de se théorème est au-delà du programme. On donne une idée d’une
approche possible de cette preuve en réutilisant des résultats vus en λ calcul que la
normalisation faible du λ-calcul simplement typé implique que toute preuve en N J0
7
Γ, ϕ ` ϕ
Γ, ⊥ ` ϕ
(Ax)
(⊥L)
Γ`>
(>R)
Γ, ϕ1 , ϕ2 ` ψ
(∧L)
Γ, ϕ1 ∧ ϕ2 ` ψ
Γ ` ϕ1 Γ ` ϕ2
(∧R)
Γ ` ϕ1 ∧ ϕ2
Γ, ϕ1 ` ψ Γ, ϕ2 ` ψ
(∨L)
Γ, ϕ1 ∨ ϕ2 ` ψ
Γ ` ϕi
(∨Ri )
Γ ` ϕ1 ∨ ϕ2
Γ ` ϕ1 Γ, ϕ2 ` ψ
(⇒ L)
Γ, ϕ1 ⇒ ϕ2 ` ψ
Γ, ϕ1 ` ϕ2
(⇒ R)
Γ ` ϕ1 ⇒ ϕ2
Γ`ϕ
(¬L)
Γ, ¬ϕ ` ⊥
Γ, ϕ ` ⊥
(¬R)
Γ ` ¬ϕ
où i ∈ {1, 2}
Figure 3 – Le calcul des séquents intuitioniste LJ0 sans les règles structurelles
Γ`ψ
(W L)
Γ, ϕ ` ψ
Γ ` ⊥ (W R)
Γ`ϕ
Γ, ϕ, ϕ ` ψ
Γ ` ϕ Γ, ϕ ` ψ
(CL)
(Cut)
Γ, ϕ ` ψ
Γ`ψ
Figure 4 – Règles structurelles de LJ0
8
peut se faire “sans détour” (pour une notion de détour à définir), et qu’une preuve sans
détour en N J0 peut se traduire en une preuve sans coupure en LJ0 .
Théorème 2.5 (Propriété de la sous-formule en LJ0 ). Soit π une preuve de ` ϕ en
LJ0 (sans coupure) : alors pour tout séquent Γ ` ψ apparaissant dans la preuve, les
formules de Γ et la formule ψ sont des sous-formules de ϕ
La preuve se fait par récurrence en généralisant la propriété à un séquent quelconque et est laissée en exercice.
9
3
Sémantique de Kripke
Un modèle de Kripke est un tuple K = (W, ≤K , αK ) où
— W est un ensemble de mondes
— ≤K est une relation d’ordre (partiel) sur W
— αK : W → 2P est une fonction monotone qui associe à chaque monde w une
interprétation αK (w).
Remarque : la monotonie de αK signifie que w ≤K w0 implique αK (w) ⊆ αK (w0 ).
Soit un modèle de Kripke K = (W, ≤K , αK ) donné. On définit la relation K, w ϕ, pour tout w ∈ W, par récurrence sur la taille de ϕ :
— K, w p si p ∈ αK (w)
— K, w ⊥ jamais
— K, w ϕ ∨ ψ si K, w ϕ ou K, w ψ
— K, w ϕ ∧ ψ si K, w ϕ et K, w ψ
— K, w ϕ → ψ si pour tout w0 ≥K w, K, w0 ϕ entraine K, w0 ψ
— K, w ¬ϕ si pour tout w0 ≥K w, K, w0 6 ϕ.
Lemme 3.1 (Monotonicité de ). Pour toute formule ϕ, pour tout modèle de Kripke
K et pour tout w, w0 ∈ W,
— si K, w ϕ et w ≤K w0
— alors K, w0 ϕ
Démonstration. Par récurrence sur la taille de ϕ (exercice).
Exemple 3.2. Soit le modèle de Kripke K = ({w0 , w1 }, ≤, α) avec w0 ≤ w1 , α(w0 ) =
∅ et α(w1 ) = {p}. Alors
— K, w0 6|= p
— K, w0 6|= ¬p (puisque K, w1 |= p
— K, w0 6|= p ∨ ¬p
On note K, w Γ si pour toute formule ψ ∈ Γ, K, w ψ, et K, w Γ ` ϕ si
K, w Γ implique K, w ϕ. Le séquent Γ ` ϕ est valide (au sens de la sémantique
de Kripke) si pour tout modèle de Kripke K, pour tout monde w ∈ W, K, w Γ ` ψ.
Théorème 3.3 (Correction de LJ0 ). Si Γ ` ϕ est prouvable en LJ0 + (Cut), alors
Γ ` ϕ est valide.
Démonstration. Par récurrence sur la taille de la preuve de Γ ` ϕ. On considère donc
chaque règle, et on montre que si les prémisses sont des séquents valides, alors le
séquent conclusion est valide. On traite seulement quelques exemples
Règle (Ax) Pour tout modèle de Kripke K et w ∈ W, si K, w Γ et ϕ ∈ Γ,K |=
Γ ` ϕ, alors en particulier K, w ϕ.
Règle (⇒ R) Supposons Γ, ϕ1 ` ϕ2 valide. Soit K un modèle de Kripke, et w ∈
W. Supposons que K, w Γ, et montrons que K, w ϕ1 → ϕ2 . Soit w0 ≥K w
tel que K, w0 ϕ1 . Par monotonicité de , K, w0 Γ. Par validité de Γ, ϕ1 `
ϕ2 , K, w0 ϕ2 . Comme c’est vrai pour tout w0 ≥K w, w ϕ1 → ϕ2 .
10
Règle (⇒ L) Supposons Γ ` ϕ1 et Γ, ϕ2 ` ψ valides, et montrons que Γ, ϕ1 →
ϕ2 ` ψ est valide. Soient K, w tels que K, w Γ et K, w ϕ1 → ϕ2 , montrons
que K, w ψ. Comme Γ ` ϕ1 est valide, K, wϕ1 . Commme w ≥K w, K, w ϕ2 . Comme Γ, ϕ2 ` ψ est valide, K, w ψ
Autres cas exercice.
Corollaire 3.4. ` p ∨ ¬p n’est pas prouvable en LJ0 + (Cut).
Démonstration. Soit K le modèle de Kripke de l’exemple 3.2. Si ` p ∨ ¬p était prouvable, alors par correction on aurait K, w0 |= p ∨ ¬p ; c’est impossible.
Théorème 3.5 (Complètude de LJ0 ). Si Γ ` ϕ est valide, alors Γ ` ϕ est prouvable
en LJ0 + (Cut).
Remarque : par le théorème d’élimination des coupures pour LJ0 , le résultat est
vrai si on se restreint à LJ0 .
Démonstration. On fait la preuve dans le cas restreint où toutes les formules considèrées sont implicatives, autrement dit ne contiennent pas de constante >, ⊥, et ont ⇒
pour seul connecteur logique. 5
Soit S un ensemble de formules. On note S ∗ l’ensemble des formules ϕ pour lesquelles il existe Γ ⊆ S, Γ fini, tel que Γ ` ϕ est prouvable en LJ0 + (Cut). D’aprés
la règle (Ax), S ⊆ S ∗ . De plus, d’après la règle (Cut), (S ∗ )∗ = S ∗ . En effet, soit
ϕ ∈ (S ∗ )∗ , et montrons que ϕ ∈ S ∗ . Par définition, il existe Γ = {ϕ1 , . . . , ϕn } ⊆ S ∗ ,
Γ1 , . . . Γn S
avec Γ ⊆ S tels que Γ ` ϕ et Γi ` ϕi sont prouvables dans LJ0 + (Cut).
n
Soit Γ0 = i=1 Γi . Alors par (W L) Γ0 ` ϕi et Γ0 , Γ ` ϕ sont prouvables, et donc par
(Cut) Γ0 ` ϕ est prouvable.
S est dit saturé si S ∗ = S.
Soit KU = ({S | S est saturé}, ⊆, α où α(S) = S ∩ P. On vérifie aisément que α
est monotone et qu’on a bien défini une structure de Kripke. Montrons la propriété
Ku , S ϕ
ssi
ϕ∈S
(P)
par récurrence sur la taille de ϕ :
— si ϕ ∈ P, on a
KU , S ϕ
ssi ϕ ∈ α(S)
par def. de ssi ϕ ∈ S ∩ P par def. de α
ssi ϕ ∈ S
— si ϕ = ϕ1 → ϕ2 , on montre chaque implication séparément.
— KU , S ϕ implique ϕ ∈ S. Supposons KU , S ϕ. Soit S 0 = (S ∪ {ϕ1 })∗ .
Alors S 0 ⊇ S, donc par le lemme de monotonie, KU , S 0 ϕ1 → ϕ2 . Par
définition de S 0 , ϕ1 ∈ S 0 , et par hypothèse de récurrence KU , S 0 ϕ1 . Par
définition de , KU , S 0 ϕ2 , et par hypothèse de récurrence, ϕ2 ∈ S 0 =
5. La preuve dans le cas général peut se faire en suivant la même approche, à condition de rajouter des
conditions supplémentaires à la notion d’ensemble saturé.
11
(S ∪ ϕ1 )∗ . Il existe donc Γ ⊆ S ∪ ϕ1 tel que Γ ` ϕ2 est prouvable. Deux
cas sont possibles :
— Γ = Γ1 , ϕ1 avec Γ1 ⊆ S. Alors Γ1 ` ϕ1 → ϕ2 est prouvable par (⇒ R).
— Γ ⊆ S. Alors Γ ` ϕ1 → ϕ2 est prouvable par (⇒ R) suivi de (W L).
Dans les deux cas, on a donc ϕ1 → ϕ2 ∈ S ∗ = S.
— ϕ ∈ S implique KU , S ϕ. Supposons ϕ ∈ S et montrons KU , S ϕ.
Par définition de , il faut montrer que pour tout S 0 ⊇ S, si KU , S 0 ϕ1 ,
alors KU , S 0 ϕ2 . Soit S 0 ⊇ S tel que KU , S 0 ϕ1 . Par hypothèse de
récurrence, ϕ1 ∈ S 0 . De plus ϕ1 → ϕ2 ∈ S ⊆ S 0 . Enfin, par (⇒ L) et
(Ax), ϕ1 , ϕ1 → ϕ2 ` ϕ2 est prouvable. Donc ϕ2 ∈ S 0∗ = S 0 . Enfin, par
hypothèse de récurrence, KU , S 0 ϕ2 .
On a donc montré (P ). Revenons à la preuve du théorème. Soit Γ ` ϕ valide ;
montrons que Γ ` ϕ est prouvable. Pour tout ψ ∈ Γ, ψ ∈ Γ∗ , et Γ∗ est saturé, donc
par (P ), KU , Γ∗ ψ. C’est vrai pour tout ψ ∈ Γ, donc KU , Γ∗ Γ. Par hypothèse,
KU , Γ∗ (Γ ` ϕ), donc KU , Γ∗ ϕ. Par (P ), ϕ ∈ Γ∗ . Par définition de Γ∗ , il existe
Γ0 ⊆ Γ tel que Γ0 ` ϕ est prouvable. Enfin, par (W L), Γ ` ϕ est prouvable.
12
4
Calcul des prédicats
Dans leurs recherches sur la formalisation des mathématiques, les logiciens du
XXe siècle se sont intéressés au calcul des prédicats, peut-être le système la plus simple
extension du calcul propositionnel. C’est un langage très expressif qui au XXIe siècle
est beaucoup utilisé en informatique, grâce à deux nombreuses avancées sur l’automatisation de certains fragments ce le langage.
La définition du calcul des prédicats se fait en deux temps : la syntaxe, relativement
sans surprise, et la sémantique, qui fait intervenir la notion de modèle. Cette notion
de modèle rejoint par sa finalité celles vues en logique classique. Grâce aux modèles,
on peut établir qu’un énoncé n’est pas conséquence logique d’autres axiomes (par
exemple, l’axiome de choix n’est pas conséquence de la théorie des ensembles ZF), ce
qu’on illustrera sur une tentative d’axiomatisation de l’arithmétique élémentaire.
4.1
4.1.1
Syntaxe
Les termes
On se donne un ensemble F dont les éléments seront appelés symboles de fonction.
Chaque symbole f ∈ F est muni d’une arité a(f ) ∈ N qui fixe le nombre d’arguments.
On se donne de plus un ensemble infini X de symboles de variables, disjoint de F.
Définition 4.1. L’ensemble des termes sur l’alphabet F et les variables X , noté T (F, X )
est le plus petit ensemble tel que :
— X ⊆ T (F, X ) ;
— si f ∈ F, a(f ) = n et t1 , . . . , tn ∈ T (F, X ), alors f (t1 , . . . , tn ) ∈ T (F, X ).
Un terme peut être vu comme un arbre fini étiqueté par F et X .
Exemple 4.2. Si l’on suppose que F est composé des symboles +, s, zero d’arités
respectives 2, 1, 0, et x ∈ X , alors zero, s(zero),et +(s(zero), x) sont des termes de
T (F, X ) que l’on peut voir comme les arbres ci-dessous.
zero
s
zero
+
s
x
x
On utilise parfois l’écriture en notation infixée pour certains symboles usuels. Par
exemple, +(0, s(0)) s’écrira aussi 0 + s(0).
Dans les exemples, F est donné en listant ses éléments avec, entre parenthèses,
l’arité du symbole correspondant.
Exemple 4.3. Si F = {nil(0), cons(2), (2)} et x, y, z ∈ X , (cons(x, y), z) ∈ T (F, X ).
Exemple 4.4. Si F = {0(0), s(1), +(2), ×(2)} et x, y ∈ X , ×(s(x), y) ∈ T (F, X ).
On écrit aussi ×(s(x), y) en notation infixe : s(x) × y.
13
4.1.2
Formules atomiques
On se donne un ensemble P dont les éléments seront appelés symboles de prédicat.
Chacun de ces symboles est à nouveau muni d’une arité. On suppose P disjoint de F
et de X .
Les termes P (t1 , . . . , tn ) où t1 , . . . , tn ∈ T (F, X ) et P ∈ P est d’arité n sont
appelés formules atomiques.
4.1.3
Formules du premier ordre
Définition 4.5. L’ensemble CP1 (F, P) des formules du premier ordre sur les symboles de prédicat P, les symboles de fonction F et les variables X est le plus petit
ensemble tel que :
— ⊥, > ∈ CP1 (F, P) ;
— les formules atomiques sont dans CP1 (F, P) ;
— Si φ, ψ ∈ CP1 (F, P) et x ∈ X alors les formules suivantes sont dans CP1 (F, P) :
φ ∧ ψ, φ ∨ ψ, ¬φ, φ ⇒ ψ, ∀x.φ, ∃x.φ.
Remarquons que, lorsque tous les symboles de P sont d’arité 0, les formules sans
quantificateur de CP1 (F, P) sont aussi des formules de CP0 (calcul propositionnel).
Dans la suite, nous ne préciserons pas toujours X , qui est presque toujours évident
dans le contexte d’utilisation. Par défaut les symboles de X sont ceux qui commencent
par x, y, z.
Exemple 4.6. Si P = {= (2)} et en reprenant les symboles de fonction de l’exemple
4.3,
∀x, y. = ((cons(x, y), z), cons(x, (y, z)))
est une formule de CP1 (F, P). On écrit souvent u = v au lieu de = (u, v).
Exemple 4.7. La formule suivante n’est pas une formule du premier ordre :
∀P.(P (0) ∧ ∀x.P (x) → P (s(x))) → ∀x.P (x)
14
4.2
4.2.1
Sémantique
F-algèbres
Etant donné un alphabet F une F-algèbre A est constituée d’un domaine (ensemble) DA non vide et, pour chaque symbole de fonction f ∈ F d’arité n, d’une
n
fonction fA de DA
dans DA .
Exemple 4.8. Soit F = {0(0), s(1), +(2)}. Alors (N, succN , +N ) est une F-algèbre
et (Q+ , 1, ÷2, ÷) est aussi une F-algèbre. (Q+ est l’ ensemble des rationnels strictement positifs).
Exemple 4.9. T (F) et T (F, X ) sont des F-algèbres, avec fT (F ) (t1 , t2 ) = f (t1 , t2 )
et de même pour fT (F ,X ) .
Exemple 4.10. Soit F = {0(0), succ(1), +(2), ×(2)}. Soit Σ un alphabet fini et
a ∈ Σ une lettre. On définit NC la F-algèbre de domaine Σ∗ où 0NC = (le mot vide),
w1 +NC w2 est la concaténation de w1 et w2 , succNC (w) = a +NC w, et w1 ×NC w2 est
le mot obtenu en remplaçant chaque occurrence de a dans w1 par w2 (par exemple,
aba ×NC aa = aabaa).
Si A et B sont deux F-algèbres, un homomorphisme (ou simplement morphisme) h
de A dans B est une application de DA dans DB telle que, pour tout symbole f ∈ F,
pour tous éléments a1 , . . . , an ∈ DA ,
h(fA (a1 , . . . , an )) = fB (h(a1 ), . . . , h(an )).
Exemple 4.11. Soit F = {0(0), s(1), +(2)}. On considère la F-algèbre N et la Falgèbre Z2 , toutes deux équipées des opérations naturelles. L’application de N dans
Z2 qui a tout entier associe son reste modulo 2 est un homomorphisme de F-algèbres.
Théorème 4.12. (Birkhoff : propriété universelle de T (F, X ))
Soit A une F-algèbre. Soit i l’injection (canonique) de X dans T (F, X ). Pour toute
application h de X dans A, il existe un unique homomorphisme ĥ de T (F, X ) dans
A tel que
∀x ∈ X, ĥ ◦ i(x) = h(x)
Démonstration. La construction de ĥ est effectuée par récurrence structurelle sur les
termes (ou, si l’on préfère, par récurrence sur la profondeur des termes) de façon évidente :
ĥ(x)
ĥ(f (t1 , . . . , tn ))
= h(x)
= f (ĥ(t1 ), . . . , ĥ(tn ))
pour tout f ∈ F, a(f ) = n
On vérifie aisément que cette définition convient. On prouve enfin facilement, par
induction sur t, que h0 (t) = ĥ(t) pour tout autre homomorphisme h0 satisfaisant
h0 (i(x)) = h(x).
Définition 4.13 (Affectation). Si A est une F-algèbre, une A-affectation est une application σ de X dans A.
15
Si a1 , . . . , an ∈ A, et X = {x1 , . . . , xn }, on note {x1 7→ a1 , . . . , xn 7→ an }
l’affectation σ telle que σ(xi ) = ai pour tout i. Cette notation suppose que x1 , . . . , xn
sont des variables distinctes.
D’après le théorème 4.12, on peut confondre σ et le morphisme correspondant σ̂
de T (F, X ) dans A.
Supposons que A = T (F, X ), et que σ est une A-affectation. Alors σ̂ est un
endomorphisme de la F-algèbre T (F, X ). On appelle domaine de σ l’ensemble {x ∈
X | σ(x) 6= x} noté Dom(σ).
Si t1 , . . . , tn ∈ T (F, X ), on note {x1 7→ t1 , . . . , xn 7→ tn } la substitution σ telle
que σ(xi ) = ti pour tout i, et σ(y) = y pour tout y ∈ X \ {x1 , . . . , xn }.
Si t est un terme t ∈ T (F, {x1 , . . . , xn }) et si σ est l’affectation {x1 7→ a1 , . . . , xn 7→
an } dans la F-algèbre A, on écrira
JtKσ,A
ou tσ à la place de
σ̂(t)
.
Exemple 4.14. On a Jx + xKx7→1,N = 2 et Jx + xKx7→s(z),T (F ,X ) = s(z) + s(z).
Définition 4.15 (Substitution). Les endomorphismes σ de T (F, X ) de domaine fini
sont appelés substitutions. Les homomorphismes de T (F, X ) dans T (F ) de domaine
fini sont appelés substitutions closes.
Un renommage est un automorphisme de T (F, X ), i.e. une substitution bijective
dont l’inverse est aussi une substitution. Notons que si σ est un renommage, xσ est
nécessairement une variable
; si ce n’était pas le cas, on aurait xσ = f (t1 . . . , t2 ), et
donc x = f (t1 , . . . , tn ) σ −1 = f (t1 σ −1 , . . . , tn σ −1 ), ce qui est impossible (x 6≡ f
entraine que x et f (t1 σ −1 , . . . , tn σ −1 ) sont deux termes/arbres étiquettés distincts).
4.2.2 F, P-structures
Définition 4.16. Une F, P-structure S est une F-algèbre A = (DA , {fA | f ∈ F})
n
et, pour chaque symbole de prédicat P ∈ P d’arité n une relation PA ⊆ DA
.
On confondra parfois (abusivement) une structure et la F-algèbre sous-jacente.
Définition 4.17. Un morphisme h de la F, P-structure S dans la F, P-structure S 0
est un morphisme de la F-algèbre A sous-jacente à S dans la F-algèbre A0 sousjacente à S 0 tel que, pour tout symbole de prédicat P ∈ P (d’arité n), et pour tout
n
(a1 , . . . , an ) ∈ DA
:
(a1 , . . . , an ) ∈ PS
entraine
16
(h(a1 ), . . . , h(an )) ∈ PS 0 .
4.2.3
Variables libres et variables liées
Les quantificateurs lient les variables. On définit ainsi les variables libres (fv(φ))
d’une formule φ (resp. d’un terme t), par récurrence sur le terme t, puis la formule :
fv(x)
fv(f (t1 , . . . , tn ))
fv(P (t1 , . . . , tn ))
fv(⊥) = fv(>)
fv(φ ∧ ψ) = fv(φ ∨ ψ)
fv(φ → ψ)
fv(¬φ)
fv(∃x.φ) = fv(∀x.φ)
=
=
=
=
=
=
=
=
{x}
si x ∈ X
fv(t1 ) ∪ . . . ∪ fv(tn ) pour tout f ∈ F d’arité n
fv(t1 ) ∪ . . . ∪ fv(tn ) pour tout P ∈ P d’arité n
∅
fv(φ) ∪ fv(ψ)
fv(φ) ∪ fv(ψ)
fv(φ)
fv(φ) \ {x}
Quand fv(φ) = ∅, on dit que φ est une formule close.
Exemple 4.18. Si φ est la formule
P (x) ∧ ∃x.Q(f (x)) ∧ ∃x.∃z.Q(g(x, y, z))
alors fv(φ) = {x, y}.
4.2.4
Satisfaction, modèles d’une formule
Soit φ une formule, fv(φ) = {x1 , . . . , xn }, S une F, P-structure (d’algèbre sousjacente A) et σ une A-affectation σ : {x1 , . . . , xn } → A. On définit la relation de
satisfaction S, σ |= φ par récurrence sur φ :
— S, σ |= P (t1 , . . . , tn ) si et seulement si (Jt1 Kσ,A , . . . , Jtn Kσ,A ) ∈ PS ;
— S, σ |= φ ∗ ψ où ∗ est l’un des connecteurs logiques binaires est défini, comme
en calcul propositionnel, à partir des modèles de φ et des modèles de ψ, par
exemple S, σ |= φ ∨ ψ si et seulement si (S, σ |= φ ou S, σ |= ψ) ;
— S, σ |= ¬φ si et seulement si S, σ 6|= φ ;
— S, σ |= ∃x.φ si et seulement si il existe a ∈ DA tel que
S, σ ] {x 7→ a} |= φ ;
— S, σ |= ∀x.φ si et seulement si pour tout a ∈ DA on a
S, σ ] {x 7→ a} |= φ.
Ici σ ] {x 7→ a} désigne l’affectation σ 0 dont le domaine est Dom(σ 0 ) = Dom(σ) ∪
{x}, qui coïncide avec σ sur Dom(σ) \ {x} et telle que σ 0 (x) = a.
Si φ est une formule close, on écrit simplement S |= φ pour S, σ |= φ où σ est
l’affectation de domaine vide.
Une structure S est un modèle d’une formule close φ si S |= φ. Un modèle d’un
ensemble de formules closes est une structure qui satisfait toutes les formules de l’ensemble.
4.2.5
Conséquence et équivalence logiques
On étend au calcul des prédicats les notions de conséquence logique, d’équivalence
logique définies pour le calcul propositionnel :
17
Définition 4.19. Si E est un ensemble de formules sans variable libre et φ est une
formule sans variable libre, alors φ est une conséquence logique de E, ce que l’on note
E |= φ, si, pour toute structure S,
S |= E
entraine
S |= φ
Deux ensembles de formules sans variable libre E1 et E2 sont logiquement équivalents
si toute formule de E2 est conséquence logique de E1 et, réciproquement, toute formule
de E1 est conséquence logique de E2 .
4.2.6
Substitutions et renommages
On note ϕ[x0 /x] la formule ϕ dans laquelle toute occurrence libre de x est remplacée par x0 . Par exemple, si ϕ = P (x, y) ∧ ∃x.∀z.P (x, z), alors ϕ[x0 /x] est la formule
P (x0 , y) ∧ ∃x.∀z.P (x, z). Formellement, ϕ[x0 /x] est définie par induction sur ϕ :
P (u1 , . . . , un )[x0 /x] = P (u1 {x 7→ x0 }, . . . , un {x 7→ x0 })
(¬ϕ)[x0 /x] = ¬(ϕ[x0 /x])
(ϕ ∗ ψ)[x0 /x] = ϕ[x0 /x] ∗ ψ[x0 /x]
(Qy.ϕ)[x0 /x] = Qy.(ϕ[x0 /x])
(Qx.ϕ)[x0 /x] = Qx.ϕ
(∗ ∈ {∨, ∧, ⇒})
(y 6= x)
On note ≡α la plus petite congruence telle que Qx.ϕ ≡α Qx0 .(ϕ[x0 /x]) pour tout
Q ∈ {∀, ∃} et pour tous x, x0 , ϕ tels que x0 6∈ VL(ϕ). Intuitivement, deux formules
ϕ, ψ sont ≡α -équivalentes si on peut passer de l’une à l’autre en renommant des
variables liées. On notera que si ϕ ≡α ψ, alors ϕ et ψ sont logiquement équivalentes.
On note {x1 7→ t1 , . . . , xn 7→ tn } la substitution qui remplace x1 par t1 , x2
par t2 ,. . . , et xn par tn . C’est une fonction σ : X → T (F, X ), et on note dom(σ)
l’ensemble {x1 , . . . , xn }, de sorte que si y 6∈ dom(σ), σ(y) = y.
Par le théorème de Birkhoff, σ se prolonge en une fonction σ̂ : T (F, X ) →
T (F, X ). On note par convention tσ le terme σ̂(t), que l’on peut aussi définir par
induction sur t comme suit.
xi σ = ti yσ = y
f (u1 , . . . , u1 )σ = f (u1 σ, . . . , un σ)
On étend la notion de substitution aux formules : si σ = {x1 7→ t1 , . . . , xn 7→ tn }, la
formule ϕσ est définie par induction sur la formule ϕ (à ≡α -equivalence près).
P (u1 , . . . , un )σ ≡α
(¬ϕ)σ
≡α
(ϕ ∗ ψ)σ
≡α
(Qx.ϕ)σ
≡α
P (u1 σ, . . . , un σ)
¬(ϕσ)
ϕσ ∗ ψσ
Qx0 .(ϕ[x0 /x]σ)
(∗ ∈ {∨, ∧, ⇒})
Q ∈ {∀, ∃}, x0 6∈ dom(σ) ∪ vars(ϕ, t1 , . . . , tn )
Par exemple, si σ = {x 7→ s(y), y 7→ c},
P (x, y)σ ≡α P (s(y), c)
∃x.P (x, y) σ ≡α ∃x0 .P (x0 , c)
∃y.P (x, y) σ ≡α ∃y 0 .P (s(y), y 0 )
18
Lemme 4.20 (Lemme de substitution). Soit ϕ une (F, P)-formule, S une (F, P)structure, et {x 7→ t} une substitution de domaine x. Soit σ : VL(ϕ{x → t}) →
dom(S) une affectation des variables de VL(ϕ) ∪ vars(t) dans S. Alors
S, σ |= ϕ{x 7→ t}
S, σ ] {x 7→ JtKσ,S } |= ϕ
ssi
où JtKσ,S est l’image de t par le prolongement de σ à T (F, X ).
Démonstration. Par induction sur ϕ
— ϕ = P (u1 , . . . , un ). On note σ 0 = σ ] {x 7→ JtKσ,S }. On montre par induction
sur le terme u que Ju{x 7→ t}Kσ,S = JuKσ0 ,S . On en déduit
ssi
ssi
ssi
ssi
S, σ |= P (u1 , . . . , un ){x 7→ t}
S, σ |= P (u1 {x 7→ t}, . . . , un {x 7→ t})
Ju1 {x 7→ t}Kσ,S , . . . , Ju
n {x 7→ t}Kσ,S ∈ PS
Ju1 Kσ0 ,S , . . . , Jun Kσ0 ,S ∈ PS
S, σ 0 |= P (u1 , . . . , un )
— Les cas ϕ = ¬ϕ0 et ϕ = ϕ1 ∗ ϕ2 sont laissés en exercice.
— ϕ = Qy.ψ. Supposons ϕ = ∃y.ψ (l’autre cas est très similaire). Soit y 0 une
variable “fraiche”, autrement dit telle que y 0 6∈ vars(ψ, t) ∪ {x, y}. Alors en
particulier JtKσ]{y0 7→a},S = JtKσ,S , et
σ ] {y 0 7→ a} ] {x 7→ JtKσ]{y0 7→a},S } = σ ] {x 7→ JtKσ,S } ] {y 0 7→ a}.
On en déduit :
S, σ |= (∃y.ψ){x 7→ t}
ssi S, σ |= ∃y 0 .(ψ[y 0 /y]{x 7→ t})
ssi il existe a ∈ dom(S) tel que
S, σ ] {y 0 7→ a} |= ψ[y 0 /y]{x 7→ t}
ssi il existe a ∈ dom(S) tel que
S, σ ] {y 0 7→ a} ] {x 7→ JtKσ]{y0 7→a},S } |= ψ[y 0 /y]
(par hypothèse d’induction)
ssi il existe a ∈ dom(S) tel que
S, σ ] {x 7→ JtKσ,S } ] {y 0 7→ a} |= ψ[y 0 /y]
ssi S, σ ] {x 7→ JtKσ,S } |= ∃y 0 .(ψ[y 0 /y])
ssi S, σ ] {x 7→ JtKσ,S } |= ∃y.ψ
4.2.7
Exemple : arithmétique élémentaire et indépendance de l’axiome de
commutativité de l’addition
L’ensemble des formules données dans la figure 5 sera appellé axiomatique de
l’égalité. C’est un ensemble fini de formules si F et P sont finis. On note, comme
nous en avons l’habitude, u = v au lieu de = (u, v).
Toute structure S dans laquelle = est interprété par l’égalité sur DS est un modèle de Aeq . Réciproquement, si un ensemble de formules contient Aeq et admet un
modèle, alors il admet un modèle dans lequel = est interprété par l’égalité.
19
∀x.
∀x, y.
∀x, y, z.
x=x
x=y⇔y=x
(x = y ∧ y = z) ⇒ x = z
Pour tout n ∈ N et tout symbole f ∈ F d’arité n :
∀x1 , . . . , xn , y1 , . . . , yn . (
^
xi = yi ) ⇒ f (x1 , . . . , xn ) = f (y1 , . . . , yn )
1≤i≤n
Pour tout n ∈ N et tout symbole P ∈ P d’arité n :
∀x1 , . . . , xn , y1 , . . . , yn . (
^
xi = yi ) ⇒ P (x1 , . . . , xn ) ⇒ P (y1 , . . . , yn )
1≤i≤n
Figure 5 – Axiomes de l’égalité : Aeq
On considère maintenant F = {0(0), s(1), +(2), ×(2)} et P = {= (2)}. Comme
nous en avons l’habitude, nous notons u 6= v au lieu de ¬(u = v), u + v au lieu de
+(u, v), u × v au lieu de ×(u, v).
On appellera axiomatique de l’arithmétique élémentaire. l’ensemble des 7 formules
de la figure 6, auquel on ajoute l’axiomatique de l’égalité. Il s’agit de la plus simple
des tentatives pour axiomatiser les entiers naturels. 6 La structure construite sur les
entiers naturels, dans laquelle tous ces symboles ont leur interprétation usuelle, est un
modèle de l’arithmétique élémentaire. Cette structure satisfait l’axiome de commutativité de l’adddition COM défini comme ∀x, y.x + y = y + x. COM est indépendant de
Ael : il n’est ni conséquence logique Ael , ni incompatible avec Ael , i.e. Ael 6|= Axcom
et Ael 6|= ¬COM. Pour le montrer, il suffit d’exhiber un modèle de Ael qui satisfait
Ael mais pas COM. La F-algèbre NC (vue comme une F, P structure en interprétant = comme l’égalité) définie à l’exemple 4.10 conviendrait presque : elle manque
seulement de satisfaire la dernière formule ∀x∃y.x 6= 0 ⇒ x = s(y).
Voici une autre structure. Soit S la structure de domaine N ∪ {ω1 , ω2 } définie en
posant, pour tout i ∈ {1, 2}, n, m ∈ N, x ∈ N ∪ {ω1 , ω2 } :
zéro 0S = 0N
successeur sS (ωi ) = ωi , sS (n) = n + 1
somme ωi +S x = ωi , n + ωi = ωi , et n +S m = n +N m
produit 0 ×S x = 0, et si x 6= 0, x ×S ωi = ωi , et si n 6= 0, ωi ×S n = ωi , et
enfin n ×S m = n ×N m.
égalité =S est l’égalité
Alors S satisfait Ael mais pas COM.
6. sans principe de récurrence
20
∀x.
0+x=x
∀x, y.
s(x) + y = s(x + y)
∀x.
0×x=0
∀x, y. s(x) × y = y + (x × y)
∀x.
s(x) 6= 0
∀x, y.
s(x) = s(y) ⇒ x = y
∀x.∃y.
x 6= 0 ⇒ x = s(y)
Figure 6 – Arithmétique élémentaire : Ael
Une particularité de ce modèle est qu’il fait appel à des éléments “non-atteignables” :
les éléments ω1 et ω2 ne sont pas des interprétations de termes clos. On pourra revenir
sur ce point plus tard...
21
5
Mise en forme clausale
On étend la notion de clause déjà vue pour le calcul propositionnel au calcul des
prédicats.
Définition 5.1 (Clause). Un littéral est une formule de la forme P (t1 , . . . tn ) ou sa
négation. Une clause est une formule close (sans variables libres) en forme prénexe,
universellement quantifiée, contenant une disjonction de littéraux, i.e. une formule de
la forme
∀x1 , . . . , xk . P1 (~t1 ) ∨ · · · ∨ Pl (~tl ) ∨ ¬P10 (~u1 ) ∨ · · · ∨ ¬Pm (~um )
(k, l, m ≥ 0).
On pourra omettre d’écrire les quantificateurs universels quand il est clair que l’on
fait référence à une clause. On veut établir le résultat suivant.
Théorème 5.2. Soit E un ensemble de formules closes. Il existe un ensemble E de
clauses, fini et calculable lorsque E est fini et explicite, tel que E et E sont équisatisfaisables : E est satisfaisable ssi E l’est.
Exemple 5.3. Considérons l’ensemble de formules

∃e.∀x.
x ∗ e = x ∧ e ∗ x = x,



∀x, y, z.
(x ∗ z) ∗ t = x ∗ (z ∗ t),
E=
∀x.∃y.∀z. (x ∗ y) ∗ z = z,



∃x.∀y.∃z. z ∗ (x ∗ y) 6= z
Alors E est satisfaisable ssi l’ensemble de clauses

∀x.
x ∗ = x,




∗ x = x,
 ∀x.
∀x, y, z. (x ∗ z) ∗ t = x ∗ (z ∗ t),
E=


∀x.∀z.
(x ∗ I(x)) ∗ z = z,



∀y.
f (y) ∗ (c ∗ y) 6= f (y)




.














est satisfaisable.
Dans l’exemple 5.3 ci-dessus, pour éliminer les quantificateurs existentiels, on a
introduit de nouveaux symboles de fonction , I, c, et f qui représentent les “fonctions
de choix” associées aux quantificateurs qui ont été éliminés. Ces fonctions de choix
dépendent des variables quantifiées universellement qui précèdent le quantificateur
existentiel éliminé. Ce procédé de transformation de formule est appellé skolémisation
en l’honneur du mathématicien norvégien Thoralf Skolem.
Le théorème 5.2 a de nombreuses conséquences, en particulier le théorème de
Lowenheim-Skolem descendant. 7
Afin de démontrer le théorème 5.2, on commence par démontrer de petits bouts
“faciles”, puis on se concentre sur la partie la plus techniquement compliquée, à savoir
la gestion des symboles de Skolem.
7. Ce théorème s’énonce ainsi : tout ensemble de F , P-formules satisfaisables, pour F , P dénombrables, admet un modèle dénombrable.
22
5.1
Forme normale négative, forme prénexe
Une formule ϕ est dite en forme normale négative si
1. les seules sous-formules de la forme ¬ψ sont des littéraux, i.e. ψ est atomique
2. les seuls connecteurs logique binaires sont ∨ et ∧ (pas de ⇒)
Lemme 5.4. Pour tout formule ϕ, il existe une formule nnf(ϕ) en forme normale
négative telle que |= ϕ ⇔ nnf(ϕ).
Démonstration. On remplace ϕ ⇒ ψ par ¬ϕ ∨ ψ,puis on réécrit la formule en repoussant les négations vers les feuilles selon les règles de De Morgan.
Une formule est dite en forme prénexe si elle est de la forme
Q1 x1 . . . Qn xn . ϕ
où Qi ∈ {∀, ∃} pour tout i = 1, . . . , n et ϕ est sans quantificateurs.
On considère les règles de transformation suivantes.
(Qx. ϕ) ∗ ψ
ψ ∗ (Qx. ϕ)
¬∃x. ϕ
¬∀x. ϕ
(∀x. ϕ) ⇒ ψ
(∃x. ϕ) ⇒ ψ
Qx. (ϕ ∗ ψ)
Qx. (ψ ∗ ϕ)
∀x. ¬ϕ
∃x. ¬ϕ
∃x. (ψ ⇒ ϕ)
∀x. (ψ ⇒ ϕ)
si x 6∈ fv(ψ), et ∗ ∈ {∧, ∨}
si x 6∈ fv(ψ), et ∗ ∈ {∧, ∨, ⇒}
si x 6∈ fv(ψ)
si x 6∈ fv(ψ)
Exemple 5.5. On peut appliquer ces transformations de deux façons différentes à la
formule ci-dessous.
∀x. B(x) → ∀x. B(x)
≡α
∀x. B(x) → ∀y. B(y)
∃x. B(x) → ∀y. B(y)
∀y.
∃x.∀y. B(x) → B(y)
∀x. B(x) → B(y)
∀y.∃x. B(x) → B(y)
Lemme 5.6 (Correction des règles). Si ϕ
ψ, alors |= ϕ ⇔ ψ.
Démonstration. Il suffit de prouver ce lemme lorsque la réécriture a lieu à la racine de
la formule. On raisonne par analyse de cas. Considérons la règle
(∃x. ϕ1 ) ∨ ϕ2
|
{z
}
∃x. (ϕ1 ∨ ϕ2 ) .
|
{z
}
=φ
=ψ
On veut montrer que pour tout S, σ, on a S, σ |= φ ssi S, σ |= ψ. Soit S, σ fixés.
23
— Supposons que S, σ |= ϕ. Alors S, σ |= ∃x. ϕ1 ou S, σ |= ϕ2 .
Si
S, σ |= ∃x. ϕ1
alors il existe a ∈ DS tel que S, σ[x 7→ a] |= ϕ1
donc il existe a ∈ DS tel que S, σ[x 7→ a] |= ϕ1 ∨ ϕ2
donc S, σ |= ∃x. (ϕ1 ∨ ϕ2 )
Si
S, σ |= ϕ2
alors il existe a ∈ DS .S, σ[x 7→ a] |= ϕ2
donc il existe a ∈ DS tel que S, σ[x 7→ a] |= ϕ1 ∨ ϕ2
donc S, σ |= ∃x. (ϕ1 ∨ ϕ2 )
(premier cas)
(par def. de |=)
(par def. de |=)
(par def. de |=)
(deuxième cas)
(DS 6= ∅)
(par def. de |=)
(par def. de |=)
Dans les deux cas, S, σ |= ψ.
— Supposons maintenant que S, σ |= ψ. Alors il existe a ∈ DS tel que S, σ[x 7→
a] |= ϕ1 ∨ ϕ2 (par def de |=).
Si
alors
donc
Si
alors
donc
S, σ[x 7→ a] |= ϕ1
S, σ |= ∃x. ϕ1
S, σ |= (∃x. ϕ1 ) ∨ ϕ2
S, σ[x 7→ a] |= ϕ2
S, σ |= ϕ2
S, σ |= (∃x. ϕ1 ) ∨ ϕ2
(premier cas)
(par def. de |=)
(par def. de |=)
(deuxième cas)
(x 6∈ fv(ϕ2 ))
(par def. de |=)
Dans les deux cas, S, σ |= ϕ.
Les autres règles se traitent de façon similaire, voire parfois plus simplement puisque
sans utiliser l’hypothèse que DS 6= ∅.
Soit la relation binaire ≡α
que ϕ ≡α ϕ0 et ϕ0
ψ.
, autrement dit définie par ϕ ψ si il existe ϕ0 tel
Lemme 5.7. est bien fondée.
Démonstration. Si ϕ = C[ψ], on définit qdepth(C) comme le nombre de connecteurs logiques au-dessus de ψ dans l’arbre syntaxique de ϕ qui ne sont pas des quantificateurs, autrement dit qdepth([.]) = 0, qdepth(Qx.C) = qdepth(C), et enfin
qdepth(¬C) = qdepth(C
∗ ϕ0 ) = qdepth(ϕ0 ∗ C) = qdepth(C) + 1. On pose
P
pour finir N (ϕ) = ϕ=C[Qx.ψ] qdepth(C). On vérifie aisément que si ϕ ϕ0 , alors
N (ϕ) > N (ϕ0 ).
Si ϕ est minimale pour , on vérifie aisément que ϕ est en forme prénexe. De ces
observations et du Lemme 5.6, on conclut le résultat suivant.
Proposition 5.8. Pour toute formule ϕ, on peut calculer une formule prenex(ϕ) en
forme prénexe telle que |= ϕ ⇔ prenex(ϕ).
5.2
Skolémisation
On se donne un ensemble de symboles de fonctions F et un ensemble de symboles
de prédicats P. Pour chaque F, P-formule ϕ et pour chaque variable x, on se donne
24
un nouveau symbole de fonction fϕ,x d’arité |fv(ϕ) \ {x}|. On note F l’ensemble de
symboles de fonction F augmenté de ces nouveaux symboles de fonction, autrement
dit
F = F ] {fϕ,x | ϕ est une F, P-formule, x ∈ X}.
Enfin, pour tout ϕ, x, on se fixe une énumération ~yϕ,x = (y1 , . . . , yn ) de fv(ϕ) \ {x}.
Définition 5.9 (skolémisation). Soit ϕ une F, P-formule. La forme skolémisée de ϕ,
notée Sk(ϕ), est la F, P-formule définie par récurrence sur la taille de ϕ comme suit.
Sk(P (t1 , . . . , tn ))
Sk(¬ϕ)
Sk(ϕ ∗ ψ)
Sk(∀x.ϕ)
Sk(∃x.ϕ)
= P (t1 , . . . , tn )
= ¬Sk(ϕ)
= Sk(ϕ) ∗ Sk(ψ)
= ∀x.Sk(ϕ)
= Sk(ϕ){x 7→ fϕ,x (~yϕ,x )}
(∗ ∈ {∨, ∧, →})
Notons que fv(Sk(ϕ)) = fv(ϕ) ; en particulier, si ϕ est une formule close, Sk(ϕ)
est aussi une formule close. Enfin, si ϕ est une F, P-formule, alors Sk(ϕ) est bien une
F, P-formule. 8
Exemple 5.10. Soit ϕ la formule ∃x∀y∃z. z ∗ (x ∗ y) 6= z vue à l’exemple 5.3. Alors
Sk(ϕ) = ∀y. f (c, y) ∗ (c ∗ y) 6= f (c, y). 9
Revenons à la preuve du théorème 5.2. Pour prouver le théorème, il nous faut
définir et étudier les deux foncteurs de structures suivants.
ajout des
fonctions de Skolem
S
0
S|F
S
restriction
F, P-structures
S0
F, P-structures
Commençons par le plus gros morceau, l’ajout des fonctions de Skolem, et gardons
les petites subtilités de l’autre foncteur pour la fin. Soit S une F, P-structure. On veut
construire à partir de S une F, P-structure S. Pour être tout à fait constructif, on a
besoin de se donner pour tout sous-ensemble non vide U de DS un élément aU de U
– ce que l’on fera en invoquant “l’axiome du choix”. De plus, comme DS 6= ∅, on peut
se donner un élément de DS que l’on notera a∅ .
On commence par prendre pour domaine de S celui de S, i.e. DS = DS ; de même,
on interprète dans S tout symbole de fonction de F de la même façon que dans S,
8. Ce ne serait pas le cas si on posait par exemple Sk(∃x.ϕ) = Sk(ϕ{x 7→ fϕ,x (~
yϕ,x )}).
9. Ce n’est pas tout à fait la formule donnée dans l’exemple 5.3, mais on peut s’y ramener si on le
souhaite en “propageant les constantes”.
25
i.e fS = fS pour tout f ∈ F. Pour finir de définir S, il nous reste à construire une
interprétation du symbole de fonction fϕ,x pour toute F, P-formule ϕ et pour toute
variables x. Fixons ϕ, x, et soit n = |~yϕ,x | l’arité du symbole de Skolem fϕ,x . Pour
tout ~a ∈ DSn , soit
U (~a) = {b ∈ DS | S, {x 7→ b, ~yϕ,x 7→ ~a} |= ϕ}.
On définit l’interprétation fS du symbole f = fϕ,x comme suit :
aU (a1 ,...,an ) si U (a1 , . . . , an ) 6= ∅
fS (a1 , . . . , an ) =
a∅
sinon.
Lemme 5.11. Soit S une F, P-structure. Pour toute F, P-formule ϕ et pour toute
affectation σ telle que dom(σ) ⊇ fv(ϕ),
S, σ |= ϕ
S, σ |= Sk(ϕ).
ssi
Démonstration. On raisonne par induction sur ϕ. Si ϕ est une formule atomique, c’est
trivial. Si ϕ commence par un connecteur ¬, ∨, ∧, →, c’est aussi trivial (pour la négation, noter que l’on montre une équivalence). Reste le cas des quantificateurs : le cas
du ∀ est aussi trivial, mais ne fera pas de mal d’être détaillé pour s’en persuader, et le
cas du ∃ utilise tout ce que l’on vient de définir.
— Supposons ϕ = ∀x.ϕ0 . Alors
S, σ |= ϕ
ssi pour tout a dans DS , S, σ[x 7→ a] |= ϕ0
ssi pour tout a dans DS , S, σ[x 7→ a] |= Sk(ϕ0 )
ssi S, σ |= ∀x.Sk(ϕ0 )
ssi S, σ |= Sk(ϕ)
par def. de |=
par induction
par def. de |=
par def. de Sk(.)
— Supposons ϕ = ∃x.ϕ0 .
ssi
ssi
ssi
ssi
ssi
ssi
ssi
S, σ |= ϕ
il existe b dans DS t.q. S, σ[x 7→ b] |= ϕ0
U (a1 , . . . , an ) 6= ∅
fS (a1 , . . . , ak ) ∈ U (a1 , . . . , ak )
S, σ[x 7→ fS (a1 , . . . , ak )] |= ϕ0
S, σ[x 7→ fS (a1, . . . , ak )] |= Sk(ϕ0 )
S, σ |= Sk(ϕ0 ) {x 7→ f (y1 , . . . , yn )}
S, σ |= Sk(ϕ)
par def. de |=
par def. de U (.)
par def. de fS (.)
par def. de U (.)
par induction
par le lemme 4.20
par def de Sk(.)
On s’intéresse maintenant au foncteur de restriction. Si S 0 est une F, P-structure,
0
on définit sans surprise S|F
comme la F, P-structure de domaine DS 0 dans laquelle
on interprète les symboles de fonction de F de la même façon que dans S 0 . Autrement
0
dit, S 00 = S|F
est telle que fS 00 = fS 0 .
26
Lemme 5.12. Soit S 0 une F, P-structure. Pour toute F, P-formule ϕ en forme normale de négation, et pour toute affectation σ telle que dom(σ) ⊇ fv(ϕ),
si
S 0 , σ |= ϕ
alors
0
, σ |= Sk(ϕ).
S|F
Démonstration. On raisonne par induction sur ϕ. A nouveau le seul cas intéressant
est celui du ∃, mais on détaillera aussi celui du ∀ pour s’en convaincre. Soit ϕ fixée, et
supposons S 0 , σ |= ϕ.
— Si ϕ = ∀x.ϕ0 , alors
S 0 , σ |= ∀x.Sk(ϕ0 )
donc pour tout a ∈ DS 0 , S 0 , σ[x 7→ a] |= Sk(ϕ0 )
0
donc pour tout a ∈ DS 0 , S|F
, σ[x 7→ a] |= ϕ0
0
0
donc S|F , σ |= ∀x.ϕ
par def. de Sk(.)
par def. de |=
par hyp. de réc.
par def de |=
— Si ϕ = ∃x.ϕ0 , et si f = fϕ0 ,x,~y , alors
donc
donc
donc
S 0 , σ |= Sk(ϕ0 ){x 7→ f (~yϕ,x )}
S 0 , σ[x 7→ fS 0 (~yϕ,x σ)] |= Sk(ϕ0 )
0
S|F
, σ[x 7→ fS 0 (~yϕ,x σ)] |= ϕ0
0
S|F , σ |= ∃x.ϕ0
par def. de Sk(.)
par le lemme 4.20
par hyp. de réc.
par def de |=
Proposition 5.13. Soit S ⊆ CP1 (F, P) un ensemble de formules closes en forme
normale de négation. Alors S est satisfaisable ssi SK(S) est satisfaisable.
Démonstration. Si S |= S, alors S |= Sk(S). Réciproquement, si T |= Sk(S), alors
T|F |= S.
Attention, on notera bien que S et Sk(S) ne sont pas logiquement équivalents,
mais équisatisfaisables.
5.3
Preuve du théorème 5.2
Lemme 5.14. Soit ϕ une formule closes en forme prénexe universellement quantifiées. Alors il existe un ensemble fini de clauses Cϕ tels que ϕ |= Cϕ et Cϕ |= ϕ.
Démonstration. ϕ = ∀x1 . . . ∀xn ψ où ψ est sans quantificateur. En appliquant les
règles de mise en forme clausale du calcul propositionnel, on construit ψ 0 équivalente
à ψ et de la forme
^ _
`i,j
i∈I j∈Ji
où les `i,j sont des littéraux. Alors Cϕ = {∀x1 . . . ∀xn .
W
j∈Ji `i,j
| i ∈ I} convient.
On peut maintenant prouver le théorème 5.2.
Démonstration. Soit S un ensemble de formules closes. On pose S = {Cϕ | ϕ =
prenex(Sk(nnf(ψ))), ψ ∈ E}. Alors E est E sont équisatisfaisables.
27
6
Conséquences de la Skolémisation
6.1
Théorème de Herbrand
On suppose dans ce qui a trait au théorème de Herbrand un ensemble de symboles
de fonction F qui contient au moins un symbole de constante,
Un modèle de Herbrand est une F,P-structure dont la F algèbre sous-jacente est
T (F), i.e. la F-algèbre des termes clos. Il y a autant de structures de Herbrand qu’il y
a d’interprétations possibles des symboles de relation P ∈ P. On peut donc identifier
une structure de Herbrand H à une partie H ⊆ AtomesClos(F, P), en posant RH =
{(t1 , . . . , tn ) ∈ T (F) | R(t1 , . . . , tn ) ∈ H}. On appelera parfois AtomesClos(F, P)
la base de Herbrand.
Exemple 6.1. Soit F = {z : 0, s : 1} et P = {E : 2}. Alors T (F) = {sn (z)} est
isomorphe aux entiers. Un modèle de Herbrand est donc (à un isomorphisme près)
une relation binaire sur les entiers. Soit H le modèle de Herbrand défini par H =
{E(sn (z), sn (z) | n ≥ 0}. Alors H est une structure isomorphe aux entiers avec
l’égalité.
On dira qu’une formule est universellement quantifiée si elle ne contient que des
quantificateurs universels et si elle est en forme normale négative 10 .
Théorème 6.2 (Herbrand). Soit S un ensemble de formules closes universellement
quantifiées. Alors S est satisfaisable ssi S a un modèle de Herbrand
Exemple 6.3. Le théorème n’est pas vrai si les formules contiennent des quantificateurs existentiels. Par exemple, prenons F = {c : 0} et P = {E : 2}. Il y a
deux modèles de Herbrand seulement : H1 = ∅ et H2 = {E(c, c)}. Alors H1 6|=
E(c, c), et par ailleurs H2 6|= ∃x.¬E(x, c) puisque dom(H2 ) = {c}. Donc S =
{E(c, c), ∃x.¬E(x, c)} n’a pas de modèle de Herbrand. Pourtant, S est satisfaisable.
Démonstration. Si S a un modèle de Herbrand H, S est satisfaisable puisque H |=
S. Réciproquement, supposons que S est satisfaisable, et construisons un modèle de
Herbrand H à partir d’une F,P-structure M telle que M |= S. On pose
H = {P (t1 , . . . , tn ) ∈ AtomesClos(F, P) | M |= P (t1 , . . . , tn )}.
Montrons que pour toute formule universellement quantifiée en forme normale négative ϕ, pour toute H-affectation σ : X → T (F),
si
M |= ϕσ
H, σ |= ϕ
alors
(P )
On procède par récurrence sur ϕ.
— ϕ = P (t1 , . . . , tn ) ou ϕ = ¬P (t1 , . . . , tn ) avec t1 , . . . , tn ∈ T (F, X ). On a
ssi
ssi
M |= P (t1 σ, . . . , tn σ)
(t1 σ, . . . , tn σ) ∈ PH
par def. de PH
H, σ |= P (t1 , . . . , tn ) par def. de |=
10. on pourrait aussi définir cette notion pour une formule en forme prénexe à la place d’une formule
en forme normale négative
28
— connecteurs logiques ∨, ∧ : immédiat par hypothèse de récurrence.
— ϕ = ∀x.ψ, avec x 6∈ dom(σ) ∪ im(σ)
M |= (∀x.ψ)σ = ∀x.(ψσ)
ssi
pour tout a ∈ dom(M), M, {x 7→ a} |= ψσ
entraine pour tout t ∈ T (F), M{x 7→ JtKM } |= ψσ
ssi
pour tout t ∈ T (F).M, |= (ψσ){x 7→ t}
entraine pour tout t ∈ T (F), H, {x 7→ t} |= ψσ
ssi
H |= ∀x.(ψσ) = (∀x.ψ)σ
par le lemme 4.20
par rec.
par def de |=
Montrons maintenant que H |= S. Soit ϕ ∈ S. Alors M |= ϕ puisque M |= S,
donc H |= ϕ par la propriété (P ) que l’on vient de montrer. Comme c’est vrai pour
tout ϕ ∈ S, H |= S.
6.2
Théorème de Löwenheim-Skolem descendant
On rappelle qu’un ensemble est dénombrable si il est fini ou en bijection avec N.
Théorème 6.4. Soient F, P des ensembles dénombrables de symboles de fonctions
et relations, et soit S un ensemble de F,P formules closes. Alors S est satisfaisable
ssi S admet un modèle dénombrable.
Démonstration. C’est essentiellement une conséquence du théorème de Herbrand et
de la Skolémisation. On peut supposer sans perte de généralité que S ne contient
que des formules en forme normale négative. Alors Sk(S) ne contient que des formules universellement quantifiées, et est satisfaisable puisque S est satisfaisable. Il
admet donc un modèle de Herbrand H. Par le lemme 5.12, H|F est un modèle de S.
Le domaine de H et HF est l’ensemble T (F) des termes clos construits à partir des
symboles de fonctions originaux et des symboles de Skolem. Comme F et P sont dénombrables, l’ensemble des F, P formules est dénombrable, donc F est dénombrable,
donc H|F est dénombrable.
6.3
Théorème de compacité
Soit S un ensemble de F, P-formules prénexes universellement quantifiées. On
note H(S) =
{ϕ{x1 7→ t1 , . . . , xn 7→ tn } | ∀x1 , . . . , xn .ϕ ∈ S, ϕ sans quant., t1 , . . . , tn ∈ T (F)}
l’ensemble des instances de Herbrand de S. Posons P 0 = AtomesClos(F, P)). Alors
H(S) ⊆ F0 (P 0 ), est un ensemble de formules du calcul propositionnel où l’on prend
pour “variables propositionnelles” les atomes clos de la logique du premier ordre. Une
interprétation I ⊆ P 0 de ces “variables propositionnelles” correspond à un modèle
de Herbrand HI , et réciproquement tout modèle de Herbrand H peut être vu comme
une interprétation IH de ces variables propositionnelles. Enfin, pour tout modèle de
Herbrand H, H |= S ssi IH |= H(S). En particulier, par le théorème de Herbrand,
S ⊆ CP1 (F, P) est satisfaisable ssi H(S) ⊆ F0 (P 0 ) est satisfaisable.
29
Théorème 6.5 (Compacité). Un ensemble de formules du premier ordre est satisfaisable ssi chacun de ses sous-ensembles finis est satisfaisable.
Démonstration. Soit S est un ensemble de formules non satisfaisables, et montrons
qu’il existe un sous-ensemble fini S 0 ⊆ S non satisfaisable. On peut supposer sans
perte de généralité que S ne contient que des formules en forme normale négative et
prénexe.
— Par le lemme 5.12, Sk(S) n’est pas satisfaisable, donc H(Sk(S)) n’est pas satisfaisable.
— Par le théorème de compacité du calcul propositionnel, il existe F ⊆ H(Sk(S))
fini et non satisfaisable.
— Soit F 0 ⊆ Sk(S) défini comme F 0 = {∀x1 . . . xn ϕ | ϕσ ∈ F }. Alors H(F 0 ) ⊇
F et F 0 est fini. Comme F ⊆ H(F 0 ) et F est insatisfaisable, H(F 0 ) est insatisfaisable, donc F 0 est insatisfaisable.
— Enfin, comme F 0 ⊆ Sk(S), il existe un ensemble fini S 0 ⊆ S tel que F 0 =
Sk(S 0 ). Par le lemme 5.11, S 0 n’est pas satisfaisable.
7
Entscheidungsproblem
Théorème 7.1. L’ensemble des F, P formules valides n’est pas récursif.
Autrement dit, il n’existe pas de fonction calculable totale qui renvoie vrai si la
formule passée en argument est valide, et faux sinon.
Démonstration. On réduit
, . . . , un , vn ∈
n le problème de Post. Soit n ≥ 1 et u1 , v1o
∗
{a, b} . On note R̂ = (ui1 · · · ui` , vi1 · · · vi` ) | i1 , . . . , i` ∈ {1, . . . n} Une solution
du problème est un w ∈ {a, b}+ tel que (w, w) ∈ R̂. On pose
— F = { : 0, a : 1, b : 1}
— P = {R : 2}
— ϕ=


R(, )
n
R(a(x), a(x))


^
⇒ ∃x.
.
 ∧ ∀x, y.R(x, y) ⇒

R(ui (x), vi (y))
∨ R(b(x), b(x))
i=1
où l’on note w(x) le terme a1 (. . . an (x) . . . ) si w = a1 . . . an ∈ {a, b}∗ .
Montrons que ϕ est valide ssi le problème a une solution.
(⇒) Supposons ϕ valide. On pose S de domaine {a, b}∗ avec S = V
, aS (w) =
n
aw, bS (w) = bw, et RS = R̂. Alors S |= R(, )∧∀x, y.R(x, y) ⇒ i=1 R(ui (x), vi (y)),
et comme ϕ est valide, S |= ∃x.R(a(x), a(x)) ∨ R(b(x), b(x)). Un mot témoin
pour x est une solution de Post.
(⇐) Suppsons qu’il existe une solution (w, w) ∈ R̂. Soit S une structure.
MonVn
trons que S |= ϕ. Supposons que S |= R(, )∧∀x, y.R(x, y) ⇒ i=1 R(ui (x), vi (y)).
Alors RS ⊇ R̂. Donc (w, w) ∈ RS , donc S |= ∃x.R(a(x), a(x))∨R(b(x), b(x)).
30
Téléchargement