You are on page 1of 60

Notes de Cours :

LOGIQUE MATHMATIQUE
Par

Pr. Mohamed MEZGHICHE

Table des matires

partie 1.
Chapitre 1.

LOGIQUE

Rappels mathmatiques

1.

Les entiers naturels

2.

Dmonstration par contraposition

3.

Dmonstration par contradition

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.

Chapitre 3.

21

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

TABLE DES MATIRES

9.
10.

Solmisation, Rsolution
Exercices

51
59

Premire partie

LOGIQUE

CHAPITRE 1

Rappels mathmatiques

1. Les entiers naturels


Souvent on crit l'ensemble des entiers naturels
points

(. . .)

{1, 2, 3 . . . , }

en utilisant les trois

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
successeur :

(n N )S : n n + 1.

(zero) et l'application

dite fonction

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

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
(2) Montrer que

P (n + 1)

(3) On dclare que

P (n)

est vrie pour

n = 0.

est vrie si l'on admet que

P (n)

est vrie.

(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 naturels. Soulignons que le principe d'induction n'est pas seulement utilis pour dmontrer 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

est constitue de trois tapes :

(1) Montrer que le plus petit lment de


signie que

P (n0 )

(2) On suppose que

est vrie.

P (n)

P (n0 )

E,

soit

n0

vrie la proprit

P.

Ceci

est la base d'induction.

est vrie, c'est l'hypothse d'induction.

P (n+1) est vrie. Dans


(n E)P (n) est vrie.

(3) A partir de l'hypothse d'induction on montre que


le cas o cela est montr on peut dire que :

On trouve souvent dans certaines dmonstrations mathmatiques l'utilisation du


principe d'induction sous une autre forme lgrement dirente de celle dcrite cidessus. L'hypthse d'induction est donne sous la forme
(m

< n).

P (m)

est vrie pout tout

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

n2 .

est gale
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)

(2)

S'assurer que la base d'induction est vrie, cest dire que P (1) est vraie.
Ceci donne P (1) = 1 = 12 .
Supposer que P (n) est vraie. Ceci sgnie que P (n) = 1+3+5+. . .+2n1 =
n2 .

3. DMONSTRATION PAR CONTRADITION

(3)

n2 ,

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 =


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 dduction mathmatique.
Supposons que que l'on pose cette question : l'ensemble des entiers naturels premiers est-il ni ? Les entiers premiers sont les entiers dont l'ensemble des diviseurs se
rduit

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 contraposition. 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

est le plus grand entiers premiers.

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


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.
Soit

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'ensemble 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

{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.

permet de donner l'ensemble

Aprs d'autres tentatives infructieuses, le lecteur se convaint facilement qu'il n'existe 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

est la somme des

45 T .
10T + (45 T ) = 100.

formes reprsentant les dizaines. La somme des formes restantes est


La somme des nombres, solution du problme, est donc
Ceci donne

T = 55/9. T n'est donc pas un


T est la somme de nombres

avec le fait que

entier naturel et ceci est contradictoire


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 construits partir des atomes ou des variables propositionnelles en utilisant des connecteurs.
Par exemple pour construire l'nonc mathmatique :
(1)

(x > 2)

Nous avons utilis le connecteur


x

>

2" et  x2

noncs plus

1/2 1.". De
simples P , Q et du

et

(x2 1/2 1).

et pour relir les deux plus simples noncs

mme l'nonc

P Q

est form l'aide des deux

connecteur  .

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


non.
Donnons maintenant la notation symbolique et la dnition des dirents connecteurs les plus utiliss.
Connecteur

Forme symbolique

non A

A
A B
A B
A B
A B

A et B
A ou B
A implique B
A quivalent B
A et B dnotent des noncs quelconques .

Avant de donner la dnition et pour mieux expliciter le sens de certains connecteurs, 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.

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
Si nous convenons de noter par

11

12

2. CALCUL PROPOSITIONNEL

la terre est plate alors Alger est une ville propre


n'est pas plate" se notera A.
1.1. Les connecteurs

, , et .

. L'nonc  La

terre

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

est vrai. Ceci est rendu plus comprhensible grce au

tableau :
A

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.
Exemple 1.1.

(): 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 :

AB

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 :

(): 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 :

AB

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

AB

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 propositionnelles est donne d'une manire inductive par la dnition suivante :

Les variables propositionnelles p, q, u, v, ... sont des


formules propositionnelles

Dfinition 2.1.

(2)
(3)

(4)

(1)

Si A est une forme propositionnelle alors A est une formule propositionnelle


Si A, B sont des formules propositionnelles alors ( A B), (A B) et
(A B ) sont des formules propositionnelles.
Les formules propositionnelles sont dnies par les clauses 1), 2) et 3).

((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).
Exemple 2.1.

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.

Une valuation Boolenne est une application v de l'ensemble des


formules propositionnelles vers l'ensemble {V,F} vriant les conditions :
Dfinition 3.1.

(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.

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.

Dfinition 3.2.

(2)

(1)

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.

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


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

Il est ais de voir qu'une formule propositionnelle est une tautologie ou une contradiction ; il sut de construire la table de vrit correspondante.

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.
Dfinition 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 :
Exemple 3.3.

A B (A B) (B A).
4. Thorme de remplacement

p) est une tausubstituons la formule propositionnelle ((r s) t) la variable


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

Nous pouvons voir l'aide des tables de vrit que l'nonc (p


tologie. Si nous
propositionnelle

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 :

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.
Thorme 4.1.

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.
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.
Proposition 4.1.

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).

k 1 connecteurs. Par hypothse d'induction B* est logiquement quivalent (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.

Cas 1 : B 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*
et il est logiquement quivalent (B

C)

et donc

C*)

A.

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


(B*

C*) qui est logiquement quivalent (B)

c'est dire

(C)

et donc

(B

C)

A.


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


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

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

p2 . . . pn ) Utiliser la proposition
prcdente pour montrer que ((p1 ) (p2 ) . . . (pn1 ) (pn )) est logiquement
quivalent (p1 p2 . . . pn ).


laquelle A est la formule propositionnelle (p1

(Les lois de Morgan).


Soient A1 , A2 , . . . , An des formules propositionnelles quelconques alors :
Proposition 4.2.

(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.

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.
Dfinition 5.1.

18

2. CALCUL PROPOSITIONNEL

Un litral est une variable propositionnelle ou la ngation d'une


variable propositionnelle.
Dfinition 5.2.

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.

Il existe un algorithme qui transforme une formule propositionnelle ordinaire en forme clausale.
Thorme 5.1.

Avant de dcrire l'algorithme dnissons les notions de

-formule (conjonction)
1
X Y
X
(X Y )
X
(X Y )
X

2
Y
Y
Y

-formule

et

-formule.

-formule (disjonction)
1
(X Y )
X
X Y
X
XY
X

2
Y
Y
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
(a) Si N est

(b) Si N est une

Di

qui contient certains non litraux, soit N par exemple.

remplacer N par

-formule

Z.

remplacer N par la suite des deux formules

1 ,

2 .
-formule remplacer
[1 /]Di et [2 /]Di .

(c) Si N est est une


disjonctions

la disjonction

Di

par les deux

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

Un ensemble complet de connecteurs est un ensemble qui est tel


que toute formule F correspond une formule proposionnelle G logiquement quivalente F contenant que les connecteurs de cet ensemble.
Dfinition 6.1.

Nous pouvons montrer maintenant le rsultat suivant.

Les ensembles {, }, {, } et {, } sont des ensembles


complets de connecteurs.
Proposition 6.1.

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 {,

il sut de montrer que le connecteur


le fait que

AB

} est un ensemble complet

s'exprime en fonction de

est logiquement quivalent

Dfinition 6.2.

et

En utilisera

(A B).

Soient les connecteurs | et dnis par :


p
0
0
1
1

Proposition 6.2.

q pq p|q
0
1
1
1
0
1
0
0
1
1
0
0

{|} et {} dont des ensembles complets de connecteurs.

Dmonstration. Exprimons

et

ou

et

dans

{|}

et

{}.

nous avons :

p
q
p
q

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

Les seuls connecteurs qui forment eux seuls un ensemble de


connecteurs complet sont | et .
Proposition 6.3.

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

A?B

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

A?B

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


eme ligne et 3eme ligne sont identiques 1 le
sera identique |. Si les valeurs de la 2
Si les valeurs de la 2

connecteur

sera identique

Ceci laisse deux autres possibilits :

eme ligne est 1 et la valeur de la 3eme ligne est 0

(1) la valeur de la 2

eme ligne est 0 et la valeur de la 3eme ligne est 1.

(2) la valeur de la 2

? B = A Dans le second cas nous avons A ? B


? pourrait tre dni en termes de . Mais le connecteur

Dans le premier cas nous avons A


=

Dans chacun des cas

(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.
(1) Dmontrer par induction que n

Exercices.
2

2n+3 pour n

(2) Dmontrer par induction sur n que pour tout n

3.

1.

1 + 3 + 5 . . . + (2n 1) =n2 .
3

(3) Dmontrer par induction sur n que n

+ 2n est divisible par 3 pour tout n

(4) Soient A, B et C trois ensembles avec A


(5) Donner la table de vrit ? du

B = A

1.

C. Est-il vrai que B = C ?

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 nancire [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

}. Rdiger un rglement

quivalent plus simple.


(9) Montrer que
(a)

AB

peut tre exprim en fonction de

(b)

AB

ne peut pas tre exprim en fonction de

seulement.

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
(b) Soit

A est satisable si et seulement si A n'est pas une contradiction.

D = L1 L2 . . . Ln (n 4)

et soient

propositionnelles qui n'occure pas dans

D.

c1 , c2 , . . . , cn2 des
E tel que :

variables

On construit

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


cn2 (cn2 Ln c1 )
Montrer que toute validation qui satisfait
rciproquement.

peut tre tendue pour satisfaire

et

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 formalisation 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 particulirement 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.

(1)

(2)

Le systme formel du calcul proposionnel (CPF) est dni par :

L'alphabet est compos de :


(a)

a, b, . . . z : variables propositionnelles

(b)

, : symboles primitifs.

(c)

(, ) : parenthses.

L'ensemble des formules bien formes est dni par induction comme suit :
(a)
(b)

Chaque variable proposionnelle est une formule bien forme.


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)

(3)

(4)

L'ensemble des formules bien formes est engendr par les clauses a) et
b) ci-dessus.

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)
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 variable 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 formules 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.

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.
Dfinition 1.2.

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.

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

Exemple 1.1.

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.

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.
Exemple 1.2.

26

3. CALCUL PROPOSITIONNEL FORMEL

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.
Exemple 1.3.

(Thorme de dduction).
Si A ` B alors ` A B . est un ensemble de formules qui peut tre vide. A
est une formule quelconque.
Proposition 1.1.

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

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

cas 1: B est axiome. On dduit


(1)

`B

(2)

` (B (A B))

(3)

` (A B)

D'o

AB

partir de

A.

comme suit.

axiome.
Axiome1.

1,2 + MP.

` (A B).

cas 2: B
1
2
3

; ce qui suit est


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

une dduction de
lment de

(A

B).

Axiome 1.
1, 2 + MP.

cas 3: B
dans

A. Nous avons vu que (A A) est un thorme. La dmonstration


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
chacune d'elle est dduite partir de

B et

A et chacune de leur dmonstration

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

(A

(C

La dduction de (A

B) partir de

(A

C) et

B)).

peut tre donne comme suit :

(1)
.
.
.
(k) (A

C)

.
.
.

(C

B))

(l+1) (A

(C

(l) (A

(l+2) (A
(l+3) (A

C)

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

B))
(A

B)) Axiome 2.

B) k, l+2 + MP.

(rciproque du thorme de dduction.)


Si ` (A B) alors A ` B.
Proposition 1.2.

Dmonstration. Soit une dduction de (A

B) partir de

est de construire une dmonstration de B partir de

Notre objectif

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)
(2)
(3)
(4)
(5)

`
`
`
`
`

(A
(B

B)
C)

hypothse
hypothse

hypothse

1, 3 + MP.

2,4 + MP.

Nous avons dmontr (A

B), (B

C), A

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

28

(A

3. CALCUL PROPOSITIONNEL FORMEL

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.

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 :
Dfinition 2.1.

(1)

v(A) 6 = v(A)

(2)

(
v(A B) =
Dfinition 2.2.

v, v(A) = T .

F
T

ssi v(A) = T et v(B) = F


sinon

Une fbf A du CPF est une tautologie si pour chaque valuation

2. ADQUATION ET COMPLTUDE DU CPF.

29

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.
Remarque 2.1.

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 tautologies 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.

Soit A une formule du CPF et p1 , p2 , p3 , ..., pk des formules atomiques dans A et soient
(
pi
si pi = 1
p0i =
pi si pi = 0
Lemme 2.1.

et
(
A0i =

Ai
si Ai = 1
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


a bien p1

p1 et

p1 ` p1 .

et

contenus dans A. Si n=0 alors A est p et on

30

3. CALCUL PROPOSITIONNEL FORMEL

cas 1: Si A est

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. 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'.
A prend la valeur 0. Donc B' est B et A' est

cas 2: A est (B
p'1 ,...p'k

C). B et C contiennent moins de symboles logiques que A.

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 (B C)) et p'1 ,...p'k ` B et la


p'1 ,...p'k ` (B C). Mais comme (B C) est A'

En utilisant le thorme

rgle MP. on obtient :


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
p'1 ,...p'k

`
`

C ou p'1 ,...p'k

C'. En utilisant le thorme

C et MP on obtient : p'1 ,...p'k

(B

(C

(B

C)),

C).

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

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


(C (B C)).
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'.

C' est


Dmonstration du thorme. Soit A une tautologie et soient p1 ,...pk les formules atomiques de A. D'aprs le lemme prcdant et le fait que A'
p'1 ,...p'k

` A. Si pk

prend la valeur 1 alors p'1 ,..., p'k1 pk

` A et si pk

A nous avons

prend la valeur

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


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 `

0 alors 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.

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


telle que A et A sont des thormes.
Corollaire 2.1.

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


tre toutes les deux des thormes.

ne peuvent

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
signie que A dcoule de l'hypothse H et o

|=

A qui

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
est contradictoire (c..d un sous ensemble ni de propositions de

F=H

{A }

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'utilisation 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 gnralisation 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


C est dite une

avec pour tout i

avec pi

P.

Une proposition

clause si C est une disjonction de littraux :


C = p1

C =

pi

n,

p2

...

pi

pi+1

pi est un littral. Si n=0 ,

...

pn

C est la clause vide qui sera note

(= faux). On admettera que dans une clause il n'y a pas de rptition d'un

mme littral. Les littraux p et

sont dits opposs. Une paire {p,p'} de littraux

est dite oppose si p et p' sont opposs.

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

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

0
nouvelle conjonction S telle que

est tranforme en une

S 0 est insatisfaite
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.
S

est insatisfaite si et seulement si

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

alors S est insatisfaite.

(b) Si la rgle (a) ne s'applique pas et

contient une clause un litral

l, S 0 est obtenu partir de

Gi =
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


dans

alors que son oppos (l) n'occure pas dans

occure

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

et son oppos

qui occurent dans

S.

Alors

peut se mettre sous la forme :

(A1 l) . . . (An l)
(B1 l) . . . (Bm l)
R1 . . . Rp
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.
Les clauses

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
implique que

p3 (a)

on obtient la clause vide, ce qui

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 c (par 1b sur b)
contradiction (par 1a)

c b (c b) (c b)
b b (par 1b sur c)
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

une formule,

et

deux ensembles de formules nous crirons :

, X `
`

au lieu de
au lieu de

{X} ` .
` .

La smantique d'un squent est donne par la dnition suivante :

Soit v une validation dnie de l'ensemble des squents vers


l'ensemble {0, 1} des valeurs de vrit. Alors nous avons :
Dfinition 4.2.

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 ).

Les axiomes et les rgles d'infrence du calcul des squents sont :


(Axiome) X ` X .
Dfinition 4.3.

` , X
( gauche)
, X `

, X `
( droit)
` , X

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

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

, X ` , Y `
( gauche)
, X Y `
` , X
, Y `
( gauche)
, X Y `
Dans un rgle, par exemple
prmisse de la rgle et le squent

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

( droit), le squent , X ` , Y est


` , X Y la conclusion de la rgle.

appell

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


des squents est la suivante :
Exemple 4.1.

34

3. CALCUL PROPOSITIONNEL FORMEL

1. P ` P
3. P, Q ` P

2. Q ` Q.
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
squent

` F.

Un squent

F,

il sut de montrer le

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.

squents.

Si X est une tautologie alors X est un thorme du calcul des

5. EXERCICES.

35

5. Exercices.
I. Montrer que les formules suivantes sont des thormes :

(1) (A

B)

(2) (A

(3)
II. Soit

CP F +

((A

B)

B (A

(B

B).

B)).

A)

une extension de CPF obtenue en ajoutant un quatrime axiome :


((A

Montrer que

CP F +

B )

(A

B)).

est inconsistant.

III. Montrer que si B est une contradiction alors B n'est thorme d'aucune extension 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

, X

est un th ?or ?me dans le calcul des s ?quents alors

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
La formule

xP (x)

et .
xP (x)

se lit : Il existe x

se lit : Pour tout x

dnition du prdicat

D,

P (x)

D tel que

P (x)

est vraie et, la formule

est vraie. L'ensemble D est ici le domaine de

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 , . . .
a1 ,a2 , . . .
P1 , P2 , . . .
f1 ,f2 , . . .
,
,
(2)

les variables
les constantes
les prdicats
les fonctions
les connecteurs
les quanticateurs

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
termes alors fi (t1 , t2 ,

. . .,

arguments du

CP.

tn ) est un terme du

et t1 , t2 ,

. . .,

tn sont des

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)
(2)

(3)

Chaque formule atomique est une formule bien forme.


Si A, B sont des formules bien formes du CP. alors A, (A B), (x)A,
et (x)A sont des formules bien formes.
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

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


quantie par le quanticateur universel . Les positions occupes

Dans la formule
x est dite variable

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


prcdante F la variable x possde deux occurences.

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.
Dfinition 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.
Exemple 2.1.

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.
Dfinition 2.2.

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 interprtant 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
(c.a.d x, y

N)

xyP (x, y).

Plaons nous dans l'ensemble des entiers naturels

et interprtons P(x,y) comme tant la relation  x

interprtation la formule devient

y. Pour cette

xy(x y). Remarquons qu'il est ais, dans ce cas,

de voir si cette formule est une proposition vraie ou une proposition fausse.

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 :
Dfinition 3.1.

(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 naire Fi .

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 dfinition d'une interprtation. Soit par exemple :
Exemple 3.1.

(1)

(2)

(3)

DI N l'ensemble des entiers naturels.


Assigner la fonction f, la fonction f : N N N denie par f(x,y) = x +
y,
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


prcdent donne la formule :

de l'exemple

(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.

Soit A une formule du calcul des prdicats et soit I une interprtation. 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 :
Dfinition 4.1.

(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.

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 :
Exemple 4.1.

(1)
(2)

Si v(P(y))= F alors v(P(y))=T et donc v(G) = T.


Si v(P(y))=T alors v(y = a)= T o a est la valeur de y pour laquelle
v(P(y))=T.

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.
Dfinition 4.2.

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.
I. v(A) = T et v(A B) = T. Par
6= T car v(A) = T. Donc v(B) = T.

Dmonstration. Soit l'interprtation

nition v(A) = T ou v(B) = T Or v(A)

d-

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


o x est une variable quelconque.

5.

EXERCICES.

Dmonstration. Supposons que nous avons

41

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

DI et par dnition
I |= A est immdiate.
tout d

Lemme 4.1.

v( x A) = T. D'o

I. Donc v ([d/x]A) = T pour


I |= xA. La rciproque I |= xA


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 :


P(a,a)

P(a,b)

P(b,a)

P(b,b)

D = {a, b}

et

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 langage 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.

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.
Dfinition 6.1.

Remarquons que les axiomes du calcul des prdicats ci-dessus sont des axiomes
schemas. Chacun d'eux remplace une innit de formules appeles instances.

Les formules (p r) ((p p) (p r)) et


c) a)) sont des instances de l'axiome (ax1).
Exemple 6.1.

(a ((b

6. CALCUL DES PRDICATS FORMALIS

43

Remarquons aussi que l'ensemble des axiomes du calcul des prdicats inclut l'ensemble 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.

Une dmonstration dans le calcul des prdicats formel est une


suite de formules A1 , A2 , . . ., An telle que :
Dfinition 6.2.

(1)
(2)

Ai est un axiome ou
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)
(2)

Pi est un axiome ou un lment de ou


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

(Ici
de ).

partir de
formules

A n'est pas un thorme, la formule A se dduit de l'ensemble des

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.

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.
Exemple 6.2.

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).

Toutes les instances des axiomes schemas (ax4), (ax5) et (ax6)


sont logiquement valides.
Proposition 6.2.

Dmonstration. .

Pour l'axiome (ax4), considrons une validation v d'une interprtation


Supposons que v satisfait

du

CP.

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
un terme t

xA(x)

A) qui est donc logiquement valide. Pour l'axiome (ax5) considrons


tel que x 6 t et une validation v. Il sut de dmontrer que si v satisfait

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
valide.
Corollaire 6.1.

xC est aussi logiquement




Le Calcul des prdicats du premier ordre est consistant.

Dmonstration. Supposons que l'on a :

A et

A. Alors A et

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

sont

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

`A.

et

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

xA

Cette dmonstration donne la formule A


Mais remarquons que si x

du thorme de dduction.)
comme un nouveau thorme.

FV(A) alors, la formule A

xA

n'est pas valide.

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.
Thorme 6.1.

(Thorme de dduction).

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


Nous dduisons

(A

A ou B

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

B.

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

Cas 2. B est un axiome 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-

A ou B

xC o C apparat dans la dduction


d'induction ` A C puisque il n'y a aucune

mule prcdante par gnralisation. Donc B est

{A}`

(A

C). Par hypoyhse

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
comme suit :

{A}

se fait sur la variable x. La dduction de (A

B) partir est

46

4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

1
.
.
.

. dduction de (A

(k)
(k+1)
(k+2)
(k+3)

C) partir de

(A C)
x(A C) (k) + rgle de gnralisation.
x(A C) (A xC (ax6).
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.

Cet exemple donne la dmonstration des deux thormes


(A xB) x(A B)si x 6 FV(A) et x(A B) (xA xB).
Exemple 6.3.

(1)

Si x 6 FV(A) alors ` (A xB) x(A B).


1-`
2-`
3-`
4-`
5-`

(2)

(A x B)
xB B
(A B)
x (A B)
(A xB) x(A B)

hypothse
(axiome 4)
1+2 +SH
3+gnralisation
1,3+Thorme de dduction.

` x(A B) (xA xB).

a) ` x (A B)
b) ` x B
c) ` x (A B) (A B)
d) ` (A B)
e) ` (A B) (B A)
f ) ` (B A )
g) ` (x B) (B)
h) ` B
i) ` A
j) ` xA

hypothse
hypothse
(axiome 4)
a+c+MP
tautologie.
d+e+MP
(axiome 4)
b,g + MP
f,h + MP
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
par : A

B est identique

((A B) (B

. Il sera dni

A)).

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

Dmonstration.

1)
2)
3)
4)
5)

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

A))
A))
A))

Par hypothse

(A
(B

B)
A)

Tautologie
Tautologie
1+2 + MP
1+3 + MP

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

(A

B)

((B

A)

est une tautologie.

((A

B)

(B

A)))

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


alors, A et B sont dit quivalents.
Dfinition 6.4.

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.
Proposition 6.5.

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.

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 )
Proposition 6.6.

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)
2)
3)
4)
5)

`
`
`
`
`

xi
xi

A(xi )
A(xi )

Hypothse

A(xj )

Axiome 5

A(xj )

1 + 2 + MP

xj
xi

3 + rgle de gnralisation

A(xj )
A(xi )

xj

A(xj )

puisque xj n'est pas libre dans

xi

A(xi )

Et de la mme manire nous obtenons :

` xj
et donc :

xi A(xi )
A(xi ) xi A(xi )

A(xj )

` 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.

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


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

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

variables libres dans A.

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 formule avec n 1 variables libres. Considrons la formule (yn )A qui a n 1 variables
Base de l'induction :

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.

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.
Dfinition 6.5.

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 disjonctive. 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 variables 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.

Toute formule du calcul des prdicats peut tre transforme en


une formule quivalente sous forme normale prnexe conjonctive.
Thorme 7.1.

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 quanticateurs

ou

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


par

v1 B(v)

ou

v1 B(v).

B par (A

ou

vB(v)

La variable v1 est une nouvelle variable.

(3) Eliminer les connecteurs autre que


B et A

vB(v)

B)

, et .
A).

Remplacer A

B par

(4) Dplacer les connecteurs l'exterieur de la formule. Remplacer :

50

4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

vA(v) B
B vA(v)
B vA(v)
vA(v) B
B vA(v)
vA(v) B(v)
vA(v) vB(v)

v
v
v
v
v
v
v

par
par
par
par
par
par
par

(5) Appliquer la distributivit de

B) C
(B C)

(A

par

(A

par

(A

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

C)
B)

(B
(B

remplacer

C)
C)

La formule ainsi obtenue est la formule F' recherche.

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 :
Exemple 7.2.

(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 recherche.
8. Exercices

(1) Dmontrer les thormes suivants :


(a)

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

9. SOLMISATION, RSOLUTION

(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))

51

(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 Putnam, 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 articielle.
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 atomique. 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
O Ci (0
xj si

< i < k + 1)
i 6= j .

C2

...

Ck )

est une clause et les xi (in) sont des variables telles que xi

Par exemple, P(f(x), a) et

q(y)

P(f(x),a)

6=

sont deux littraux. La formule :

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


quivaut

Ds

satisfaisable.

satisfaisable

52

4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

(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.
Thorme 9.1.

Dmonstration. La transformation de

D1 , D2 , . . . Dn

, telle que

D = D1 , Dn = Ds

D
et

se fait par la construction de la suite

Di

satisfaisable

Di+1

satisfaisable.

La procdure de construction est comme suit :


(1) Prendre la fermeture existentielle de
de

par le quanticateur

(2) Eliminer dans

(c..d quantier les variables libres

).

tous les quanticateurs redondants.

(3) Renommer chaque variable quantie dans

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)

(
x(A B)par

A xB
xA B

si x n'est pas libre dans A

A xB
xA B

si x n'est pas libre dans A

A xB
xA B

si x n'est pas libre dans A

A xB
xA B

si x n'est pas libre dans A

si x n'est pas libre dans B

(b)

(
x(A B)par

si x n'est pas libre dans B

(c)

(
x(A B)par

si x n'est pas libre dans B

(d)

(
x(A B)par

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


ment gauche de

yB(y)

quanties universelle-

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
(9) Distribuer

et

gauche.

(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 important 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 contradictoire.

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.
Dfinition 9.1.

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


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

Exemple 9.2.

{a, f (a)} et H

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).
Dfinition 9.2.

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.
L'ensemble ni de clauses S est contradictoire si et seulement
si l'ensemble H(S) est contradictoire.
Corollaire 9.1.

Le thorme de Herbrand et son corollaire suggrent une procdure pour dmontrer 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 dtecter 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)
La forme prnnexe conjonctive de cette formule est :

p(x,z))).

9. SOLMISATION, RSOLUTION

yzux

{(p(z,y)

p(z,x) p(x,z))

(p(z,y)

p(z,u))

55

(p(z,y)

p(u,z)) }

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


c1
c2
c3

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


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

L'ensemble S(F) contient :

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)
i

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,

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 mthode se rsume S = F1
F2

...

Fn

F2

...

Fn est insatisfaisable si et seulement si S' = F1

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
c8
c9

p(f(a),a) p(a,f(a)) rsolution de c6


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

et c1 .

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 inacceptable. 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'introduire 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 chacune 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 atomiques. 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
iques A1

A2

est dite un unicateur de la disjonction des formules atomAn 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

gnral si pour chaque unicateur


Ai (pour 1 i

A2

...

An est un unicateur le plus

pour cette disjonction Ai est une instance de

n). La formule atomique B telle que B = Ai = ... = An obtenu

9. SOLMISATION, RSOLUTION

par un unicateur le plus gnral

, appele facteur de A1

57

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
A1

A2

...

pour une certaine disjonction

An uniable. Il renvoit une erreur si cette disjonction n'est pas

uniable.
Dfinition 9.5.

(1)

(2)

Algorithme d'unication

Dbut : L'algorithme commence avec un substitution 0 ={} vide et construit


pas pas l'unicateur le plus gnral .
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'unicateur 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'ensemble 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 :

(p(x)

(q(x)

p(y)))

xy(q(y)

(a) Donner la forme prenexe conjonctive de F.


(b) Skolmiser F.

p(x))

60

4. CALCUL DES PRDICALTS DU PREMIER ORDRE.

(2) On considre les deux formules suivantes :

x h(x) yh(y)
G : x (h(x) r(x))
C : xr(x) y p(y)
F :

(a) Trouver un ensemble de clauses

quivalent {F, G,

(b) Trouver le domaine de Herbrand de

C}.

(c) Montrer par la mthode de rsolution que

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 membre 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 adhrent 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.

You might also like