Chapitre 5
Logique des pr dicats
5.1
Introduction
Dans la logique des propositions on consid re une proposition comme un tout, repr -
sent par une variable, dont on ne d taille pas le contenu. On ne sint resse qu la v rit
ou la fausset dune proposition. La logique des pr dicats, galement appel e logique
du premier ordre, regarde les propositions de plus pr s. Dans lanalyse des propositions
l mentaires en langue naturelle on peut distinguer
un sujet (ce dont on parle) et d ventuels compl ments
un pr dicat (ce quon dit propos du sujet et de ses compl ments)
Par exemple, dans la proposition Jules est grand on a
un sujet : Jules
le pr dicat : est grand
Dans la proposition Maya mange une pomme on a
un sujet Maya et un compl ment pomme
le pr dicat : mange
On pourrait r crire les propositions pr c dentes sous une forme qui met en vidence le
pr dicat, soit :
est grand (Jules)
mange(M aya, pomme)
Suivant ce mod le, la logique des pr dicats repr sente les propositions l mentaires (ato-
miques) son la forme :
nom-pr dicat(objet1, objet2, . . .)
o objet 1, objet 2, . . . sont les objets sur lesquels porte le pr dicat (le sujet et ses ven-
tuels compl ments)
45
5.2. SYNTAXE DE LA LOGIQUE DES PR DICATS
En logique des pr dicats les variables repr sentent non pas des propositions mes des
objets sur lesquels portent les pr dicats. Lintroduction de variables permet de formuler
deux types d nonc s.
Les nonc s universels. Dans ce cas les variables repr sentent tous les objets dun
domaine. Comme dans
Si X est une girafe alors X est un animal.
Les nonc s existentiels.
quon le connaisse pr cis ment ou non. Comme dans
Ici une variable repr sente un objet particulier du domaine,
Il y a au moins un nombre entier Z tel que Z > 3 et Z 2 < 30.
Contrairement aux variables, les constantes repr sentent des objets particulier et
connus : 1642 (un nombre entier), Ivan (une personne particuli re), etc.
Enn, la notion de fonction correspond la notion habituelle de fonction qui associe
un ou plusieurs objets (les param tres) une valeur (le r sultat de la fonction). Par exemple
age(x) associe une personne x un nombre entier (son ge) ou distance(x, y) qui fournit
la distance entre deux villes x et y.
5.2 Syntaxe de la logique des pr dicats
Langage logique
Pour crire des formules de logique des pr dicats, on commence par se donner un
vocabulaire (ou signature) W compos de symboles de di rents types :
variables ( x , y , z , ...)
constantes ( a , b , c , ...)
fonctions ( f , g , h , ...)
pr dicats ( p , q , r , ...)
chaque symbole de fonction et de pr dicat est associ e un nombre darguments (arit )
qui est un entier positif ou nul. On peut consid rer que les constantes sont des fonctions
0-aires.
Universit de Gen ve G. Falquet
c
46
5.2. SYNTAXE DE LA LOGIQUE DES PR DICATS
Grammaire de la logique des pr dicats
terme = constante | variable
| fonction "(" terme { "," terme } ")"
atome = pr dicat "(" terme { "," terme } ")"
formule = atome
variable formule
variable formule
formule
|
|
|
| formule connecteur formule
connecteur =
|
'
(
|
|
Priorit des connecteurs
Pour viter les ambiguit s on xe une priorit des connecteurs logiques
et
et
>
>
(
>
b
et
g signie ((
'
a
(
x b
g signie (
qui est di rent de
a)
x b)
x (b
(
g
b)
g
g)
Variables libres et li es
Les variables qui apparaissent dans une formule sont dites libres ou li es, selon le
principe suivant :
toutes les variables dune formule sans quanticateur sont libres
si x est libre dans w , x est li e dans
xw et dans
xw
Exemple 5.1. Dans la formule
x et y sont libres.
Dans
x est li e, y est libre
Dans
p(x)
q(y)
(
x(p(x)
'
r(y, x))
x(p(x)
q(x))
r(x)
(
'
la variable x joue deux r les di rents, elle est li e dans la partie gauche de
et libre dans
la partie de droite. Bien que cette formule soit syntaxiquement correcte, il est fortement
d conseill de l crire ainsi, mieux vaut renommer x en y dans lune des deux parties.
'
D nition 5.1. Une formule dont toutes les variables sont li es est dite formule ferm e
ou proposition.
Universit de Gen ve G. Falquet
c
47
5.3. S MANTIQUE
Une formule avec une ou des variables libre est dite ouverte. On notera w(x, y, z) pour
indiquer que la formule w poss de x, y et z comme variables libres.
Par exemple, w(x, z) = p(x)
yq(x, y, z) est une formule ouverte o x et z sont libres.
'
5.3 S mantique
Le sens dune formule ferm e sera lune des valeurs bool ennes vrai (1) ou faux (0).
Pour pouvoir interpr ter une formule il faut
donner une valeur aux variables
donner une valeur chaque constante
un moyen dinterpr ter les atomes p(t1, . . . , tn)
un moyen dinterpr ter les fonctions f (t1, . . . , tn)
une r gle dinterpr tation des formules quanti es
Rappel
Une fonction n -aire f sur un ensemble A, not e f : A
valeurs (a1, . . . , an) une valeur f (a1, . . . , an) = a
A
Une relation n-aire r sur un ensemble A, not e r
(a1, . . . , an) dont les l ments appartiennent tous A.
A, associe un n-tuple de
An est un ensemble de n-tuples
D nition 5.2. Une interpr tation I de W (ou structure relationnelle sur W ) est la
donn e de :
un ensemble non vide D, le domaine de linterpr tation
une fonction I qui associe
chaque variable une valeur de D
chaque constante une valeur de D
chaque symbole de fonction n arguments une fonction totale de Dn dans D
chaque symbole de pr dicat k arguments une relation k
Publicité
aire dans D (un
sous-ensemble de Dk
Interpr tation des termes
On d nit une fonction dinterpr tation I par
Terme
constante c
variable x
f (t1, . . . , tn)
I(Terme)
I(c)
I(x)
I(f )(I(t1), . . . , I(tn))
Exemple 5.2. On a une interpr tation I d nie par
un domaine D =
0, 1, 2, 3
}
{
Universit de Gen ve G. Falquet
c
48
5.3. S MANTIQUE
I(a) = 0, I(b) = 1, I(c) = 2, I(d) = 3
I(f ) =
0, (1, 0)
(0, 0)
{
I(x) = 1, I(y) = 0
0, (0, 1)
2, (2, 3)
2, (3, 3)
3,
3 pour le reste
}
calcul de quelques interpr tations de termes selon I :
I(a) = 0
I(f (a, x)) = I(f )(0, 1) = 0
I(f (x, f (y, b))) = I(f )(1, I(f )(0, 1)) = I(f )(1, 0) = 2
Interpr tation des atomes
Le principe dinterpr tation des atomes consiste valuer les termes donn s comme
param tres au pr dicat puis voir si le n-uplet de termes obtenu fait partie de linterpr -
tation du pr dicat.
I(p(t1, . . . , tn) = v
si et seulement si
(I(t1), . . . , I(tn))
I(p)
La relation qui forme linterpr tation I(p) du pr dicat p fournit donc lensemble des
valeurs de param tres pour lesquels on veut que le pr dicat soit vrai.
Linterpr tation des atomes tant d nie, on peut interpr ter toutes les formules pos-
en utilisant les m mes r gles quen logique des
s dant des connecteurs logiques
propositions.
'(
Extension aux formules avec quanticateurs
Pour interpr ter les formules quanti es on commence par introduire la notion de
variante dune interpr tation. On dit quune interpr tation J est une variante de I en x
si J est partout identique I, sauf pour la variable x.
On note Ix=d la variante de I o I(x) = d (d
D)
Remarque. I est une variante de I en x (qui consiste reprendre la m me valeur pour
x)
On peut alors interpr ter les formules quanti es en appliquant les deux r gles sui-
vantes :
1. Quantication universelle
si et seulement si pour tout d
D on a
I(
x ) = v
Ix=d( ) = v
Universit de Gen ve G. Falquet
c
49
5.3. S MANTIQUE
autrement dit, la formule doit tre vraie pour toutes les valeurs possibles de la variable
x quanti e.
2. Quantication existentielle
I(
x ) = v
si et seulement si il existe un l ment d
D tel que
Ix=d( ) = v
Exemple 5.3. Soit le vocabulaire compos des symboles :
constantes a, b, c, d, k1, k2, k3, k4
pr dicats P (unaire), E (unaire), C (unaire), I (binaire)
variables x, y, z, u, v, w
On interpr te ce langage dans le domaine compos des tudiants, des cours, des personnes
et des inscriptions dune (micro) universit . Le domaine est lensemble D = Personne
Etudiant
Cours, o
*
*
Personne =
Etudiant =
Cours =
Alice, Bob, Charles, Diane
{
Alice, Bob, Charles
{
C1122, C1101, M2001, M2002
{
}
}
}
Linterpr tation des constantes est donn e par :
I(a) = Alice, I(b) = Bob, I(c) = Charles, I(d) = DianeI(k1) = C1122, I(k2) =
C1101, I(k3) = M2001, I(k4) = M2002
et linterpr tation des pr dicats par
I(P ) = Personne, I(E) = Etudiant, I(C) = Cours
I(I) = Inscription =
(Alice, Histoire), (Bob, Chimie), (Charles, Histoire)
}
.
{
(La gure 5.1 r sume graphiquement cette interpr tation.)
Interpr tons quelques formules selon I
1. I(a) = Alice
2. I(C(k3)) = v car I(k3) = M2001 et M2001
3. I(C(a)) = f car Alice
4. I(I(c, k1)) = v car (Charles, C1122)
5. I(
6. I(
7. I(
y I(x, y)) = f car Ix=M2001(
y I(x, y))) = vrai car
x I(x, C1101)) = v car Ix=Bob(I(x, C1101)) = v.
x
I(C).
I(C)
I(I)
x(E(x)
Ix=Alice(E(x)
y I(x, y)) = v (prendre y = C1122)
y I(x, y)) = f (entre autres).
Universit de Gen ve G. Falquet
c
50
5.3. S MANTIQUE
a
b
c
d
k1
k2
k3
k4
P
E
Bob
Alice
Charles Diane
Etudiant
Personne
C1101
M2002
C1122
M2001
Cours
Inscription
I
C
Figure 5.1 Une interpr tation du vocabulaire a, b, c, d, k1, k2, k3, k4, P, E, I, C
y I(x, y)) = v (prendre y = C1101)
Ix=Bob(E(x)
Ix=Charles(E(x)
y I(x, y)) = v (prendre y = C1122)
et E(x) = f , donc la formule est vraie, pour toutes les autres valeurs de x.
Lorsquon value une formule il faut faire attention aux fait que deux variables qui portent
des noms di rents peuvent repr senter la m me valeur du domaine.
Publicité
Exemple 5.4. Si on consid re linterpr tation J d nie par
D =
J(ville) =
J(distance) =
Milan, Tokyo, Oslo
{
N
Milan, Tokyo, Oslo
}
{
}*
La formule
(Milan, Tokyo, 9710), (Milan, Oslo, 1608), (Oslo, Tokyo, 8401)
}
{
x
y(ville(x)
ville(y)
'
z (distance(x, y, z)
distance(y, x, z))
(
repr sente le fait quentre deux villes il y a toujours une distance (z). Cependant elle
est fausse dans linterpr tation J car les variables x et y peuvent repr senter la m me
ville. Pour rendre la formule vraie il faudrait ajouter linterpr tation de distance :
(Milan, Milan, 0), (Tokyo, Tokyo, 0), (Oslo, Oslo, 0).
Propri t s des formules ferm es
Les formules ferm es repr sentant des propositions, on peut reprendre telles quelles
les d nitions de satisabilit , mod le, quivalence et cons quence logique de la logique
des propositions.
D nition 5.3. tant donn une interpr tation I est une formule ferm e f , on note
= A le fait que I(A) = f . Une formule ferm e f et
I
|
= A le fait que I(A) = v et I
|
Universit de Gen ve G. Falquet
c
51
5.4. D DUCTION
satisable sil existe une interpr tation I telle que I
= A, on dit alors que I est un mod le
|
de A. Dans le cas contraire on dit que A est inconsistante. Une formule A est valide si
= A.
I
|
= A pour toute interpr tation , on note
|
Exemple 5.5. Lensemble de formule
F =
{
p(a, b),
y p(a, y)
}
est inconsistant car pour avoir I(p(a, b)) = v il faut n cessairement que (I(a), I(b))
y p(a, y)) = f . Les deux formules ne peuvent jamais tre vraies
I(p). Mais alors I(
simultan ment. La formule
(
est valide. Si linterpr tation I(P ) contient tous les l ments du domaine D la partie
gauche de la formule est vraie, si ce nest pas le cas, cest la partie droite qui est vraie.
x P (x))
(
y
(
P (y))
5.4 D duction
Les r gles de d duction naturelle pour la logique des propositions restent valables.
Pour obtenir un syst me complet il faut leur adjoindre des r gles sp cique aux formules
quanti es :
Elimination du quanticateur universel
SI F (x) est une formule o x est libre et t est un terme qui ne contient aucune variable
li e de F , on peut remplacer x dans
x F (x) par t pour obtenir F (t)
x F (x)
1.
2. F (t)
Exemple :
de
x(x + 1 > x) on peut d duire 3 + 1 > 3.
Introduction de
Si on a pu d duire une formule F (x) o x est libre alors on peut d duire
1. F (x)
2.
En g n ral la variable x est introduite dans une hypoth se.
x F (x)
x F (x)
Universit de Gen ve G. Falquet
c
52
5.5. NORMALISATION ET R SOLUTION
Introduction de
Si on a d duit une formule F (t) qui contient un terme t (p.ex. une constante) on peut
en d duire quil existe un x qui satisfait F (x)
x F (x)
1. F (t)
2.
Exemple
1. 0.52 < 0.5
x(x2 < x)
2.
Suppression de
partir de
x F (x) on peut formuler une hypoth se F (y) puis faire des d ductions
avec elle.
1.
2.
3.
4. R ( limination de il existe dans 1 et 3)
x F (x) (hypoth se)
F (y) (y variable nouvelle)
R (d duction partir de 2)
Exemple de d duction
x A(x)]
[
A
y
[
A(y)] hypoth se
A(t)]
[
A(t)
y
(
x A(x)
limination
A(y))
y
(
Ҭ
A(y))
absurde
importation et introduction de
5.5 Normalisation et R solution
Lapplication de r gles dinf rence telles que le principe de r solution exige la mise en
forme normale des formules. Dans le cas de la logique des pr dicats cette mise en forme
se fait en quatre tapes :
1. Mise en forme prenex (d placement de tous les quanticateurs au d but de la for-
mule)
2. Skolemisation (suppression des
)
Universit de Gen ve G. Falquet
c
53
5.5. NORMALISATION ET R SOLUTION
3. Mise en forme normale conjonctive
4. Mise en forme clausale (suppression des
)
Forme prenex
Une formule est dite en forme prenex si tous ses quanticateurs apparaissent au d but.
Il est toujours possible de transformer une formule en une formule quivalente sous forme
prenex. Pour cela on applique autant de fois que n cessaire les quivalences
Publicité
x w
x
a
w
x w
x
a
w
x w1)
(
w2 a
x(w1 '
'
w2) si x napparait pas dans w2
x w1)
(
w2 a
x(w1 (
(
w2) si x napparait pas dans w2
Exemple 5.6. La mise en forme prenex pr serve les quanticateurs
z A(x, z))
x
y(E(x, y)
x
y(
a
y
x
a
y
x
a
E(x, y)
z(
z(E(x, y)
E(x, y)
(
(
z A(x, z))
A(x, z))
A(x, z))
Exemple 5.7. La mise en forme prenex modie les quanticateurs
x((
y(A(x, y))
a
a
a
a
y(A(x, y))
A(x, y))
A(x, y)
x(
(
x((
y
y(
x(
y(A(x, y)
x
B(x))
B(x))
B(x))
B(x)))
(
(
(
B(x))
Skolemisation
Le but de cette op ration est de supprimer les quanticateurs
sation provient de lobservation suivante : lorsque on a une formule du type
. Lid e de la skol mi-
x
y p(x, y)
(5.1)
54
Universit de Gen ve G. Falquet
c
5.5. NORMALISATION ET R SOLUTION
cela signie que pour chaque x on peut trouver au moins un y tel que p(x, y). Donc
on peut d nir une fonction f (x) qui nous fournit une valeur y = f (x) telle que p(x, y)
est vraie. Ceci qui nous permet de r crire la formule 5.1 comme
Sil y a plusieurs quanticateurs universels, la fonction d pend de toutes les variables
x p(x, f (x))
qui viennent avant y dans la formule.
Exemple 5.8. Skolemisation
1. A1 =
x
y
z(E(x, y)
A(x, z)).
sk(A1) =
x
y(E(x, y)
A(x, f (x, y))).
2. A2 =
x
u
y
z(P (x, u)
(Q(u, y)
R(y, z))).
sk(A2) =
x
'
y(P (x, f (x))
(Q(f (x), y)
'
R(y, g(x, y)))).
La skolemisation ne conserve pas le sens des formules. En g n ral sk(A) nest pas quiva-
lente A, mais
Th or me 5.1. A est satisable si et seulement si sk(A) lest.
Par cons quent, pour d montrer que
on peut d montrer (par exemple avec le principe de r solution) que
f1, . . . , fn} |
= g
{
sk(f1), . . . , sk(fn), sk(
g)
}
{
est inconsistant.
Forme clausale
Un fois que la formule a t skol mis e il ne reste que des variables quanti es univer-
sellement. On peut donc se passer de l criture explicite des quanticateurs. La formule
restante est compos e datomes et de connecteurs logiques. On peut alors appliquer la
m me technique quen logique propositionnelle pour la mettre en forme normale conjonc-
tive, puis sous forme dun ensemble de clauses.
Universit de Gen ve G. Falquet
c
55
5.5. NORMALISATION ET R SOLUTION
Exemple 5.9. Si on repart de la formule skol mis e
sk(A2) =
x
y(P (x, f (x))
(Q(f (x), y)
'
R(y, g(x, y))))
, l limination des quanticateurs universels donne
P (x, f (x))
Publicité
(Q(f (x), y)
'
R(y, g(x, y)))
. En appliquant la transformation
on obtient
(
P (x, f (x))
(
(Q(f (x), y)
'
R(y, g(x, y)))
. Puis par distributivit
P (x, f (x))
(
(
Q(f (x), y))
P (x, f (x))
(
'
(
R(y, g(x, y)))
et donc deux clauses :
1.
2.
P (x, f (x))
P (x, f (x))
Q(f (x), y))
R(y, g(x, y))
(
(
Application du principe de r solution en logique des pr dicats
On se rappel que la r gle de r solution en logique propositionnelle stipule qu tant
donn deux clauses
et
C1 = L1 (
. . .
Li (
(
. . .
(
Lm
C2 = M1 (
. . .
Mj (
(
. . .
(
Mn
o Li = p et Mj =
Le r solvant de C1 et C2 sur Li et Mj est la clause
p.
Li
. . .
CR = L1 (
Lm (
Dans le cas de la logique des pr dicats, on peut eectuer la r solution sur deux litt raux
P (u1, . . . , un) non seulement sils sont gaux mais galement si les ti et
Mj+1 (
Li+1 (
M1 (
1 (
1 (
Mn
Mj
. . .
. . .
. . .
(
(
(
(
P (t1, . . . , tn) et
ui uniables.
D nition 5.4. Deux formules atomiques sont uniables sil existe une substitution des
variables par des termes qui rend les deux formules identique.
Universit de Gen ve G. Falquet
c
56
5.5. NORMALISATION ET R SOLUTION
Par exemple, les formules atomiques P (x, a, y) et P (c, a, z) , o a et c sont des
constantes, sont uniables par la substitution x
c, y
z .
Par contre P (x, a, y) et P (c, b, z) ne sont pas uniables car les constantes a et b ne
peuvent tre uni es (on ne peut remplacer une constante par une autre).
Exemple 5.10. R solution avec unication
C1 =
P (x)
(
Q(y)
(
R(x, y)
C2 = Q(a)
C3 = P (b)
y
x
a sur C1 permet la r solution avec C2 :
CR =
b sur CR, r solution avec C3 :
P (x)
(
R(x, a)
CS = R(b, a)
Comme en logique des propositions, on emploie g n ralement la r solution pour faire
des preuves par r futation.
Exemple 5.11. On veut montrer que les trois formules
x ((S(x)
f1 =
P (x)) , f2 =
T (x))
ont pour cons quence la formule P (a) .
Passage en forme clausale :
(
x (S(x)
(
R(x)) , f3 =
R(a)
et produit donc les deux clauses
f1 a
x (S(x)
(
P (x))
'
x (T (x)
(
P (x))
C1 =
S(x)
C2 =
T (x)
P (x)
P (x)
(
(
f2 a
C3 = S(x)
R(x)
(
f3 a
C4 =
R(a)
.
La n gation de la cons quence cherch e donne
C5 =
P (a)
Universit de Gen ve G. Falquet
c
57
5.5. NORMALISATION ET R SOLUTION
Par r solution sur R de C3 et C4 avec x
a on produit
Par r solution sur S de C1 et C6 on produit
C6 = S(a)
C7 = P (a)
Enn C5 et C7 donnent la clause vide. On a donc prouv la cons quence logique.
Universit de Gen ve G. Falquet
c
58