Vous êtes sur la page 1sur 60

Notes de Cours :

LOGIQUE MATHMATIQUE

Par

Pr. Mohamed MEZGHICHE


Table des matires

partie 1. LOGIQUE 5

Chapitre 1. Rappels mathmatiques 7

1. Les entiers naturels 7

2. Dmonstration par contraposition 9

3. Dmonstration par contradition 9

Chapitre 2. Calcul propositionnel 11

1. Prliminaires 11

2. Syntaxe de la logique propositionnelle 14

3. Smantique de la logique propositionnelle 14

4. Thorme de remplacement 15

5. Forme normale conjonctive d'un nonc 17

6. Ensemble complet de connecteurs 19

7. Exercices. 21

Chapitre 3. CALCUL PROPOSITIONNEL FORMEL 23

1. Systme dductif pour le calcul propositionnel 23

2. Adquation et compltude du CPF. 28

3. Mthode de Davis Putnam pour le calcul propositionnel. 31

4. Calcul des Squents 33

5. Exercices. 35

Chapitre 4. Calcul des Prdicalts du premier ordre. 37

1. Langage du calcul des prdicats. 37

2. Notion de variables libres et de variables lies 38

3. Interprtation 39

4. Satisfaction, Valeurs de vrit 39

5. Exercices. 41

6. Calcul des prdicats formalis 42

7. Forme normale prnexe d'une formule 49

8. Exercices 50

3
4 TABLE DES MATIRES

9. Solmisation, Rsolution 51

10. Exercices 59
Premire partie
LOGIQUE
CHAPITRE 1

Rappels mathmatiques

1. Les entiers naturels

Souvent on crit l'ensemble des entiers naturels {1, 2, 3 . . . , } en utilisant les trois

points (. . .) pour exprimer que l'ensemble des entiers est un ensemble qui possde

une innit d'lments. Cette dnition est intuitive et facilement accepte. Mais elle

ne sut pas pour utiliser le concept de nombres entiers dans plusieurs domaines des

mathmatiques. Ceci revient au fait d'crire trois points (. . .), pour exprimer la notion
d'inni, qui n'est pas, en soit, un concept mathmatique.

Il est donc ncessaire de donner une dnition des entiers naturels adapte de

nombreuses applications en mathmatiques et aussi en logique.

Dans la nouvelle dnition des entiers on prend chaque entier comme un objet

mathmatique construit partir de l'entier 0 (zero) et l'application S dite fonction

successeur : (n N )S : n n + 1. Ainsi on peut construire tous les entiers naturels

comme suit :

1 = S(0), 2 = S(1), 3 = S(2), . . . , n + 1 = f (n), . . .


Cette manire de construire les entiers naturels amne proposer une nouvelle

dnition des entiers naturels

Dfinition 1.1. (1) 0 est un entier naturel


(2) Si n est un entier naturel alors S(n) = (n + 1) est un entier naturel.
(3) L'ensemble des entiers naturels est dni par les clauses (1) et (2).

Cette dnition est un exemple de dnition par induction. La clause (1) est

appele rgle de base, la clause (2) qui permet de construire un nouveau lment est

appele rgle de gnration. La dernire clause est appele rgle de fermeture, elle

signie que la dnition des entiers est dtermine par les clauses (1) et (2).

1.1. Induction mathmatique. Le principe d'induction mathmatique est trs


utilis pour dmontrer des proptits sur les ensembles des entiers ou sur tout autre

ensemble dont les lments sont des objets mathamtiques et qui est isomorphe

un sous ensemble de l'ensemble des entiers naturels. Il serait trs utile de rappeler

de faon simple le principe d'induction. Supposons que l'on souhaite dmontrer une

7
8 1. RAPPELS MATHMATIQUES

proprit P (n) pour tout n N. Pour utiliser le principe d'induction dans notre

dmonstration nous devons suivre les tapes suivantes :

(1) Montrer que la proprit P (n) est vrie pour n = 0.


(2) Montrer que P (n + 1) est vrie si l'on admet que P (n) est vrie.

(3) On dclare que (n N )P (n) est dmontre si nous avons montr les tapes
1) et 2).

Accepter le principe de l'induction mathmatique, trs utilis en mathmatique,

devient immdiat si on prend en considration la dnition inductive des entiers na-

turels. Soulignons que le principe d'induction n'est pas seulement utilis pour d-

montrer des proprits des entiers naturels mais concerne aussi les prorits sur des

ensembles dnombrables. Le principe d'induction est aussi trs utilis dans les preuves

des proprits et thormes en logique o souvent les dnitions sont donnes sous la

forme de dnition inductive. Gnralement la preuve par induction d'une propit

P (n) sur un ensemble dnombrable E est constitue de trois tapes :

(1) Montrer que le plus petit lment de E, soit n0 vrie la proprit P. Ceci

signie que P (n0 ) est vrie. P (n0 ) est la base d'induction.

(2) On suppose que P (n) est vrie, c'est l'hypothse d'induction.

(3) A partir de l'hypothse d'induction on montre que P (n+1) est vrie. Dans
le cas o cela est montr on peut dire que : (n E)P (n) est vrie.

On trouve souvent dans certaines dmonstrations mathmatiques l'utilisation du

principe d'induction sous une autre forme lgrement dirente de celle dcrite ci-

dessus. L'hypthse d'induction est donne sous la forme P (m) est vrie pout tout

(m < n). Il est facile de voir que c'est une gnralisation du principe d'induction

dcrit plus haut.

Exemple 1.1. Montrer par induction que la somme des entiers 1, 3, 5, . . . , 2n 1


est gale n2 .
Tout d'abord on peut recrire cette question sous une forme qui correspond la
dnition du principe d'induction. Soit P (n) = 1 + 2 + . . . + 2n 1 = n2 . Le domaine
de dnition de P est E = {1, 3, 5, . . . , 2n 1, . . .}. Appliquer le principe d'induction
pour montrer cette proprit nous amne :
(1) S'assurer que la base d'induction est vrie, cest dire que P (1) est vraie.
Ceci donne P (1) = 1 = 12 .
(2) Supposer que P (n) est vraie. Ceci sgnie que P (n) = 1+3+5+. . .+2n1 =
n2 .
3. DMONSTRATION PAR CONTRADITION 9

(3) Montrer que P (n + 1) = 1 + 3 + 5 + . . . + 2n + 1 = (n + 1)2 .


Pour dmontrer ce rsultat on part de l'hypothse P (n) = 1 + 3 + 5 + . . . + 2n 1 =
n2 , on ajoute aux deux membres cette galit, le nombre 2n + 1. Ceci donne :
1 + 3 + 5 + . . . + 2n 1 + 2n + 1 = n2 + 2n + 1
On obtient :
1 + 3 + 5 + . . . + 2n 1 + 2n + 1 = n2 + 2n + 1 = (n + 1)2 .
et donc :
P (n + 1) = (n + 1)2 .

2. Dmonstration par contraposition

La dmonstration par contraposition est base sur le principe suivant :

Dmontrer que la ngation d'une proposition est fausse prouve que cette propo-

sition est vraie. Nous verrons dans le reste de ce cours la justication de ce principe.

Nous allons maintenant, l'aide d'un exemple, montrer son utilisation dans la dduc-

tion mathmatique.

Supposons que que l'on pose cette question : l'ensemble des entiers naturels pre-

miers est-il ni ? Les entiers premiers sont les entiers dont l'ensemble des diviseurs se

rduit 1 et l'entier lui mme. Les entiers 2, 3, 7, 11, 13, . . . sont des premiers.

Pour rpondre cette question nous allons appliquer le raisonnement par con-

traposition. Partant de notre intuition que l'ensemble des entiers premiers est un

ensemble inni, on supposera que cet ensemble est ni et on dmontrera que cette

hypothse est fausse.

Si notre hypothse tait vraie alors l'ensemble des entiers premiers s'crirait :

{2, 3, 7, 11, 13, 17, . . . , p}.


Ici p est le plus grand entiers premiers.

Q = (2 3 7 11 13 17 . . . p) + 1. Q est plus grand que p et par hypothse


Soit

Q n'est pas premier puisque p est le plus grand entier premier. Mais observons que
le reste de la division de Q par tout entier premier est gal 1. Alors Q est premier.

Ceci Nouscontredit l'hypothse qui dit que l'ensemble des entiers premiers est ni.

3. Dmonstration par contradition

Le principe du raisonnement par contradition est bas sur le principe suivant :

Si nous arrivons dduire une contradiction en partant d'une hypothse donne

alors nous concluons que cette hypothse est fausse. Plus loin, nous prsenterons la

justication d'un tel principe. Donnons un exemple d'application de ce principe pour

montrer son utilisation dans les preuves mathmatiques. Problme : Trouver l'ensem-

ble des nombres entiers crits l'aide des chires 0, 1, . . . , 9 en utilisant une seule fois
10 1. RAPPELS MATHMATIQUES

chacun de ces chires et dont la somme est gale 100. Une premire tentative nous

permet de donner l'ensemble {4, 5, 6, 730, 28, 19}. Cet ensemble possde la seconde
condition mais pas la premire puisque 4 + 5 + 6 + 7 + 30 + 28 + 19 = 99. Une deuxime

tentative nous amne constater que l'ensemble des nombres {4, 5, 6, 7, 31, 28, 19}

vrie la premire condition puisque 4 + 5 + 6 + 7 + 31 + 28 + 19 = 100 ; mais ne vrie

pas la deuxime condition. Le chire 1 apparait dans 19 et 31.

Aprs d'autres tentatives infructieuses, le lecteur se convaint facilement qu'il n'ex-

iste aucun ensemble de nombres vriant les conditions de ce problme. Alors, on se

trouve devant la situation de croire qu'un tel ensemble n'existe pas. Cette ide sur

la solution du problme est dicte par l'exprience et l'intuition dveloppes aprs

plusieurs essais.

Pour justier cette nouvelle ide qu'aucune solution ne vrie les conditions du

problme, on supposera qu'une telle solution existe et on dduira une contradition.

Supposons que la somme de certains nombres, vriant les conditions du problme, est

gale 100. Ces nombres constituent dix (10) formes direntes puisque 0, 1, 2, 3, . . . , 9
sont utliss une seule fois pour crire ces nombres. Nous avons :

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45
Chacune de ces formes reprsente, dans notre ensemble de nombres, solution du

problme, soit une dizaine ou soit une unit. Considrons que T est la somme des

formes reprsentant les dizaines. La somme des formes restantes est 45 T .


La somme des nombres, solution du problme, est donc 10T + (45 T ) = 100.
Ceci donne T = 55/9. T n'est donc pas un entier naturel et ceci est contradictoire

avec le fait que T est la somme de nombres entiers. Ceci contredit l'hypothse qu'il

existe une suite de nombres vriant les conditions poses plus haut, c'est dire, dont

la somme est gale 100.


CHAPITRE 2

Calcul propositionnel

1. Prliminaires

Dans la logique propositionnelle, on trouve des noncs simples dits atomes ou

variables propositionnelles. On trouve aussi des noncs composs complexes constru-

its partir des atomes ou des variables propositionnelles en utilisant des connecteurs.

Par exemple pour construire l'nonc mathmatique :

(1) (x > 2) et (x2 1/2 1).


Nous avons utilis le connecteur et pour relir les deux plus simples noncs
x > 2" et  x2 1/2 1.". De mme l'nonc P Q est form l'aide des deux

noncs plus simples P , Q et du connecteur  .

Ils existent plusieurs autres connecteurs utiliss frquement :quivaut, ou et le

non.

Donnons maintenant la notation symbolique et la dnition des dirents con-

necteurs les plus utiliss.

Connecteur Forme symbolique

non A A
A et B A B

A ou B A B

A implique B A B

A quivalent B A B

A et B dnotent des noncs quelconques .

Avant de donner la dnition et pour mieux expliciter le sens de certains con-

necteurs, considrons les exemples suivants :

(1) Si la terre est plate alors Alger est une ville propre.

(2) Alger est une ville propre.

(3) La terre n'est pas plate.

Si nous convenons de noter par A et B l'nonc  La terre est plate" et l'nonc


 Alger est une ville calme" respectivement ; la formule A B dnotera l'nonc  Si

11
12 2. CALCUL PROPOSITIONNEL

la terre est plate alors Alger est une ville propre . L'nonc  La terre
n'est pas plate" se notera A.
1.1. Les connecteurs , , et . Explicitons maintenant les dnitions de

ces dirents connecteurs :

(): Ngation.
La ngation d'un nonc A est note A et elle est dnie par : Si l'nonc
A est vrai alors la ngation de l'nonc A est fausse et si l'nonc A est

faux alors l'nonc A est vrai. Ceci est rendu plus comprhensible grce au

tableau :

A A
V F

F V

Exemple 1.1. L'nonc la terre est plate" est la ngation de l'nonc
"la terre est sphrique". l'nonc  x = 2 est la ngation de l'nonc  x = 0.

(): Conjonction.
La conjonction de deux noncs A, B est note symboliquement par A
B. Le connecteur de conjonction et" not par le symbole est dni par la

table suivante :

A B AB

F F F

F V F

V F F

V V V

Ceci signie que, l'nonc A B est vrai, que dans le cas o les deux

noncs A et B sont vrais. L'nonc A B est faux dans tous les autres cas.

(): Disjonction.
La disjonction de deux noncs A, B est note A B ; ceci se traduit

dans le langage naturel par la phrase l'nonc A est vrai ou bien l'nonc B

est vrai.

Habituellement dans le langage parl le connecteur ou bien " est entendu

dans le sens exclusif, c'est dire nous ne pouvons pas avoir les deux noncs

A, B vrais simultanment. Un tel connecteur ou" est dit exclusif. Ce que


1. PRLIMINAIRES 13

nous considrerons dans toute la suite sera le connecteur ou" dit inclusif qui

signie que l'nonc A ou B" exprime que nous avons soit l'nonc A vrai,

soit l'nonc B vrai, soit l'nonc A et l'nonc B sont vrais. La dnition

du connecteur est donne par la table suivante :

A B A B

F F F

F V V

V F V

V V V

(): Implication.
Le connecteur appel le connecteur d'implication est souvent le seul

qui pose quelques dicults pour son utilisation. L'attribution d'une valeur

de vrit certains noncs de la forme : A B, dans certains cas, met

en dfaut notre bon sens". L'exemple suivant nous donne une ide sur ce

problme : Soit l'nonc A la terre est plate" et l'nonc B les enseignants

sont milliardaires" . L'nonc A B exprimera : Si la terre est plate alors les
enseignants sont milliardaires. Le bon sens acceptera dicilement qu'un tel

nonc est vrai. La dicult vient certainement du fait que dans le langage

naturel nous ne rencontrons pas de tels type d'noncs, mais il est frquent de

les trouver dans les langages articiels ( le langage mathmatique, langage de

programmation ...). Ces dicults sont cartes en dnissant le connecteur

d'implication par la table suivante :

A B AB

F F V

F V V

V F F

V V V

Remarquons que le seul cas o l'nonc A B est faux est lorsque l'nonc
A est vrai et l'nonc B est faux. Ce qui traduit qu'un nonc vrai ne peut

pas impliquer un nonc faux.

(): Equivalence.
Le connecteur d'quivalence liant deux noncs A et B peut tre dni
par : A est vrai si B est vrai et B est vrai si A est vrai. La table suivante

donne la dnition du connecteur .


14 2. CALCUL PROPOSITIONNEL

A B AB

F F V

F V F

V F F

V V V

2. Syntaxe de la logique propositionnelle

Les formules propositionnelles sont les noncs considrs comme correctement

crits dans le langage de la logique propositionnelle. La dnition des formules propo-

sitionnelles est donne d'une manire inductive par la dnition suivante :

Dfinition 2.1. (1)Les variables propositionnelles p, q, u, v, ... sont des


formules propositionnelles
(2) Si A est une forme propositionnelle alors A est une formule propositionnelle
(3) Si A, B sont des formules propositionnelles alors ( A B), (A B) et
(A B ) sont des formules propositionnelles.
(4) Les formules propositionnelles sont dnies par les clauses 1), 2) et 3).
Exemple 2.1. ((p q) ((p q))) est une formule propositionnelle partir
du fait que les variables p et q sont des variables propositionnelles. On dduit par les
clauses 1) et 2) que p q et (p q) sont des formules propositionnelles et nalement
((p q) ((p q))) est une formule propositionnelle par la clause 3).

3. Smantique de la logique propositionnelle

Nous nous intrressons maintenant aux formules propositionnelles qui ont toujours

la valeur de vrit vrai cause de leur structure syntaxique sans aucune rfrence au

sens des variables propositionnelles.

Dfinition 3.1. Une valuation Boolenne est une application v de l'ensemble des
formules propositionnelles vers l'ensemble {V,F} vriant les conditions :
(1) v(X) = v(X)
(2) v(XY ) = v(X)v(Y ) ; v(XY ) = v(X)v(Y ) ; v(X Y ) = v(X) v(Y ).

Exemple 3.1. Considrons la valuation Boolenne v telle que v(p) = V et v(q) =

F . La formule propositionnelle (( p) q) a pour valuation Boolenne :


v((p) q) v(p) v(q)
v(p) v(q)
.
(V ) F
F F = F
4. THORME DE REMPLACEMENT 15

Notation : A partir de maintenant nous adopterons la convention suivante : Noter


F (faux) par 0 et V (vrai ) par 1.

Dfinition 3.2. (1)Une formule propositionnelle est une tautologie si elle


prend une valeur de vrit 1 (vraie) pour toutes les valeurs prises par les
variables contenues dans cette formule propositionnelle.
(2) Une formule propositionnelle est une contradiction si elle prend une valeur 0
(Fausse) pour toutes les valeurs prises par les variables contenues dans cette
formule propositionnelle.

Exemple 3.2. (a a) est une tautologie. (a a) est une contradiction. (a


(b a)) est une tautologie.

Il est ais de voir qu'une formule propositionnelle est une tautologie ou une con-

tradiction ; il sut de construire la table de vrit correspondante.

Dfinition 3.3. Si A et B sont des formules propositionnelles, on dira que A


implique logiquement B si (A B) est une tautologie et on dira que, A est logiquement
quivalent B si A B est une tautologie.

Exemple 3.3. p q implique logiquement p. (p q) est logiquement quivalant


( p q). On peut vrier facilement que le connecteur d'quivalence peut tre
dni par :
A B (A B) (B A).

4. Thorme de remplacement

Nous pouvons voir l'aide des tables de vrit que l'nonc (p p) est une tau-
tologie. Si nous substituons la formule propositionnelle ((r s) t) la variable

propositionnelle p, nous obtenons ((r s) t) ((r s) t) qui est aussi une tau-

tologie. Il revient dire que si nous remplaons toutes les occurrences d'une variable

propositionnelle dans une tautologie par une formule propositionnelle quelconque ; la

formule propositionnelle obtenue est aussi une tautologie. Ce rsultat est donn par

le thorme suivant :

Thorme 4.1. Soit A une formule propositionnelle contenant les variables p1 ,


p2 , ..., pn et soient A1 , A2 , ..., An des formules propositionnelles quelconques. Si
A est une tautologie alors la formule propositionnelle B obtenue en remplaant dans
A les occurrences des variables pi (i n) par les Ai respectivement, est aussi une
tautologie.
16 2. CALCUL PROPOSITIONNEL

Dmonstration. Soient A une tautologie et p1 , p2 ,..., pn des variables propo-

sitionnelles contenues dans A et A1 , A2 ,..., An des formules propositionnelles. Soit B

la formule obtenue en substituant dans A les formules Ai (1 i n) respectivement

aux variables propositionnelles pi . Quelque soit la valeur de vrit prise par A1 , A2 ,

..., An , B prend la mme valeur de vrit que A quand ces mmes valeurs de vrits

des Ai (1 in ) sont prises respectivement par p1 , p2 , ..., pn . Donc B est aussi

une tautologie. 

Exemple 4.1. Soit A la formule propositionnelle (a ((b c) a). On peut

vrier facilement que A est une tautologie. Soit B la formule propositionnelle obtenue
en remplaant dans A les variables b et c par les deux formules propositionnelles
A1 (x y) et
A2 (y x).
B [A1 /b] [A2 /c]A (a (((x y) (y x)) a)
B est aussi une tautologie.

Proposition 4.1. Soit A une formule propositionnelle contenant seulement les


connecteurs , , et . Soit A* la formule propositionnelle obtenue en interchangeant
les connecteurs et et en remplaant chaque variable p par sa ngation (p) dans
A. Alors A* est logiquement quivalent A.

Dmonstration. La dmonstration se fait par induction sur le nombre n de

connecteurs qui sont contenus dans A.

Base d'induction(n = 0)

A ne contient aucun connecteur. Dans ce cas A est une variable propositionnelle

p, A* est donc (p). Il est vident que A* est logiquement quivalent (p).

Hypothse d'induction :
Supposons que A contient k connecteurs (k n) et supposons que chaque nonc

avec moins de k connecteurs vrie la proprit. Alors, il existe 3 cas considrer :

(1) A est de la forme (B)

(2) A est de la forme (B C)

(3) A est de la forme (B C).

Cas 1 : B a k 1 connecteurs. Par hypothse d'induction B* est logiquement quiv-


alent (B), mais A est (B). Donc A* est logiquement quivalent (B*)

et comme B* est logiquement quivalent B ; alors A* est logiquement

quivalent B ; c'est dire A.


5. FORME NORMALE CONJONCTIVE D'UN NONC 17

Cas 2 : B et C contiennent chacun moins de k connecteurs et donc B* et C* sont

logiquement quivalents (B) et (C) respectivement. A* est (B* C*)

et il est logiquement quivalent (B C) et donc A.


Cas 3 : B* et C* sont logiquement quivalent (B) et (C) respectivement. A* est

(B* C*) qui est logiquement quivalent (B) (C) et donc (B C)

c'est dire A.


Corollaire 4.1. Si p1 , p2 ,. . . , pn sont des variables propositionnelles alors :


(p1 p2 . . . pn ) est logiquement quivalent (p1 p2 . . . pn ).

Dmonstration. C'est un cas particulier de la proposition prcdente dans

p2 . . . pn ) Utiliser la proposition
laquelle A est la formule propositionnelle (p1

prcdente pour montrer que ((p1 ) (p2 ) . . . (pn1 ) (pn )) est logiquement

quivalent (p1 p2 . . . pn ). 

Proposition 4.2. (Les lois de Morgan).


Soient A1 , A2 , . . . , An des formules propositionnelles quelconques alors :
(1) L'nonc ((A1 ) (A2 ) . . . (An )) est logiquement quivalent
(A1 A2 . . . An )
(2) L'nonc (A1 A2 . . . An1 An ) est logiquement quivalent
(A1 A2 . . . An ).

Dmonstration. La dmonstration de cette proposition dcoule des rsultats

prcdents et elle est suggre comme exercice. 

5. Forme normale conjonctive d'un nonc

Nous allons maintenant crire les formules propositionnelles en utilisant seulement

les connecteurs , et . L'objectif, comme nous le verrons plus loin, est de pouvoir

donner une mthode directe qui permet de vrier si une formule est une tautologie

ou une contradiction sans passer par sa table de vrit.

Dfinition 5.1. Soient X1 , X2 , . . . , Xn une liste de formules propositionnelles.


On introduit la notation suivante :
[X1 , X2 , . . . , Xn ] dnote la disjonction X1 X2 . . . Xn .
< X1 , X2 , . . . , Xn > dnote la conjonction X1 X2 . . . Xn .
Si v est une validation boolenne nous avons : v([X1 , X2 , . . . , Xn ]) = t si v(Xi ) = t
pour un certain Xi et v([X1 , X2 , . . . , Xn ]) = f sinon.
v(< X1 , X2 , . . . , Xn ) = t si v(Xi ) = t pour tout Xi et v(< X1 , X2 , . . . , Xn >) = f sinon.
18 2. CALCUL PROPOSITIONNEL

Dfinition 5.2. Un litral est une variable propositionnelle ou la ngation d'une


variable propositionnelle.

Dfinition 5.3. Une clause est une disjonction X1 X2 . . . Xn note


[X1 , X2 , . . . , Xn ] ou chaque lment est un litral. Une formule propositionnelle est dite
sous forme normale conjonctive ou sous forme clausale si c'est une conjonction
C1 C2 . . . Cn note < C1 , C2 , . . . , Cn > o chaque Ci est une clause.

Thorme 5.1. Il existe un algorithme qui transforme une formule proposition-


nelle ordinaire en forme clausale.

Avant de dcrire l'algorithme dnissons les notions de -formule et -formule.

-formule (conjonction) 1 2 -formule (disjonction) 1 2


X Y X Y (X Y ) X Y
(X Y ) X Y X Y X Y
(X Y ) X Y XY X Y

Description de l'algorithme

Etape 1. On commence avec < [X] >. Aprs avoir excut l'tape n en produisant

< D1 , D2 , . . . , Dn > o les lments Di sont des disjonctions et si nous n'avons


pas encore la forme clausale aller l'tape suivante :

Etape n+1. Choisir un lment Di qui contient certains non litraux, soit N par exemple.

(a) Si N est Z remplacer N par Z.


(b) Si N est une -formule remplacer N par la suite des deux formules 1 ,
2 .
(c) Si N est est une -formule remplacer la disjonction Di par les deux

disjonctions [1 /]Di et [2 /]Di .

Exemple 5.1. Donnons la forme clausale de la formule :

(a (b c)) ((a b) (a c))


(1) < a (b c)) ((a b) (a c))] >
(2) < [(a (b c)), (a b) (a c))] >
(3) < [(a (b c)), (a b), (a c)] >
(4) < [a, (a b), (a c]], [(b c), (a b), (a c] >
(5) < [a, a, a c], [a, b, a, c], [b, a, a, c], [b, b, a, c], [c, a, a, c], [b, c, a, c] >
(6) < [a, a, a, c], [a, b, a, c], [b, a, a, c], [b, b, a, c], [c, a, a, c], [b, c, a, c] >
6. ENSEMBLE COMPLET DE CONNECTEURS 19

La forme normale conjonctive est :

(aac)(abac)(baac)(bbac)(caac)(bcac)

6. Ensemble complet de connecteurs

Dfinition 6.1. Un ensemble complet de connecteurs est un ensemble qui est tel
que toute formule F correspond une formule proposionnelle G logiquement quiva-
lente F contenant que les connecteurs de cet ensemble.

Nous pouvons montrer maintenant le rsultat suivant.

Proposition 6.1. Les ensembles {, }, {, } et {, } sont des ensembles


complets de connecteurs.

Dmonstration. On peut observer que l'ensemble {, , } est un ensemble

complet de connecteurs puisque, comme on vient de le voir, on peut toute formule F

trouver une formule quivalente G contenant seulement les connecteurs de l'ensemble

{, }. Pour montrer, par exemple, que l'ensemble {, } est un ensemble complet

il sut de montrer que le connecteur s'exprime en fonction de et . En utilisera

le fait que AB est logiquement quivalent (A B). 

Dfinition 6.2. Soient les connecteurs | et dnis par :


p q pq p|q
0 0 1 1
0 1 0 1
1 0 0 1
1 1 0 0
Proposition 6.2. {|} et {} dont des ensembles complets de connecteurs.

Dmonstration. Exprimons et ou et dans {|} et {}.


nous avons :

p p p
p q (p p) (q q)

p p | p

p q (p | p) | (q | q)

Proposition 6.3. Les seuls connecteurs qui forment eux seuls un ensemble de
connecteurs complet sont | et .
20 2. CALCUL PROPOSITIONNEL

Dmonstration. Supposons qu'il existe un autre connecteur que nous noterons

?. La table de vrit dnissant ce connecteur aura la forme :

A B A?B

0 0 ?

0 1 ?

1 0 ?

1 1 ?

Si la valeur de la dernire ligne est 1 alors toute formule construite en utilisant le

seul connecteur ? doit prendre la valeur 1 si les variables propositionnelles composant


cette formule prennent la valeur 1. Donc, aucune combinaison ne peut exprimer la

ngation d'un nonc A. La valeur de cette dernire ligne du tableau doit tre 0. De

la mme faon la valeur de la premire ligne doit tre 1. Alors nous avons :

A B A?B

0 0 1

0 1 ?

1 0 ?

1 1 0

eme ligne et 3eme ligne sont identiques 0 le connecteur ?


Si les valeurs de la 2

sera identique |. Si les valeurs de la 2


eme ligne et 3eme ligne sont identiques 1 le

connecteur ? sera identique .


Ceci laisse deux autres possibilits :

(1) la valeur de la 2
eme ligne est 1 et la valeur de la 3eme ligne est 0

(2) la valeur de la 2
eme ligne est 0 et la valeur de la 3eme ligne est 1.

Dans le premier cas nous avons A ? B = A Dans le second cas nous avons A ? B
= B Dans chacun des cas ? pourrait tre dni en termes de . Mais le connecteur
(ngation) ne peut former seul un ensemble complet. Les seuls fonctions un argument

que l'on peut exprimer en fonction de sont la ngation et l'identit. A partir d'une

formule A nous pouvons obtenir que :

A
A
A
...


7. EXERCICES. 21

En conclusion il n'existe aucun autre connecteur formant un ensemble complet.

7. Exercices.
2
(1) Dmontrer par induction que n 2n+3 pour n 3.
(2) Dmontrer par induction sur n que pour tout n 1.

1 + 3 + 5 . . . + (2n 1) =n2 .
3
(3) Dmontrer par induction sur n que n + 2n est divisible par 3 pour tout n 1.

(4) Soient A, B et C trois ensembles avec A B = A C. Est-il vrai que B = C ?

(5) Donner la table de vrit ? du ou exclusif.


(6) Donner les tables de vrit des noncs pp, pp, p0 et p1.

(7) Donner la forme propositionnelle des phrases suivantes :

(a) Il est habile et intelligent.

(b) Il est habile mais pas intelligent.

(c) Il doit travailler dur, sinon il choue.

(d) Il n'a pas crit la lettre ou il l'a perdue.

(e) La somme de deux nombres est pair si les deux nombres sont pair ou les deux

nombres sont impairs.

(8) Une association est rgie par le rglement intrieur suivant :

art1. Les membres de la direction nancire doivent tre choisis parmi ceux de la

direction gnrale.

art2. Nul ne peut tre la fois membre de la direction gnrale et de la direction de

la bibliothque s'il n'est pas membre de la direction nancre.

art.3 Aucun membre de la direction de la bibliothque ne peut tre membre de la

direction nancire.

On dsigne par f,g,b les propositions atomiques tre membre de la direction nan-

cire [resp. gnrale], [resp.de la bibliothque].

(a) Ecrire sous forme de clauses l'ensemble des 3 articles du rglement.

(b) Montrer que l'ensemble prcdent est logiquement quivalent l'ensemble

des deux propositions suivantes { f g, g b }. Rdiger un rglement

quivalent plus simple.

(9) Montrer que

(a) AB peut tre exprim en fonction de seulement.

(b) AB ne peut pas tre exprim en fonction de seulement.

(10) Combien de fonctions boolennes une variable, deux variables, n variales peut-on

dnir
22 2. CALCUL PROPOSITIONNEL

(11) Montrer que la fonction dnie par h(a, b, c) = (a b) c engendre toutes les

fonctions de vrit.

(12) Donner la forme normale conjonctive des formules :

(a) (a b) ((b c) (a c))


(b) ((a (b c)) ((b (a c))))
(c) (a (a b)) c

(13) Former la conjonction des ngations des propositions : x > 3 et x < 3. Quels

nombres satisfont cette conjonction.

(14) Traduire les expressions suivantes dans le langage du calcul propositionnel :

(a) Si non p ou non q alors ce n'est pas le cas que p ou q.

(b) Si p implique que q implique r, alors p et q ensemble implique r.

(15) Vrier par la mthode des tables de vrit que les propositions suivantes sont des

tautologies :

(a) p p
(b) (p q) (p q)
(c) p (q r) (p q) (p r)

(16) Un nonc A est satisable s'il existe une validation v telle que v(A) = 1.

(a) Montrer que A est satisable si et seulement si A n'est pas une contradiction.
(b) Soit D = L1 L2 . . . Ln (n 4) et soient c1 , c2 , . . . , cn2 des variables

propositionnelles qui n'occure pas dans D. On construit E tel que :

E = (L1 L2 c1 ) (c1 L3 c2 ) (c2 L4 c3 ) . . . (cn3 Ln1


cn2 (cn2 Ln c1 )

Montrer que toute validation qui satisfait D peut tre tendue pour satisfaire E et

rciproquement.
CHAPITRE 3

CALCUL PROPOSITIONNEL FORMEL

1. Systme dductif pour le calcul propositionnel

Les tables de vrit (approche smantique) permettent de dcider si un nonc

est une tautologie, une contradiction ou ni l'une ni l'autre. Mais, une bonne partie

de la logique que nous verrons par la suite, une telle mthode, ne peut pas lui tre

applique. En consquence une autre approche,dite dductive, base sur la formalisa-

tion de la thorie est propose. Cette mthode d'axiomatisation souvent aussi appelle

de formalisation prend une place importante dans l'tude de la logique, plus parti-

culirement en mathmatiques et aujourd'hui en informatique. Il serait intressant

d'appliquer cette mthode au calcul propositionnel, partie simple de la logique, pour

introduire la notion de dduction.

Pour spcier notre systme du calcul propositionnel formel nous avons besoin

d'avoir :

(1) Un alphabet (l'ensemble des symboles utiliss)

(2) Un ensemble de suites nies de ces symboles qui sont appeles formules bien

formes. Ce sont les phrases du langage formel.

(3) Un ensemble ni de formules appeles axiomes

(4) Un ensemble ni de rgles : les rgles de dduction.

Dfinition 1.1. Le systme formel du calcul proposionnel (CPF) est dni par :
(1) L'alphabet est compos de :
(a) a, b, . . . z : variables propositionnelles
(b) , : symboles primitifs.
(c) (, ) : parenthses.
(2) L'ensemble des formules bien formes est dni par induction comme suit :
(a) Chaque variable proposionnelle est une formule bien forme.
(b) Si A et B sont des formules bien formes alors, A B et B sont des
formules bien formes.
23
24 3. CALCUL PROPOSITIONNEL FORMEL

(c) L'ensemble des formules bien formes est engendr par les clauses a) et
b) ci-dessus.
(3) Axiomes. Pour toutes formules bien formes (fbfs) A, B et C les formules
suivantes sont des axiomes du systme formel CPF.
 (ax1 ) (A (B A))
 (ax2 ) (A (B C)) ((A B) (A C))
 (ax3 ) (B A) (A B)
(4) Rgles d'infrence appele modus ponens (MP)
A, A B
(M P )
B
En d'autres termes cette rgle signie : B est une consquence directe de A
et (A B) o A et B sont des formules bien formes (fbfs).
(5) Rgle de substitution.
B (Sub)
[A/p]B

La rgle de substitution signie que partir d'une formule B contenant une vari-

able p, on peut dduire la formule [A/p]B obtenu en remplaant toutes les occurences

de p dans B par une formule A.

Remarquons aussi que les deux symboles et ont t introduits sans aucune

dnition. Ici ils n'ont aucun sens prcis. Ce sont de simples marques (des symboles

primitifs) intervenant dans la construction des formules. La rgle Modus Ponens est la

seule rgle du systme qui nous permet d'obtenir, partir des axiomes, d'autres for-

mules appeles conclusion de dduction. Cette rgle peut tre accepte sans dicults

car elle correspond quelques dtails prs au mode de raisonnement (de dduction)

de tous les jours. Les axiomes, au contraire, ne semblent pas intuitifs. Ce sont la partie

la moins vidente du systme formel. Le choix de l'ensemble des axiomes dnit le

systme formel et dtermine souvent les proprits de ce dernier. Il existe plusieurs

systmes formels du calcul proposionnel. Le systme que nous utiliserons ici est parmi

les plus tudis et les plus simples.

Donnons maintenant quelques dnitions de nature prciser ce qu'est un systme

de dduction formel.

Dfinition 1.2. Une dmonstration dans le calcul proposionnel est une suite de
formules bien formes A1 , A2 , ..., An telle que Ai est soit un axiome ou soit Ai se
dduit partir de deux lments prcdants Aj et Ak avec (ji) de la suite comme
consquence directe en utilisant la rgle de dduction MP ou soit Ai se dduit par
application de la rgle de substitution partir d'un lment p pr'ecdent de la suite.
1. SYSTME DDUCTIF POUR LE CALCUL PROPOSITIONNEL 25

On dit que la suite A1 , A2 , ..., An est une dmonstration de An . La formule An est


appele thorme.

Remarque 1.1. a) Dans la dnition ci-dessus, notons que Aj et Ak doivent

ncessairement tre de la forme B et (B Ak ) respectivement.


b) Si A1 , A2 , ..., An est une dmonstration dans le calcul proposionnel et k<n alors
A1 , A2 , ..., Ak est aussi une dmonstration. Ak est un thorme.

Exemple 1.1. Soit la suite :


1) (a (b a)) (axiome 1)
2) (a (b a)) ((a b) (a a)) (axiome 2) + (Sub)
3) (a b) (a a) 1) + 2) + MP

Cette suite est une dmonstration dans CPF et la formule (a b)) (a a))
est un thorme.

Dfinition 1.3. Considrons F un ensemble de fbfs. La suite A1 , A2 , ..., An de

formules bien formes est une F-dduction si pour tout i (1 i n) nous avons l'un
des cas suivants :
(1) Ai est un axiome de CPF
(2) Ai est un lment de F
(3) Ai est dduit partir des lments prcdants de la suite comme consquence
directe de l'application de la rgle MP ou de substitution.
Une F-dduction est comme une dmonstration dans laquelle les lments de F sont
considrs temporairement comme axiomes. Le dernier lment An de la suite est
dductible de F. Nous le noterons : F ` An

Remarque 1.2. L'criture ` A signie que A est un thorme. L'criture F ` A.

signie que A est dductible de l'ensemble F.

Exemple 1.2. Montrons que {A, (B (A C))} ` (B C) est une dduction.


Ici = {A, (B (B C))}
1 `A lment de .
2 ` (B (A C)) lment de .
3 ` A (B A) Axiome 1.
4 ` (B A) 1,2 + MP.
5 ` (B (A C)) ((B A) (B C)) Axiome 2.
6 ` ((B A) (B C)) 2,5 + MP.
7 ` (B C) 2,6+ MP.
26 3. CALCUL PROPOSITIONNEL FORMEL

Exemple 1.3. Montrons que les deux formules (A A) et (B (B (B


A))) sont des thormes.
Donnons la dmonstration que (A A) est un thorme.
1 ` (A ((A A) A)) ((A (A A)) (A A)) Axiome2.
2 ` (A ((A A) A)) Axiome1.
3 ` (A (A A)) (A A) 1,2 + MP.
4 ` (A (A A)) Axiome 1.
5 ` (A A) 3,4 + MP.
La dmonstration que la formule (B (B (B A)) est un thorme est
propose au lecteur comme exercice.

Proposition 1.1. (Thorme de dduction).


Si A ` B alors ` A B . est un ensemble de formules qui peut tre vide. A
est une formule quelconque.

Dmonstration. La dmonstration se fait par induction sur le nombre de for-

mules dans la suite qui forme la dduction de B partir de A.

cas 1: B est axiome. On dduit AB partir de comme suit.

(1) `B axiome.

(2) ` (B (A B)) Axiome1.

(3) ` (A B) 1,2 + MP.

D'o ` (A B).
cas 2: B ; ce qui suit est une dduction de ` (A B).

1 `B lment de
2 ` (B (A B)) Axiome 1.

3 ` (A B) 1, 2 + MP.

cas 3: B A. Nous avons vu que (A A) est un thorme. La dmonstration


dans CPF de (A A) servira de dduction de (A A) partir de . Ceci

termine la dmonstration de la base d'induction.

Supposons maintenant que la dduction de B partir de A est une suite avec n

lments (n>1) et que la proposition est vrie pour toute formule dduite de
A dont la dmonstration est une suite de formules ayant moins de n lments : C'est

l'hypothse d'induction.

cas 1: B est un axiome de CPF. Ce cas est identique au cas 1 de la base


d'induction.

cas 2: B , ` (A B). C'est le mme cas que le cas 2 prcdant.

cas 3: B est identique A. C'est le mme cas que le cas 3 prcdant.


1. SYSTME DDUCTIF POUR LE CALCUL PROPOSITIONNEL 27

cas 4: B est obtenue partir de deux prcdantes fbfs et par application de la


rgle de dduction MP. Ces deux fbfs doivent avoir la forme C et C B et

chacune d'elle est dduite partir de A et chacune de leur dmonstration


contient moins de n lments. Par hypothse d'induction nous avons :

` (A C) et ` (A (C B)).

La dduction de (A B) partir de peut tre donne comme suit :

(1)
.
.
.

(k) (A C)
.
.
.

(l) (A (C B))

(l+1) (A (C B)) ((A C) (A B)) Axiome 2.

(l+2) (A C) (A B) 1, l+1 + MP.


(l+3) (A B) k, l+2 + MP.


Proposition 1.2. (rciproque du thorme de dduction.)
Si ` (A B) alors A ` B.
Dmonstration. Soit une dduction de (A B) partir de . Notre objectif

est de construire une dmonstration de B partir de A.


(1)
.
.
.

(k) (A B) 
(k+1) A lment de A.

(k+2) B k, k+1 + MP.

Corollaire 1.1. Pour toutes fbfs. A, B et C nous avons :

(A B), (B C) ` (A C). C'est le syllogisme hypothtique.


Dmonstration. La preuve est comme suit :

(1) ` (A B) hypothse

(2) ` (B C) hypothse

(3) ` A hypothse

(4) ` B 1, 3 + MP.

(5) ` C 2,4 + MP.

Nous avons dmontr (A B), (B C), A ` C

En appliquant le thorme de dduction (TD) nous obtenons :


28 3. CALCUL PROPOSITIONNEL FORMEL

(A B), (B C) ` (A C)

Exemple 1.4. Soit dmontrer que les deux formules :


(1) (B (B A))
(2) ((A A) A)
La dmonstration de (1) est :
(1) ` (B (A B)) Axiome 1.
(2) ` ((A B) (B A)) Axiome 3.
(3) ` (B (B A)) 1,2 + SH.
La dmonstration de (2) est :
(1) (A ((A A) A)) par l'axiome 1.
(2) ((A A) A) (A (A A)) Axiome 3.
(3) (A (A (A A))) par 1, 2 + SH.
(4) (A (A (A A))) ( A A ) (A (A A))))
Axiome 2
(5) ( A A ) (A (A A)))) par 3, 4 +MP.
(6) (A (A A)) par 1, 5+ MP.
(7) (A (A A)) ((A A) A) Axiome 3.
(8) ((A A) A) par 6,7 + MP.

2. Adquation et compltude du CPF.

Nous allons tablir un lien entre la mthode des tables de vrit et la mthode

axiomatique, applique au calcul propositionnel. Nous tirerons prot des liens entre

ces deux approches pour montrer la consistance du calcul proposionnel formel.

Dfinition 2.1. Une valuation de CPF est une fonction v dont le domaine de
dnition est l'ensemble des fbfs. et l'ensemble des valeurs est {T, F }. Elle est dnie
par :
(1) v(A) 6 = v(A)
(2)
(
F ssi v(A) = T et v(B) = F
v(A B) =
T sinon
Dfinition 2.2. Une fbf A du CPF est une tautologie si pour chaque valuation
v, v(A) = T .
2. ADQUATION ET COMPLTUDE DU CPF. 29

Remarque 2.1. Nous pouvons constater aisement que la dnition de la notion


de tautologie l'aide des valuations est exactement la mme que celle donne l'aide
des tables de vrit. Les tables de vrit sont construites partir des dnitions des
connecteurs. Les valuations sont dnies en attribuant un "sens" ou une valeur aux
marques ( et ) utilises dans le CPF. C'est l toute la dirence.

Ennonons maintenant le thorme d'adequation qui permet de montrer que tous

les thormes du CPF sont des tautologies. Cela signie que les formules dmontres

partir des axiomes en utilisant la rgle de Modus ponens sont des formules toujours

vraies dans le sens, o elles sont considres comme des noncs du calcul proposionnel,

elles prennent la valeur vraie.

Thorme 2.1. Tout thorme du CPF est une tautologie.

Dmonstration. La dmonstration se fait par induction sur la longueur de la

dmonstration du thorme. Il s'agit de vrier que tous les axiomes sont des tautolo-

gies et montrer ensuite que dans une dmonstration chaque formule intermdiaire est

une tautologie. 

La rciproque de ce thorme est le thorme de compltude qui rpond la

question : Toute formule vraie du CP est-elle un thorme ?

Thorme 2.2. (compltude). Toute tautologie du Calcul Proposionnel est un


thorme.

Avant de dmontrer ce thorme nous avons besoin de dmontrer les rsultats

suivants.

Lemme 2.1. Soit A une formule du CPF et p1 , p2 , p3 , ..., pk des formules atom-
iques dans A et soient
(
pi si pi = 1
p0i =
pi si pi = 0
et (
Ai si Ai = 1
A0i =
Ai si Ai = 0
Alors nous avons : p'1 , p'2 , ..., p'k ` A'.

Dmonstration. La dmonstration se fait par induction sur le nombre d'oc-

curences des symboles logiques et contenus dans A. Si n=0 alors A est p et on

a bien p1 ` p1 et p1 ` p1 .
30 3. CALCUL PROPOSITIONNEL FORMEL

cas 1: Si A est B alors B a moins de n occurences de symboles logiques. Si

B prend la valeur 1 pour l'ensemble des valeurs attribues p1 ,...,pk alors

A prend la valeur 0. Donc B' est B et A' est A. Par hypothse d'induction
nous avons : p'1 ,...p'k ` B ou encore p'1 ,...p'k ` B. Mais B est A' et

donc p'1 ,...p'k ` A'. Si B prend la valeur 0 alors B' est B et A' est A. Nous

avons dans ce cas p'1 ,...p'k ` B et donc p'1 ,...p'k ` A'.

cas 2: A est (B C). B et C contiennent moins de symboles logiques que A.

p'1 ,...p'k ` B' et p'1 ,...p'k ` C' dcoulent par hypothse d'induction.

a) B prend la valeur 0, A prend la valeur 1. B' est B et A' est A. p'1 ,...p'k

` B. En utilisant le thorme ` (B (B C)) et p'1 ,...p'k ` B et la


rgle MP. on obtient : p'1 ,...p'k ` (B C). Mais comme (B C) est A'

alors p'1 ,...p'k ` A'.

b) C prend la valeur 1 alors A prend la valeur 1, C est C' est A' est A.

p'1 ,...p'k ` C ou p'1 ,...p'k ` C'. En utilisant le thorme ` (C (B C)),

p'1 ,...p'k ` C et MP on obtient : p'1 ,...p'k ` (B C).

cas 3: B prend la valeur 1 et C prend la valeur 0. A prend la valeur 0, B' est B,


C' estC et A' est A. p'1 ,...p'k ` B et p'1 ,...p'k ` C. D'aprs le thorme :
` (C (B C)).
B

nous avons p'1 ,...p'k ` (B C). Mais (B C) est A, A' est donc (B

C). Finalement nous avons montr : p'1 ,...p'k ` A'.

Dmonstration du thorme. Soit A une tautologie et soient p1 ,...pk les for-


mules atomiques de A. D'aprs le lemme prcdant et le fait que A' A nous avons

p'1 ,...p'k ` A. Si pk prend la valeur 1 alors p'1 ,..., p'k1 pk ` A et si pk prend la valeur

pk ` A. En appliquant le thorme de dduction on peut crire :


0 alors p'1 ,...,p'k1 ,

p'1 ,...p'k1 ` (pk A) et p'1 ,...p'k1 ` (pk A). Nous obtenons en appliquant la

rgle MP et le thorme ` (pk A) (pk A) A) la dduction p'1 ,...p'k1 `

A. On peut refaire le mme raisonnement avec p'k1 et l'liminer et puis recommencer

avec p'k2 et ainsi de suite jusqu' obtenir ` A.

Corollaire 2.1. Le systme CPF est consistant : Il n'existe aucune formule A


telle que A et A sont des thormes.

Dmonstration. Nous avons montr que tout thorme de CPF est une tau-

tologie. La ngation d'une tautologie n'est pas une tautologie. A et A ne peuvent

tre toutes les deux des thormes. 


3. MTHODE DE DAVIS PUTNAM POUR LE CALCUL PROPOSITIONNEL. 31

3. Mthode de Davis Putnam pour le calcul propositionnel.

Le problme qui nous intresse ii est la validit de la dduction H |= A qui

signie que A dcoule de l'hypothse H et o H est un ensemble de propositions et


A une proposition. Nous pouvons aisement voir d'aprs les rsultats des chapitres

prcdents que ceci revient prouver que l'ensemble des propositions F=H {A }
est contradictoire (c..d un sous ensemble ni de propositions de F est contradictoire).
Les tables de vrit orent, en principe, une mthode pour dcider de la valdit

ou de la contradiction d'un ensemble de propositions. Mais, nous savons que l'utili-

sation d'une telle mthode est trs lourde si le nombre de variables propositionnelles

intevenant dans la formule F est trs grand.


La mthode de dmonstration du calcul propositionnel formel est dicile mettre

en oeuvre algorithmiquement. Ceci est essentiellement d l'existence d'une innit

de schmas d'axiomes et la nature de la rgle d'infrence Modus Ponens.

La mthode dnie par Davis Putnam, que nous introduirons ici, est destine

prouver des thormes l'aide de procdure que l'on peut programmer. Sa gnralisa-

tion au calcul des prdicats constitue aujourd'hui le fondement de la programmation

logique et la base de la dmonstration automatique de thormes.

Considrons P l'ensemble des variables propositionnelles, un littral est une


proposition qui se prsente sous la forme pi ou pi avec pi P. Une proposition

C est dite une clause si C est une disjonction de littraux :

C = p1 p2 ... pi pi+1 ... pn

avec pour tout i n, pi est un littral. Si n=0 , C est la clause vide qui sera note
C =  (= faux). On admettera que dans une clause il n'y a pas de rptition d'un

mme littral. Les littraux p et p sont dits opposs. Une paire {p,p'} de littraux

est dite oppose si p et p' sont opposs.

Remarque 3.1. Notons que les propositions sont ici crites seulement l'aide des
deux connecteurs et . Ces deux connecteurs forment un ensemble {, } complet
de connecteurs.

La mthode de Davis Putnam pour dcider si une conjonction

S = G1 G2 . . . G n
de clauses Gi est un insatisfaite consiste appliquer autant de fois qu'il est possible

les rgles cites ci-dessous. Dans chaque tape la conjonction S est tranforme en une
0
nouvelle conjonction S telle que S S 0 est insatisfaite
est insatisfaite si et seulement si
0 00
ou transforme en une nouvelle paire de conjonction S et S telle que S est insatisfaite
0 00
si et seulement si S et S sont insatisfaites.
32 3. CALCUL PROPOSITIONNEL FORMEL

(1) Rgles pour clauses un litral.

(a) Si les deux clauses un litral Gi = l et Gj = l occurent dans la clause


S alors S est insatisfaite.

(b) Si la rgle (a) ne s'applique pas et S contient une clause un litral

Gi = l, S 0 est obtenu partir de


S en supprimant toute les clauses dans
S contenant l (Gi incluse) et en supprimant les occurences des litraux
0
opposs l des clauses restantes. Si S est vide, S est satisfaite.

(2) Rgle dlimination. Si la rgle (1) ne s'applique pas et un litral l occure

dans S alors que son oppos (l) n'occure pas dans S , alors supprimer toute
0
les clauses Gi contenant l. La clause S ainsi obtenue est insatisfaite si et
0
seulement si S est insatisfaite. Si S est vide alors S est satisfaite.

(3) Rgle de consensus. Supposant que les deux rgles (1) et(2) ne s'appliquent
pas. Il existe donc un litral l et son oppos l qui occurent dans S. Alors S
peut se mettre sous la forme :

(A1 l) . . . (An l)
(B1 l) . . . (Bm l)
R1 . . . Rp
Les clauses Ai , Bi et Ri ne contiennent ni l et ni l. Alors nous avons les
0 00
conjonctions S = (A1 . . . An ) R1 . . . Rp et S = (B1 . . . Bm )

R1 . . .Rp . alors, S est insatisfaite si et seulement si (S 0 S 00 ) est insatisfaite.

Exemple 3.1. Soit la formule :


S = (p1 (a) p2 (b)) p2 (b) (p1 (a) p2 (b) p3 (a))
En appliquant la rgle 1b sur p2 (b) on obtient :
p1 (a) (p1 (a) p3 (a))
En appliquant la rgle 1b sur p1 (a) on obtient :
p3 (a)

Finalement en appliquant la rgle 1b sur p3 (a) on obtient la clause vide, ce qui

implique que S est satisfaite.

Exemple 3.2. Soit la formule :


(a b) (a c) (a c) (a b) (c b) (c b)
Par r ?gle du consensus sur a
b c (c b) (c b) c b (c b) (c b)
c c (par 1b sur b) b b (par 1b sur c)
contradiction (par 1a) contradiction (par 1a)
4. CALCUL DES SQUENTS 33

4. Calcul des Squents

Dfinition 4.1. Un squent est une paire < , > d'ensembles nis de formules.

Habituellement, un squent < , > est crit ` . Si = {A1 , A2 , . . . , An } et

= {B1 , . . . , Bk } alors le squent {A1 , . . . , An } ` {B1 , . . . , Bk } sera crit simplement :


A1 , . . . , An ` B1 , . . . , Bk
.

Soit X une formule, et deux ensembles de formules nous crirons :

, X ` au lieu de {X} ` .
` au lieu de ` .
La smantique d'un squent est donne par la dnition suivante :

Dfinition 4.2. Soit v une validation dnie de l'ensemble des squents vers
l'ensemble {0, 1} des valeurs de vrit. Alors nous avons :
v( ` ) = 1 si v(X) = 0 pour un certain X ou v(Y ) = 1 pour un certain
Y .

Ceci revient considrer que le squent ` est interprt par la formule :

(A1 . . . An ) ` (B1 . . . Bk ).

Dfinition 4.3. Les axiomes et les rgles d'infrence du calcul des squents sont :
(Axiome) X ` X .

` , X , X `
( gauche) ( droit)
, X ` ` , X

, X, Y ` ` , X ` , Y
( gauche) ( droit)
, X Y ` , ` , X Y

, X ` , Y ` ` , X, Y
( gauche) ( droit)
, X Y ` ` , X Y

` , X , Y ` , X ` , Y
( gauche) ( droit)
, X Y ` ` , X Y

Dans un rgle, par exemple ( droit), le squent , X ` , Y est appell

prmisse de la rgle et le squent ` , X Y la conclusion de la rgle.

Exemple 4.1. Soit la formule (P Q) ` (P Q). Sa preuve dans le calcul


des squents est la suivante :
34 3. CALCUL PROPOSITIONNEL FORMEL

1. P ` P 2. Q ` Q.
3. P, Q ` P 4. P, Q ` Q
5. P, Q ` P Q
6. Q ` P Q, P
7. ` P Q, P, Q
8. (P Q) ` P, Q
9. (P Q) ` P Q
10. (P Q) ` (P Q).

Sous forme d'arbre la preuve sera prsente par :


P `P Q`Q
(Axiome)
P, Q ` P, P, Q ` Q
( droit)
Q ` P Q, P
( droit)
` P Q, P, Q
( gauche)
(P Q) ` P, Q
( droit)
(P Q) ` P Q

Les rgles du calcul des squents sont appeles introductions quand elles sont

utilises de haut en bas, et liminations quand elles sont utilises de bas en haut.

On dira qu'une rgle est correcte si elle ne change pas la validit des formules .

Plus prcisement, si les squents de dpart sont valides, alors les squents d'arrive

sont valides. Nous allons maintenant noncer les deux lemmes suivants :

Lemme 4.1. Les rgles d'introduction du calcul des squents sont correctes.
Lemme 4.2. Les rgles d'liminations du calcul des squents sont correctes.
Ceci se traduit par l'quivalence des squents infrieurs et des squents suprieurs

des rgles ci-dessus. Nous admetterons ici les deux lemmes sans les dmontrer.

Une preuve en calcul des squents se prsente comme un arbre dont les feuilles

sont tiquetes par des axiomes, la racine est tiquete par le squent prouver, et

les noeuds internes sont tiquts par le squent infrieur obtenu par applicalication

d'une rgle d'introduction. Pour dmontrer une proposition F, il sut de montrer le

squent ` F. Un squent ` est valide si et seulement si il possde une preuve

dans le calcul des squents ci-dessus.

Nous admetterons, aussi, sans dmonstration les deux thormes suivants :

Thorme 4.1. Si X est un thorme du calcul des squents alors X est une
tautologie.
Thorme 4.2. Si X est une tautologie alors X est un thorme du calcul des
squents.
5. EXERCICES. 35

5. Exercices.

I. Montrer que les formules suivantes sont des thormes :

(1) (A B) ((A B) B).

(2) (A ( B (A B)).

(3) B (B A)

II. Soit CP F + une extension de CPF obtenue en ajoutant un quatrime axiome :

((A B ) (A B)).
Montrer que CP F + est inconsistant.

III. Montrer que si B est une contradiction alors B n'est thorme d'aucune ex-

tension consistante de CPF.

IV. Montrer en utilisant la procdure de Davis-Putnam que les formules suivantes

sont des tautologies.

(1) (P (Q R)) ((P Q) (P R))


(2) ((P Q) (P R)) (P (Q R))
(3) (P Q) (Q R)
V. Impl ?menter la proc ?dure de Davis-Putnam en Lisp ou caml.

VI. Donner les preuves dans le calcul des s ?quents des formules :

(1) X (Y X)
(2) (P (Q R)) ((P Q) (P R))
(3) (X Y ) ((X Y ) X)
(4) ((X Y ) X) X
(5) (B A) (A B)
VII. Montrer que si , X est un th ?or ?me dans le calcul des s ?quents alors

, X est aussi un th ?or ?me.

VIII.

(1) Appliquer la mthode de Davis-Putnam pour montrer que la formule suivante

est valide : ((p q) (q r)) (p (q r))


(2) Appliquer le calcul des squents pour montrer que la formule suivante est

valide :

(p (q (r s)) (q r)) (p s)
CHAPITRE 4

Calcul des Prdicalts du premier ordre.

1. Langage du calcul des prdicats.

Le calcul des prdicats est considr comme une extension du calcul propositionnel

qui ore la possibilit d'introduire en mme temps que les variables propositionnelles

d'autres variables appartenant un domaine arbitraire (ensemble d'entiers, de rels

ou d'objets quelconques). Cette extension est obtenue grce l'introduction des deux

quanticateurs et .
La formule xP (x) se lit : Il existe x D tel que P (x) est vraie et, la formule

xP (x) se lit : Pour tout x D, P (x) est vraie. L'ensemble D est ici le domaine de

dnition du prdicat P.
Avant de dnir le langage du calcul des prdicats i.e l'ensemble des formules bien

formes (correctement crites) nous allons d'abord prciser :

(1) L'alphabet du langage du calcul des prdicats est compos de :

x1 , x2 , . . . les variables

a1 ,a2 , . . . les constantes

P1 , P2 , . . . les prdicats

f1 ,f2 , . . . les fonctions

, les connecteurs

, les quanticateurs

(2) Les termes. Les termes du calcul des prdicats (CP.) sont dnis comme
suit :

(a) Les variables et les constantes sont des termes.

(b) Si fi est une fonction n arguments du CP. et t1 , t2 , . . ., tn sont des

termes alors fi (t1 , t2 , . . ., tn ) est un terme du CP.


(c) L'ensemble des termes est engendr par les clauses (a) et (b).

Exemple 1.1. xi , f1 (xi ), g2 (x,f1 (xi )) sont des termes.

Dfinition 1.1. (formule atomique).

37
38 4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

Une formule atomique du CP. est dnie par :


Si Pi est un prdicat i.e une fonction dnie d'un domaine D vers l'ensemble {0, 1}
et t1 , t2 , . . ., tn sont des termes alors Pi (t1 , t2 , . . . , tn ) est une formule atomique.

Dfinition 1.2. (formules bien formes). Les formules bien formes (ou for-
mule tout simplement) sont dnies par :

(1) Chaque formule atomique est une formule bien forme.


(2) Si A, B sont des formules bien formes du CP. alors A, (A B), (x)A,
et (x)A sont des formules bien formes.
(3) L'ensemble de toutes les formules bien formes est engendr par les clauses
(1) et (2).

Exemple 1.2. Les formules suivantes sont des formules bien formes :
(1) F xA(x) (y((P (f (x), 0) (P (g(y), b)))
(2) G (P (f (a), b)) x ((P (x, 0)) P (f (x), g(x, f (x))))

2. Notion de variables libres et de variables lies

Dans la formule xA la formule A est dite champ du quanticateur . La variable


x est dite variable quantie par le quanticateur universel . Les positions occupes

par la variable x dans la formule A sont appeles occurences de x. Dans la formule

prcdante F la variable x possde deux occurences.

Dfinition 2.1. Une occurence d'une variable x dans une formule est dite lie
si elle possde une occurrence dans le champ d'un quanticateur (ou ) dans cette
formule. Si une occurrence d'une variable n'est pas lie, elle est libre.

Exemple 2.1. F xA(x) y((P (f (x), 0) (P (g(y), b))
La premire occurence de la variable x est lie par le quanticateur x, mais la
deuxime occurence de la variable x est libre.

Dfinition 2.2. Soit A une formule du calcul des prdicats. Un terme t est libre
pour la variable x dans A si aucune occurence libre de x dans A n'appartient un
champ d'un quanticateur (y) o y est une variable dans t.

Exemple 2.2. le terme f(x,v) n'est pas libre pour y dans la formule :
xP(x,y) zQ(z,x).
Le terme g(w,z) est libre pour y dans la formule xP (x, y) zQ(z, x).
4. SATISFACTION, VALEURS DE VRIT 39

3. Interprtation

On attribue un "sens" (une valeur de vrit !) chacune des formules en inter-

prtant les dirents symboles (fonctions, prdicats), les constantes et les variables.

Ainsi, pour une formule particulire, nous pouvons obtenir plusieurs interprtations

dpendant du sens que l'on donnera aux symboles de cette formule. Considrons par

exemple la formule xyP (x, y). Plaons nous dans l'ensemble des entiers naturels

(c.a.d x, y N) et interprtons P(x,y) comme tant la relation  x y. Pour cette

interprtation la formule devient xy(x y). Remarquons qu'il est ais, dans ce cas,
de voir si cette formule est une proposition vraie ou une proposition fausse.

Dfinition 3.1. Soit une formule F du CP telle que :


 {P1 , . . . Pn } sont les prdicats contenus dans F.
 {F1 , . . . Fk } sont les symboles de fonctions contenus dans F.
 {a1 , . . . am } sont les constantes contenues dans F.
Une interprtation I de F consiste en la donne :
(1) d'un ensemble non vide DI appell le domaine de l'interprtation I.
(2) d'une assignation dj DI chaque constante aj .
(3) d'une assignation d'une relation n-aire Ri chaque prdicat n-aire Pi .
(4) d'une assignation d'une fonction n-aire fi chaque symbole de fonction n-
aire Fi .
Exemple 3.1. Soit la formule (x)(y)(z)P(f(x,y), z). Pour l'interprter cette
formule nous devons spcier chacun des lments du quadruplet caractrisant la df-
inition d'une interprtation. Soit par exemple :

(1) DI N l'ensemble des entiers naturels.

(2) Assigner la fonction f, la fonction f : N N N denie par f(x,y) = x +


y,
(3) Assigner au prdicat P, la relation suivante :
R : N N N denie par R(x, y) = x = y 00 .

4. Satisfaction, Valeurs de vrit

La formule prcdante (x)(y)(z)P(f(x,y), z) interprte dans I de l'exemple

prcdent donne la formule : (x)(y)(z)(x + y = z).


Nous remarquons qu'il nous est plus facile de dire si cette dernire formule prend

toujours la valeur vraie ou la valeur fausse ou bien ni l'une ni l'autre. Pour pouvoir,
40 4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

dans le cas gnral, dcider de la valeur de vrit d'une formule nous introduisons les

notions de valeur d'une formule dans une interprtation I.

Dfinition 4.1. Soit A une formule du calcul des prdicats et soit I une inter-
prtation. Une valeur v(A) dans I est dnie d'abord en remplaant chaque constante
ai de A par un lment di de I et par induction sur la structure de A : comme suit :

(1) Si A = P(t1 , . . ., tn ) alors v(A) = T ssi Rv (v(t1 , . . ., v(tn )) est vraie dans
DI .
(2) Si A = ( B) alors v(A) = v(B).
(3) Si A = B C) alors v(A) = v(B) ou bien v(A)= v(C).
(4) A = (x)B alors v(A) = T ssi pour tout c DI = T.

Exemple 4.1. Soit la formule G : y P(y) (a = y). Soit N, l'ensemble des


entiers naturels, le domaine d'interprtation. Soit v une validation quelconque sur N
telle que v(P(y)) = Pv (v(y)). Il y'a deux cas distinguer :
(1) Si v(P(y))= F alors v(P(y))=T et donc v(G) = T.
(2) Si v(P(y))=T alors v(y = a)= T o a est la valeur de y pour laquelle
v(P(y))=T.

Dfinition 4.2. Une formule A est vraie dans une interprtation I si v(A) = T
dans I. Une formule A est dite satisfaite s'il existe une interprtation I telle que A est
vraie dans I. Une formule du calcul des prdicats est dite valide si elle est vraie pour
toute interprtation. Elle est dite non valide s'il existe au moins une interprtation
pour laquelle la formule n'est pas vraie (fausse) ou possde un contr-modle. Une
formule du calcul des prdicats est dite insatisfaisable si elle est fausse pour toute
interprtation.

Notation. I |= A signie A est vraie dans I. Il existe une relation importante

entre modle et contre-modle qui sera exploite plus loin.

Proposition 4.1. Si les deux formules A et (A B) sont vraies alors la formule


B est vraie.

Dmonstration. Soit l'interprtation I. v(A) = T et v(A B) = T. Par d-

nition v(A) = T ou v(B) = T Or v(A) 6= T car v(A) = T. Donc v(B) = T. 

Proposition 4.2. Soit A une formule et I une interprtation, alors I |= A xA

o x est une variable quelconque.


5. EXERCICES. 41

Dmonstration. Supposons que nous avons I |= A et v(A) =T dans I. Soit x

une constante occurnant dans A. Donc v et chaque validation v' x-quivalente v

satisfait aussi A car toute validation satisfait A dans I. Donc v ([d/x]A) = T pour
tout d DI et par dnition v( x A) = T. D'o I |= xA. La rciproque I |= xA
I |= A est immdiate. 

Lemme 4.1. Une formule A est valide ssi A est insatisfaisable.

La dmonstration de ce lemme est immdiate et elle est laisse comme exercice

au lecteur.

Exemple 4.2. Montrons que la formule


xy [(x 6= y) P (x, y) P (y, x))]
est valide. Il y'a deux cas distinguer quelque soit l'interprtation I considre :
(1) x = y.
P(x,y) P(y,x) devient P(x,x) P(x,x) et donne toujours la valeur
vraie la formule.
(2) x 6= y.
Dans ce cas x 6= y donne toujours la valeur vraie la formule considre.

5. Exercices.

(1) Soient les phrases suivantes :

(a) Tout tudiant qui travaille russit.

(b) Tout tudiant qui comprend et qui est intelligent russit ses examens.

(c) A est un tudiant qui travaille.

(d) A est intelligent.

Utiliser le langage des prdicats du premier ordre pour symboliser chacune des

phrases prcdantes.

(2) Montrer que les formules suivantes sont valides :

(a) x(p(x) q(x)) (xp(x) xq(x))


(b) (xp(x) xq(x)) x(p(x) q(x))
(c) xA(x) xA(x).
(d) (xA(x) xB(x)) x(A(x) B(x))
(3) tudier la validit des formules suivantes :

(a) x(A(x) (A(x) (A(x) A(x))))


42 4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

(b) xyP (x, y) yP (y, y)


(c) P (x, x) yP (y, y)
(d) yP (x, y) P (y, y)
(4) A l'aide de l'interprtation suivante : D = {a, b} et

P(a,a) P(a,b) P(b,a) P(b,b)

T F F T

Dterminer les valeurs de vrit des formules suivantes :

(a) yP (x, x)
(b) xP (x, x)
(c) xyP (x, y)
(d) yy(P (x, y) P (y, x))

6. Calcul des prdicats formalis

Les symboles du calcul des prdicats peuvent tre interprts de direntes manires.

Mais dans ce qui suit , nous nous intresserons seulement aux aspects formels du lan-

gage contrairement ce qui a t fait prcdement concernant les proprits dpendant

d'interprtations particulires. Dans le systme formel que nous allons dnir, nous

montrerons des proprits importantes telles que la consistance et le thorme de

compltude.

Dfinition 6.1. Soient A,B,et C des formules d'un langage du premier ordre.
Les axiomes du calcul des prdicats formel sont :
(ax1) A (B A)
(ax2) (A (B C)) ((A B) (A C))
(ax3) ( B A) (A B)
(ax4) xA A si x n'est pas libre dans A.
(ax5) xA(x) A(t) si le terme t est libre pour x dans A(x).
(ax6) x(A B) (A xB) si x n'est pas libre dans A.
Les rgles de dductions sont :
(Modus Ponens) A, A B ` B
(Gnralisation) A ` xA o x est une variable quelconque.

Remarquons que les axiomes du calcul des prdicats ci-dessus sont des axiomes

schemas. Chacun d'eux remplace une innit de formules appeles instances.

Exemple 6.1. Les formules (p r) ((p p) (p r)) et (a ((b


c) a)) sont des instances de l'axiome (ax1).
6. CALCUL DES PRDICATS FORMALIS 43

Remarquons aussi que l'ensemble des axiomes du calcul des prdicats inclut l'ensem-

ble des axiomes du calcul propositionnel. Les nouveaux axiomes introduits concernent

les proprits immdiates du quanticateur que l'on utilise pour driver (dmontrer)
certaines formules partir d'autres. La dnition de la notion de dmonstration dans

le calcul des prdicats CP tend celle donne dans le chapitre qui concerne le calcul

propositionnel.

Dfinition 6.2. Une dmonstration dans le calcul des prdicats formel est une
suite de formules A1 , A2 , . . ., An telle que :
(1) Ai est un axiome ou
(2) Ai se dduit partir des lments prcdents de la suite par l'application de
le rgle Modus Ponens o de la rgle de gnralisation .
Si est un ensemble de formules, une dduction partir de est une suite de
formules P1 , P2 , . . . Pn telle que :
(1) Pi est un axiome ou un lment de ou
(2) Pi se dduit partir des lments prcdents de la suite par l'application de
la rgle Modus Ponens ou de la rgle de gnralisation.
Une formule du calcul des prdicats est dite thorme si elle est la dernire formule
d'une certaine suite de formules qui forme une dmonstration.

Notation.  ` A" exprime que A est un thorme.  ` A" exprime que A se dduit
partir de (Ici A n'est pas un thorme, la formule A se dduit de l'ensemble des

formules de ).

Dfinition 6.3. Une formule A du calcul des prdicats est une tautologie s'il

existe une formule A0 du calcul propositionnel telle que A est obtenue partir de A0
par substitution de certaines variables propositionnelles par des formules du CP et A0
est une tautologie.

Exemple 6.2. Soit la formule xA(x) (yB(y) xA(x)). On voit bien que
cette peut tre obtenue en substituant dans la tautologie a (b a) a par xA(x) et
b par yB(y). La formule est donc une tautologie.

Proposition 6.1. Si A est une tautologie alors, A est un thorme du calcul des
prdicats.

Dmonstration. A est une tautologie du calcul des prdicats alors, il existe une

formule A0 tautologie du calcul propositionnel telle que A est obtenue par substitution

des variables propositionnelles de A0 par des formules. La dmonstration de A0 dans


44 4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

le calcul propositionnel formel peut tre transforme en une dmonstration de A dans

le calcul des prdicats formel. On observera que les axiomes schemas (ax1), (ax2) et

(ax3) sont communs aux deux systmes qui posdent la mme rgle de dduction MP

(Modus Ponens). 

Proposition 6.2. Toutes les instances des axiomes schemas (ax4), (ax5) et (ax6)
sont logiquement valides.

Dmonstration. .

Pour l'axiome (ax4), considrons une validation v d'une interprtation I du CP.


Supposons que v satisfait xA, alors par dnition toute validation v' x-quivalente v
satisfait A. C'est dire toute validation v' telle que v(y) = v'(y) pour tout y dirent

de x satisfait A. Pour toute valeur de x, v satisfait A. Donc, chaque validation v

satisfait (xA A) qui est donc logiquement valide. Pour l'axiome (ax5) considrons
un terme t tel que x 6 t et une validation v. Il sut de dmontrer que si v satisfait

xA(x) alors, v satisfait A(t).

Proposition 6.3. Pour toute formule A du calcul des prdicats ; si ` A alors, A


est logiquement valide.

Dmonstration. La dmonstration se fait par induction sur le nombre n de pas

dans la dmonstration de A.

Base d'induction. Si n = 1 alors A est un axiome du CP. et donc, A est logiquement

valide par la proposition prcdante.

Hypothse d'induction. Supposons que A a une dmonstration de n tapes (n>1)

et que tous les thormes ayant une dmonstration de n-1 tapes sont logiquement

valides. La formule A apparat dans la dmonstration, soit comme axiome, ou soit

comme consquence des prcdantes formules dans la dmonstration de l'application

de la rgle MP et/ou de la rgle de gnralisation. Si A se dduit partir de B et

(B A) et que chacune de ces deux formules est logiquement valide par hypothse

d'induction. Il dcoule immdiatement que A est aussi logiquement valide. Si A se

dduit par application de la rgle de gnralisation partir d'une formule C qui est

logiquement valide par hypothse d'induction. A identique xC est aussi logiquement


valide. 

Corollaire 6.1. Le Calcul des prdicats du premier ordre est consistant.

Dmonstration. Supposons que l'on a : ` A et ` A. Alors A et A sont

logiquement valides, ceci dcoule de la proposition prcdante. A et A ne peuvent


6. CALCUL DES PRDICATS FORMALIS 45

tre valides ensemble par la dnition mme de la ngation. Notre hypothse est

contradictoire et nous n'aurons jamais `A et `A. 

Maintenant, nous souhaitons montrer dans le calcul des prdicats, l'analogue du

thorme de dduction que nous avons rencontr dans le chapitre consacr au calcul

propositionnel. Mais, nous remarquerons dj que le thorme de dduction dans CP


ne peut tre montr sans certaines restrictions. Par exemple nous avons :

A ` xA. (rgle de gnralisation)


` A xA (en appliquant l'analogue du thorme de dduction.)

Cette dmonstration donne la formule A xA comme un nouveau thorme.

Mais remarquons que si x FV(A) alors, la formule A xA n'est pas valide.

Thorme 6.1. (Thorme de dduction). Soient A, B deux formules et


un ensemble de formules du calcul des prdicats. Si {A} ` B et la dmonstration
ne contient aucune application de la rgle de gnralisation sur une variable libre de
A alors, ` A B.

Dmonstration. La dmonstration se fait par induction sur le nombre n des

formules dans la dduction de B partir de {A}.

Base d'induction. n = 1, B est un axiome ou B A ou B .


Nous dduisons ` (A B) exactement de la mme manire que pour la dmon-

stration correspondante dans le calcul propositionnel.

Hypothse d'induction. n > 1. Supposons que si F est formule dduite de {A}


sans utiliser la rgle de gnrarlisation sur une variable libre dans A dans la dduction

contenant moins de n formules alors ` A B.

Cas 1. B se dduit partir des formules prcdantes par la rgle MP. La dmonstra-
tion est la mme que celle donne dans le cas du calcul propositionnel.

Cas 2. B est un axiome ou B A ou B . La dmonstration est la mme que celle

donne dans le cas du calcul propositionnel. Cas 3. B se dduit partir d'une for-
mule prcdante par gnralisation. Donc B est xC o C apparat dans la dduction
{A}` (A C). Par hypoyhse d'induction ` A C puisque il n'y a aucune

application de la rgle de gnralisation sur une variable libre de A. Aussi x ne paut

tre libre dans A car, l'application de la rgle de gnralisation dans la dduction de

B partir de {A} se fait sur la variable x. La dduction de (A B) partir est

comme suit :
46 4. CALCUL DES PRDICALTS DU PREMIER ORDRE.


1

.
. . dduction de (A C) partir de
.

(A C)

(k)
(k+1) x(A C) (k) + rgle de gnralisation.
(k+2) x(A C) (A xC (ax6).
(k+3) A xC. (k+1),(k+2) + MP.

Nous avons donc ` (A B).

Corollaire 6.2. Si {A} ` B et si A est ferme alors, ` (A B)

La preuve de ce corollaire est faire comme exercice.

Corollaire 6.3. Soient A, B deux formules, un ensemble de formules du calcul

des prdicats. Si ` (A B) alors {A} ` B.

Dmonstration. Il sut d'adapter celle dcrite dans le cas du calcul proposi-

tionnel. 

Exemple 6.3.Cet exemple donne la dmonstration des deux thormes


(A xB) x(A B)si x 6 FV(A) et x(A B) (xA xB).
(1) Si x 6 FV(A) alors ` (A xB) x(A B).
1-` (A x B) hypothse
2-` xB B (axiome 4)
3-` (A B) 1+2 +SH
4-` x (A B) 3+gnralisation
5-` (A xB) x(A B) 1,3+Thorme de dduction.
(2) ` x(A B) (xA xB).
a) ` x (A B) hypothse
b) ` x B hypothse
c) ` x (A B) (A B) (axiome 4)
d) ` (A B) a+c+MP
e) ` (A B) (B A) tautologie.
f ) ` (B A ) d+e+MP
g) ` (x B) (B) (axiome 4)
h) ` B b,g + MP
i) ` A f,h + MP
j) ` xA a + i +gnralisation
6. CALCUL DES PRDICATS FORMALIS 47

Ceci dmontre {x(A B), xB} ` (x A). Par application du thorme de


dduction nous obtenons :
11-x(AB) ` (x B) (x A) car x 6 FV(xB).
12-` ((xB) xA) ((xA) (xA)) tautologie.
13- x(A B) ` ((xA) (xA)) 11+12+MP.

Et nalement : ` x(A B) (xA xB).

Il est utile, dans la pratique, d'introduire le connecteur d'quivalence . Il sera dni


par : A B est identique ((A B) (B A)).

Proposition 6.4. Soient A et B deux formules bien formes du calcul des prdi-
cats, ` A B est quivalent ` (A B) et ` (B A).

Dmonstration.
1) ` ((A B) (B A)) Par hypothse

2) ` ((A B) (B A)) (A B) Tautologie

3) ` ((A B) (B A)) (B A) Tautologie

4) ` (A B) 1+2 + MP

5) ` (B A) 1+3 + MP

Pour montrer la reciproque () il sut de vrier que :

(A B) ((B A) ((A B) (B A)))

est une tautologie. 

Dfinition 6.4. Si A, B sont des formules du calcul des prdicats et ` A B


alors, A et B sont dit quivalents.

Proposition 6.5. Si A, B et C sont des formules du calcul des prdicats et si A


et B sont quivalents et B et C sont quivalents alors, A et C sont quivalents.

Cette dernire proposition sera trs utile dans le cas o nous aurons besoin de montrer

que deux formules sont quivalentes. Nous aurons tudier aussi quelles parties d'une

formule peuvent tre substitues et de quelles manires interchanger les noms de

variables.

Proposition 6.6. Si xi est libre dans A(xi ) et xj est une variable qui n'a aucune
occurence libre ou lie dans A(xi ) alors ` xi A(xi ) xj A(xj )
48 4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

Dmonstration. xi est libre pour xj dans A(xj ) et xj est libre pour xi dans

A(xi ).

1) ` xi A(xi ) Hypothse

2) ` xi A(xi ) A(xj ) Axiome 5

3) ` A(xj ) 1 + 2 + MP

4) ` xj A(xj ) 3 + rgle de gnralisation

5) ` xi A(xi ) xj A(xj ) puisque xj n'est pas libre dans xi A(xi )


Et de la mme manire nous obtenons :

` xj A(xj ) xi A(xi )
et donc : ` xi A(xi ) xi A(xi )

Cette proposition montre que l'on peut changer le nom des variables lies dans

une formule et obtenir une autre formule quivalente la premire formule. L'utilit

de cette proposition, nous la verrons dans la suite.

Proposition 6.7. Soient A une formule et y1 , . . ., yn les seules variables libres


de A. Alors ` A si et seulement si ` y1 ,...yn A.

Dmonstration. () La dmonstration est par induction sur le nombre des

variables libres dans A.

Base de l'induction : n = 1. Nous avons `A alors par application de la rgle de


gnralisation nous obtenons ` y1 A(y1 ).

Hypothse d'induction : n > 1. Supposons la proposition est vraie pour toute for-

mule avec n 1 variables libres. Considrons la formule (yn )A qui a n 1 variables

libres. Nous avons :

` A par la rgle de gnralisation et


` y1 . . . yn1 yn A par hypothse d'induction.

Rciproquement supposons que ` y1 . . . yn1 yn A et montrons que ` A. La

dmonstration est immdiate par induction sur le nombre n des variables yi (1in)

et par application de l'axiome 5.

Dfinition 6.5. Si A est une formule contenant les seules variables libres y1 , . . .,
yn alors, la formule y1 . . . yn1 yn A est appele la fermeture universelle de A.
7. FORME NORMALE PRNEXE D'UNE FORMULE 49

7. Forme normale prnexe d'une formule

Nous allons dcrire maintenant comment transformer les formules sous des formes

spciales appeles forme normale prnexe conjonctive et forme normale prnexe dis-

jonctive. L'utilit de ces formes normales rside dans le fait qu'elles permettent de

mettre en vidence certaines relations logiques qui ne sont pas videntes voir sous

les formes habituelles des formules.

Dfinition 7.1. Une formule est dite sous forme normale prnexe conjonctive si
elle est de la forme :
(Qv1 )(Qv2 ) . . . (Qvn ){[A11 A12 . . . A1n ] . . . [Am1 Am2 . . . Amq ]}

o Q est soit le quanticateur ou soit le quanticateur , les vi sont des vari-


ables distinctes qui ont une occurence libre dans les Aij . Chaque Aij est une formule
atomique ou une ngation d'une formule atomique.

Exemple 7.1. La formule : xy {[p(x) p(x)] [g(y) p(a)]} est sous forme

normale prnexe conjonctive.

Thorme 7.1. Toute formule du calcul des prdicats peut tre transforme en
une formule quivalente sous forme normale prnexe conjonctive.

Dmonstration. Soit F une formule quelconque. Nous allons construire une

formule F' sous forme normale prnexe conjonctive en remplaant successivement des

parties de F par des formules quivalentes. La construction de F' se fait en plusieurs

tapes.

(1) Eliminer dans F tous les quanticateurs redondants ; c.a.d liminer les quan-

ticateurs v ou v si aucune occurence libre de v n'apparait dans leur

champ.

(2) Changer le nom des variables lies. Prendre la partie la plus gauche de la

formule F sous la forme vB(v) ou vB(v) telle que v a une occurence dans

une autre partie de formule F (libre ou lie). Remplacer vB(v) ou vB(v)


par v1 B(v) ou v1 B(v). La variable v1 est une nouvelle variable.

(3) Eliminer les connecteurs autre que , et . Remplacer A B par A


B et A B par (A B) ( B A).
(4) Dplacer les connecteurs l'exterieur de la formule. Remplacer :
50 4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

vA(v) B par v [A(v) B]


B vA(v) par v [B A(v)]
B vA(v) par v [B A(v)]
vA(v) B par v [A(v) B]
B vA(v) par v [B A(v)]
vA(v) B(v) par v [A(v) B(v)]
vA(v) vB(v) par v [A(v) B(v)]
(5) Appliquer la distributivit de par rapport ; remplacer

(A B) C par (A C) (B C)

A (B C) par (A B) (B C)

La formule ainsi obtenue est la formule F' recherche. 

Exemple 7.2. Soit la formule F :


x [(yp(x) zq(z, y)) yr(x, y)]. Sa forme normale prnexe conjonctive est
obtenue en appliquant la procdure prcdante :
(1) Eliminer le quanticateur redondant y :

(x) [(p(x) (z)q(z, y)) (y)r(x, y)]


(2) Renommer la variable y :

x [(p(x) (z)q(z, y)) y1 r(x, y1 )]


(3) Eliminer le quanticateur :

x [(p(x) zq(z, y)) y1 r(x, y1 )]


(4) Dplacer gauche le quanticateur :

xzy1 [(p(x) q(z, y)) r(x, y1 )]


(5) Distribuer par rapport :

xzy1 [(p(x) r(x, y1 )) (q(z, y) r(x, y1 )] : C'est la formule recher-


che.

8. Exercices

(1) Dmontrer les thormes suivants :

(a) xyP (x, y) yxP (x, y)


9. SOLMISATION, RSOLUTION 51

(b) x(P (x) Q(x)) (xP (x) xQ(x))


(c) x(P (x) Q(x)) (xP (x) xQ(x))
(d) x(P (x) Q(x)) (xP (x) xQ(x))
(2) Trouver les formes prenexes des formules suivantes :

(a) x(P (x) Q(x, y)) (yP (y) zQ(y; z))


(b) x(P (x) y(Q(x, y) zR(y, z)))
(c) x(P (x) Q(x)) (xP (x) xQ(x))

9. Solmisation, Rsolution

Cette section se veut une introduction trs brve la mthode de rsolution de

Robinson, applique au calcul des prdicats, dont l'impact en informatique a t trs

important. La mthode de Rsolution, gnralisation de la mthode de Davis Put-

nam, a t l'une des premires tre utilise pour la dmonstration automatique

de thormes. C'est aussi, rappelons le, l'origine du dveloppement du langage de

programmation Prolog, trs utilis pour l'criture de programme en intelligence arti-

cielle.

On peut considrer que la mthode de rsolution est base sur le principe de

dmonstration par rfutation. Les travaux de Skolem et de Herbrand, aux environs

de 1930, ont ouvert la voie. J.A. Robinson a dni en 1965 une mthode appele

rsolution, trs performente, permettant de montrer qu'un ensemble de formules est

contradictoire. Nous en donnerons dans ce qui suit les tapes essentielles.

9.1. Forme clausales, Skolmisation. Dans le calcul des prdicats, un littral


est dni comme tant une formule atomique ou une ngation d'une formule atom-

ique. Une clause est une disjonction de plusieurs littraux. Une formule du calcul des

prdicats est dite sous forme clausale si elle est sous la forme :

x1 . . . xn (C1 C2 ... Ck )

O Ci (0 < i < k + 1) est une clause et les xi (in) sont des variables telles que xi 6=
xj si i 6= j .
Par exemple, P(f(x), a) et q(y) sont deux littraux. La formule :

P(f(x),a) q(y) p(a,y).


est une clause.

On appelle forme de Skolem d'une formule D, la formule Ds , sous forme clausale,

obtenue en liminant tous les quanticateurs existentiels, telle que D satisfaisable

quivaut Ds satisfaisable.
52 4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

Thorme 9.1. (Skolmisation). Chaque formule D peut tre transforme en une


formule Ds sous forme clausale telle que D est satisfaisable si et seulement si Ds est
satisfaisable.

Dmonstration. La transformation de D se fait par la construction de la suite

D1 , D2 , . . . Dn , telle que D = D1 , Dn = Ds et Di satisfaisable Di+1 satisfaisable.

La procdure de construction est comme suit :

(1) Prendre la fermeture existentielle de D (c..d quantier les variables libres

de D par le quanticateur ).
(2) Eliminer dans D tous les quanticateurs redondants.

(3) Renommer chaque variable quantie dans D plus d'une fois.

(4) Eliminer les occurences des connecteurs autres que , et .


(5) Pousser droite tous les connecteurs en remplaant :

(a) (xA) par x(A)


(b) (xA) par x(A)
(c) (A B) par A B
(d) (A B) par A B
(e) (A) par A.

jusqu' ce que toutes les occurences de prcde immdiatemment une for-

mule atomique.

(6) Pousser les quanticateurs droite en remplant :

(a)
(
A xB si x n'est pas libre dans A
x(A B)par
xA B si x n'est pas libre dans B

(b)
(
A xB si x n'est pas libre dans A
x(A B)par
xA B si x n'est pas libre dans B

(c)
(
A xB si x n'est pas libre dans A
x(A B)par
xA B si x n'est pas libre dans B

(d)
(
A xB si x n'est pas libre dans A
x(A B)par
xA B si x n'est pas libre dans B
9. SOLMISATION, RSOLUTION 53

(7) Eliminer les quanticateurs existentiels. Prendre la formule la plus gauche

de la forme yB(y) et la remplaer par B(f(x1 ,. . .,xn )) o

(a) x1 ,. . .,xn sont des variables distinctes de yB(y) quanties universelle-

ment gauche de yB(y).


(b) f est fonction n arguments qui n'occure pas dans la formule. Rpter

ce processus jusqu' l'limination complte des tous les quanticateurs

existensionnels. Dans le cas perticulier n = 0, remplacer yB(y) par

B(a) o a est une nouvelle constante qui n'occure pas dans la formule.

(8) Dplacer les quanticateurs gauche.

(9) Distribuer et .
(10) Simplier en utilisant les rgles prservant la satisfaction.


Nous proposons au lecteur de vrier que toutes ces transformations conservent

la satisfaction de la formule D.

Exemple 9.1. Considrons la formule D suivante :


x(p(x) z(y(q(x,y) p(f(t))) y(q(x,y) p(x))))
(1) Prendre la fermeture existentielle de D et liminer le qunticateur redondant
z.
tx(p(x) (y(q(x,y) p(f(t))) y(q(x,y) p(x))))
(2) Renommer la variable y, elle est quantie deux fois.
tx(p(x) (y(q(x,y) p(f(t))) z(q(x,z) p(x))))
(3) Eliminer toutes les occurences de
tx(p(x) (y(q(x,y) p(f(t))) z(q(x,z) p(x))))
(4) Dplacer
tx(p(x) (y(q(x,y) p(f(t))) z(q(x,z) p(x))))
(5) Pousser les quanticateurs y et z droite
tx(p(x) ((yq(x,y) p(f(t))) ( z(q(x,z)) p(x))))
(6) Eliminer les quanticateurs t et y.
x(p(x) ((q(x,g(x)) p(f(a))) ( z(q(x,z)) p(x))))
(7) Dplacer le quaticateur gauche
xz(p(x) ((q(x,g(x)) p(f(a))) ((q(x,z)) p(x))))
(8) Aprs distribution de et et simplication :
x {(p(x) q(x,g(x))) p(f(a))}.
54 4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

9.2. Procdure de Herbrand. La procdure de Herbrand joue un rle im-


portant dans la dmonstration automatique de thormes. Elle permet, en eet, de

ramener le problme de l'existence d'un modle pour un ensemble ni de clauses un

problme de la satisfaisabilit d'un ensemble de propositions.

Par dnition un ensemble de clauses S est insatisfaisable si et seulemnet si il

est contradictoire pour toutes les interprtations. Comme il est dicile de considrer

toutes les interprtations (innies), il serait plus pratique de se xer sur une seule

interprtation IH telle que S est insatisfaisable dans IH quivaut que S est contradic-

toire.

Dfinition 9.1. Soit S un ensemble de clauses. Soit H0 l'ensemble des constantes


de S. Si aucune constante n'occure dans S alors H0 = {a}, o a est une constante
arbitraire. Hi+1 = Hi {f (t1 , . . . , tj ), tel que t1 , . . . , tj Hi }. H est appel univers
de Herbrand.

Exemple 9.2. Soit S = {P(a), P(x) P(f(x)) }. Nous avons H0 = {a}, H1 =


{a, f (a)} et H = {a, f (a), f (f (a)), f (f (f (a))), . . .}.

Dfinition 9.2. Soit S un ensemble de clauses. Une clause instance C d'une


clause A de l'ensemble S est une clause obtenue en remplaant les variables dans A
par les lments de l'univers de Herbrand. On appelle dploiement de Herbrand de A
l'ensemble de toutes les clauses issues de chaque A S. Cet ensemble est not H(S).

Le thorme de Herbrand s'nnonce comme suit :

Thorme 9.2. L'ensemble ni de clauses S admet un modle quivaut H(S)


est satisfaisable.

Corollaire 9.1. L'ensemble ni de clauses S est contradictoire si et seulement


si l'ensemble H(S) est contradictoire.

Le thorme de Herbrand et son corollaire suggrent une procdure pour dmon-

trer l'insatifaisabilit des formules sous formes clausales. Pour une formule F sous

forme clausale, nous engendrons successivement les instances de clauses Gi des clauses

de F et tester si leur conjonction est contradictoire. Cette procdure permet de d-

tecter si F est insatisfaisable aprs un nombre ni d'tapes. Dans le cas contraire si F

est satisfaisable la procdure peut ne pas se terminer. C'est une procdure de dision

partielle.

Donnons un exemple. Soit la formule :

yz(p(x,y) x(p(z,x) p(x,z))).

La forme prnnexe conjonctive de cette formule est :


9. SOLMISATION, RSOLUTION 55

yzux {(p(z,y) p(z,x) p(x,z)) (p(z,y) p(z,u)) (p(z,y) p(u,z)) }

Aprs Skolmisation (en prenant y = a, u = f(z)) on obtient les clauses :

c1 p(z,a) p(z,x) p(x,z)


c2 p(z,a) p(z,f(z))

c3 p(z,a) p(f(z),z)

L'ensemble S(F) contient :

i p(a,a) On remplace dans (c1 ) x,z par a et on simplie.


ii p(a,a) p(f(a),a) Dans (c2 ) on remplace z par a.

iii p(f(a),a) p(a,f(a)) Dans (c1 ) on remplace z par f(a) et x par a.

En notant A = p(a,a), B = p(a,f(a)) et C = p(f(a),a), le sous ensemble ci-dessus

n'est autre que : { A, A B, A C, B C }. On peut vrier aisement que cet

ensemble est contradictoire. La formule F est donc valide.

9.3. Mthode de rsolution, unication. La mthode de rsolution consiste


une seule rgle d'infrence, appele rgle de rsolution. La rgle de rsolution peut

tre nonce comme suit :

Pour deux clause C et D quelconques contenant un litral l et son oppos l,


respectivement, on construit une nouvelle clause G, appele le rsolvant de C et D,

en liminant toutes les occurences de l et l, respectivement, G est alors l'union des

clauses C' et D' ainsi obtenues. Eliminer les occurences des litraux dupliqus dans

G, et ajouter G la liste des clauses. Le cas particulier est l'existence de deux clauses

l et l, alors leur rsolvant est la clause vide .


Le rsultat principal de cette mthode est qu'une conjonction d'un ensemble ni

S de clauses est insatisfaisable si et seulemnet si la clause vide peut tre engendre

partir de S en rptant l'application de la rgle de rsolution. Il est clair que ce

processus se termine vu que nous partons d'un ensemble ni de clauses et que nous

pouvons construire qu'un ensemble ni de clauses partir de S. L'ide de cette mth-

ode se rsume S = F1 F2 ... Fn est insatisfaisable si et seulement si S' = F1


F2 ... Fn Fn+1 est insatisfaisable, o Fn+1 est le rsolvant de Fi et Fj .

Considrons l'exemple suivant qui montre que la conjonction des clauses c1 , c2 et

c3 est contradictoire :

c1 p(z,a) p(z,x) p(x,z)


c2 p(z,a) p(z,f(z))

c3 p(z,a) p(f(z),z)

On obtient :

c4 p(a,a) z = a dans C1

c5 p(a,f(a)) rsolution de c2 et c4 .
56 4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

c6 p(f(a),a) rsolution de c3 et c4 .

c7 p(f(a),a) p(a,f(a)) rsolution de c6 et c1 .

c8 p(z,a) p(z,f(z)) rsolution de c6 et c7 .

c9 rsolution cd c5 et c8 .
L'inconvnient de cette mthode, sur le plan pratique, est que l'ensemble des

clauses engendres, pour la pluspart des formules, est trs grand. Ce qui demenadera

pour leur traitement un espace mmoire l'ordinateur et un temps de calcul inac-

ceptable. Pour surmonter ces dicults Robinson introduit une nouvelle mthode de

rsolution gnrale en gnralisant la rgle de rsolution dcrite prcdement.

Pour pouvoir dcrire cette mthode gnrale de rsolution il est ncessaire d'in-

troduire quelques dnitions.

Dfinition 9.3. Une substitution est un ensemble ni (peut tre vide) de couple
de la forme :
= { (v1 , t1 ),(v2 , t2 ),. . . (vn , tn )}
les variables vi sont distinctes deux deux et sont toutes dirents des termes ti . Pour
tout littal L, L' = L est un littral obtenu partir de L en remplaant simultanement
les variables vii 1 i n par les termes ti dans L. L' est appel instance de L.

Dfinition 9.4. L'ensemble de consensus d'une disjoncion de formules atom-


iques :
p(t11 ,. . .,t1n ) p(t21 ,. . .,t2n ) . . . p(tk1 ,. . .,tkn )
est l'ensemble des sous-termes { 1 , 2 ,. . ., k } obtenu comme suit : On considre cha-
cune des formules atomiques comme une suite de symboles et on rpre la position
du premier symbole qui n'occupe pas la mme position dans toutes les formules atom-
iques. Alors, pour chaque i (1 i k ) on considre i le sous-terme de p(ti1 ,. . .,tin )
qui commence par cette position du symbole.

Exemple 9.3. L'ensemble de consensus de la formule :


p(x,g(f(y,z),x),y) p(x,g(a,b),b) p(x,g(g(h(x),a),y),h'x))
est l'ensemble des sous-termes {f(y,z), a, g(h(x),a) }.

Une substitution est dite un unicateur de la disjonction des formules atom-

iques A1 A2 ... An si A1 = A2 = ... = An . Dans le cas o il existe un

unicateur pour une disjonction de formules on dit que cette disjonction est uniable.

Un unicateur d'une disjonction A1 A2 ... An est un unicateur le plus

gnral si pour chaque unicateur pour cette disjonction Ai est une instance de

Ai (pour 1 i n). La formule atomique B telle que B = Ai = ... = An obtenu


9. SOLMISATION, RSOLUTION 57

par un unicateur le plus gnral , appele facteur de A1 A2 ... An , est

unique.

Exemple 9.4. L'unicateur le plus gnral de la disjonction :


p(a,x,f(g(y))) p(z,h(z,w),f(w))
= {(z,a), (x,h(a,g(y))), (w,g(w)) }.

La partie principale de la mthode de rsolution est l'application de l'algorithme

d'unication qui trouve l'unicateur le plus gnral pour une certaine disjonction

A1 A2 ... An uniable. Il renvoit une erreur si cette disjonction n'est pas

uniable.

Dfinition 9.5. Algorithme d'unication

(1) Dbut : L'algorithme commence avec un substitution 0 ={} vide et construit


pas pas l'unicateur le plus gnral .
(2) Etape k+1 (k0) : Supposons qu l'tape k la substitution produite est k . Si
toutes les formules atomiques Ai k sont identiques, alors = k est l'uni-
cateur les plus gnral de la disjonction A1 A2 . . . An et le processus se
termine, sinon dterminer en premier l'ensemble Dk de consensus de A1 k
A2 k . . . An k . L'algorithme, ensuite, modie la substitution k (pour
obtenier k+1 ) de telle manire rendre gaux deux lments de l'ensem-
ble de consensus. Ceci n'est possible que si l'ensemble de consensus contient
comme lment une variable vk et un certain terme tk tel que vk 6 tk . Si de
tels lments n'existent pas dans Dk une erreur est renvoye : la disjonction
A1 A2 . . . An n'est pas uniable. La substitution k+1 est calcule
comme suit :
k+1 = {(v1 ,[tk /vk ] t1 ), (v2 ,[tk /vk ] t2 ),. . . (vn ,[tk /vk ] tn )} {(vk ,tk )}.
(3) Incrmente k ; k = k+1 et aller (2).

Donnons maintenant la rgle de r'esolution sous forme d'une procdure.

Entre : Une paire de clauses C1 , C2


Sortie : Un rsolvant C3 de C1 et C2 s'il existe

(1) Si, C1 et C2 contiennent respectivement les littraux l1 et l2 , l1 = p(x1 ,. . .,xn )

et l2 = p(y1 ,. . .,yn ).
(a) Si xi = yi (1 i n) alors le rsolvant de C1 et C2 est calcul comme

suit :

C3 = ( C1 -l1 ) ( C2 - l2 )
58 4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

(b) Sinon On applique l'algorithme d'unication

(i) Si l'unicateur le plus gnral, soit de l1 et l2 existe alors

(A) Construire les facteurs (C1 ) et (C2 ) .

(B) Le rsolvant C3 est calcul comme suit

C3 = (( C1 ) -(l1 ) ) (( C2 ) -( l2 ) )

(ii) Sinon, le rsolvant de C1 et C2 n'existe pas

(2) Sinon, Les deux clauses n'ont pas de rsolvant.

Exemple 9.5. Soit la disjonction :


p(a,x,f(g(y))) p(z,h(z,w),f(w))
pour trouver l'unicateur le plus gnral nous commenons par poser :
0 = { }
L'ensemble de consensus de p(a,x,f(g(y))) p(z,h(z,w),f(w)) est {a,z}. Nous avons
donc
1 = {(z,a)}
le facteur de la disjonction prcdante obtenu l'unicateur le plus gral 1 est :
p(a,x,f(g(y))) p(a,h(a,w),f(w))
L'ensemble de consensus de p(a,x,f(g(y))) p(a,h(a,w),f(w)) est {x,h(a,w)}. Nous
avons :
2 = {(z,a),(x,h(a,w))}
le facteur de la disjonction prcdante obtenu l'unicateur le plus gral 2 est :
p(a,h(a,w),f(g(y))) p(a,h(a,w),f(w))
L'ensemble de consensus de p(a,h(a,w),f(g(y))) p(a,h(a,w),f(w)) est {g(y),w}. Nous
avons :
3 = {(z,a),(x,h(a,w)), (w,g(y)}
3 est l'unicateur le plus gnral puisque ( p(a,h(a,w),f(g(y))))3 = ( p(a,h(a,w),f(w)))3 .

La mthode gnrale de rsolution, pour dmontrer l'instisfaisabilit d'une formule

F sous forme clausale, est base sur l'application rpete de la rgle de rsolution. On

commence par appliquer la rgle de rsolution une paire de clauses C1 et C2 de

F pour obtenir un rsolvant C3 de C1 et C2 . Cette nouvelle clause C3 est ajoute

l'ensemble de clauses de F. La rgle de rsolution est encore applique jusqu' ce que

la clause vide est engendre.

Exemple 9.6. Montrons que la formule suivante est valide :


10. EXERCICES 59

F : xyz {(p(x,y) (p(y,z) p(z,z)))wedge ((p(x,y) q(x,y)) (q(x,z)


q(z,z)))}
Pour montrer que F est valide, nous allons montrer par la mthode de rsolution que
F est insatisfaisable. En tranformant F sous forme clausale on obtient les clauses
suivantes :
(1) p(x1 , y1 )
(2) p(y2 ,f(x2 ,y2 )) p(f(x2 ,y2 ),f(x2 ,y2 )) q(x2 ,y2 )
(3) p(y3 ,f(x3 ,y3 )) p(f(x3 ,y3 ),f(x3 ,y3 )) q(x3 y,f(x3 ,y3 )) q(f(x3 ,y3 ),f(x3 ,y3 ))
En appliquant la rgle de rsolution, nous obtenons les clauses suivantes.
A partir des clauses 1 et 2 et la substitution {(x1 , y2 ), (y1 ,f(x2 ,y2 )) } nous
obtenons
(4) p(f(x2 ,y2 ),f(x2 ,y2 )) q(x2 ,y2 )
A partir des clauses 1 et 4 avec la substitution {(x1 , f(x2 ,y2 )), (y1 ,f(x2 ,y2 ))}
nous obtenons :
(5) q(x2 ,y2 )
A partir des clauses 3 et 5 avec la substitution {(x2 , f(x3 ,y3 )), (y2 ,f(x3 ,y3 ))}
nous obtenons :
(6) p(y3 ,f(x3 ,y3 )) p(f(x3 ,y3 ),f(x3 ,y3 )) q(x3 y,f(x3 ,y3 ))
A partir des clauses 5 et 6 avec la substitution {(x2 , x3 ), (y2 ,f(x3 ,y3 ))} nous
obtenons :
(7) p(y3 ,f(x3 ,y3 )) p(f(x3 ,y3 ),f(x3 ,y3 ))
A partir des clauses 1 et 7 avec la substitution {(x1 , f(x3 ,y3 )), (y1 ,f(x3 ,y3 ))}
nous obtenons :
(8) p(y3 ,f(x3 ,y3 ))
A partir des clauses 1 et 8 avec la substitution {(x1 ,y3 ), (y1 ,f(x3 ,y3 ))} nous
obtenons nalement :
(9) : Ceci implique que F est insatisfaisable et donc F est valide.

10. Exercices

(1) Soit F la formule suivante :

F : x (p(x) (q(x) y p(y))) xy(q(y) p(x))

(a) Donner la forme prenexe conjonctive de F.

(b) Skolmiser F.
60 4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

(2) On considre les deux formules suivantes :

F :x h(x) yh(y)
G : x (h(x) r(x))

C : xr(x) y p(y)

(a) Trouver un ensemble de clauses C quivalent {F, G, C}.


(b) Trouver le domaine de Herbrand de C
(c) Montrer par la mthode de rsolution que C est contradictoire.

(3) On veut montrer, en utilisant le langage du calcul des prdicats, que dans un

groupe (structure algbrique), tout lment idempotent est ncessairement

l'lment neutre.

(a) Poser compltement le problme (en forme de clauses)

(b) Appliquer la mthode rsolution.

(4) Montrer par la mthode de rsolution que pour tout prdicat p, ayant les

proprits de symtrie,de transitivit et tel que xy p(x,y) alors, p a la

proprit de reexivit.

(5) Tahar, Malika et Mohamed font partie d'un Club-musique. Chaque mem-

bre de ce club est soit un chanteur ou guitariste ou les deux la fois. Aucun

guitariste n'aime le style rai et tous les chanteurs aiment le style chaabi.

Malika n'aime pas tout ce que Tahar aime et elle aime tout ce que Mohamed

n'aime pas. Tahar aime le style rai et le style chaabi. Existe-t-il un ad-

hrent de ce club qui soit guitariste et pas chanteur ? Utiliser les prdicats

suivants : M(x) : x appartient au club ; G(x) : x est guitariste ; C(x) : x est

chanteur ; A(x,y) : x aime y.