Vous êtes sur la page 1sur 8

Universit Montpellier II L3

2012

Logique 2

Bases de la logique des prdicats du premier ordre


Ce document est complter avec les exemples et exercices traits en cours et TD.

Introduction : prdicats, variables et constantes, quantificateurs


En logique des propositions, les expressions ( formules , phrases ) sont construites partir de
symboles propositionnels pouvant prendre les valeurs vrai ou faux. Ces noncs lmentaires sont
non structurs. Parfois, on souhaiterait dcomposer ces propositions lmentaires en faisant une
opration qui ressemble une paramtrisation. Par exemple, au lieu d'avoir un symbole
propositionnel pour reprsenter "PierreEstAmiDePaul", on peut considrer que ami est une
relation qui porte sur deux arguments (cest donc une relation darit 2) : dans le cas prsent sur
deux entits identifies Pierre et Paul , et plus gnralement sur deux arguments quelconques
x et y, ce que lon note ami(x,y). Dans un tel nonc, ami s'appelle un prdicat et x et y sont des
variables. Dans lnonc ami(Pierre, Paul), Pierre et Paul dsignent des entits prcises, ce sont
des constantes. Lorsqu'on interprtera de tels noncs, les constantes et les variables auront pour
valeur des lments d'un certain ensemble (appel le domaine de linterprtation). Dans une
interprtation donne, ami(x, y) et ami(Pierre, Paul) pourront prendre les valeurs vrai ou faux
suivant les valeurs prises par x, y, Pierre et Paul.
La logique du premier ordre introduit deux quantificateurs qui portent sur des variables :
, le quantificateur universel ( pour tout )
, le quantificateur existentiel ( il existe )
Considrons par exemple l'nonc suivant :
(1) tout chat est un animal
(2) Flix est un chat
donc Flix est un animal.
On pourra le formaliser en logique du premier ordre de la manire suivante :
(1) x (chat(x) animal(x)) (tout x qui est un chat est un animal)
(2) chat(Flix),
De (1) et (2), on peut dduire : animal(Flix)
Flix est une constante, x une variable, chat(.) et animal(.) sont des prdicats unaires.
Pour dsigner des entits (ou objets ), on dispose des constantes ( entits connues ) et des
variables ( entits inconnues ). Il existe aussi des symboles fonctionnels, qui permettent de
calculer des individus, mais on ne les considrera pas dans ce chapitre (notez quand mme que
les constantes peuvent tre vues comme des symboles de fonctions 0-aires).

Logique 2 (notes de cours).

1. Syntaxe
Dfinition (langage du premier ordre)
Un langage du premier ordre L = ({a1, a2, ..., ak}, {p1, p2, ..., pn}) est form :
- d'un ensemble de constantes : {a1, a2, ..., ak}
- et d'un ensemble de symboles de relation, ou prdicats : {p1, p2, ..., pn}.
A chaque prdicat pi est associ un entier 0, son arit, qui fixe son nombre d'arguments.
Remarque. Du point de vue des langages formels, les formules sont des mots construits sur
l'alphabet form de L, d'un ensemble de variables et des autres symboles que sont les
quantificateurs (,), les connecteurs (, ,, ) et les parenthses. Donc L est une partie de
l'alphabet ; toutefois l'utilisation de l'expression langage du premier ordre est traditionnelle en
logique.
Un terme permet de dsigner une entit (un objet) :
Dfinition (terme)
Un terme est une variable ou une constante (et plus tard ce pourra aussi tre une fonction).
Dfinition (formule bien forme fbf)
Les formules bien formes, fbf, construites sur le langage du premier ordre L peuvent tre dfinies
inductivement de la manire suivante :
(base) la base est constitue par les formules atomiques (ou atomes) : p(t1, ..., tn) o p est un
prdicat n-aire et t1, ..., tn sont des termes ; parfois, on ajoute latome qui symbolise
labsurde .
(rgle de construction) si A et B sont des fbf et si x est une variable alors les expressions suivantes
sont des fbf :
A, (A B),
[ (A B), (A B), (A B) ]
xA
[ xA ]
Remarque : Les formules entre [] ci-dessus peuvent tre rcrites de faon quivalente partir de
A, (A B) et xA. En particulier xA se rcrit xA.
Remarque : par la suite, on s'autorisera ne mettre que les parenthses utiles [comme par exemple
dans x(A(x) B(x) C(x)), (pq)r ou p(qr)]. La dfinition d'une fbf entrane que les
quantificateurs ont priorit sur les connecteurs binaires.
Dfinition (arborescence syntaxique d'une fbf)
L'arborescence syntaxique d'une fbf f (notation : ARBO(f)) se dfinit inductivement de la faon
suivante :
(base) si f est un atome, ARBO(f) est une arborescence rduite un sommet tiquet par f
(rgles)
si f = A, ARBO(f) est une arborescence dont la racine est tiquete par et a un seul fils qui est la
racine de ARBO(A)
si f = QxA, o Q est un quantificateur, ARBO(f) est une arborescence dont la racine est tiquete
par Qx et a un seul fils qui est la racine de ARBO(A)
si f = (A op B), o op est un oprateur binaire, ARBO(f) est une arborescence dont la racine est
tiquete par op et qui a deux fils : le fils gauche est la racine de ARBO(A) et le fils droit est la
racine de ARBO(B).
Logique 2 (notes de cours). ML Mugnier. Bases de la logique du premier ordre

Exemple : arborescence de la formule x(p(x)y r(x,y))


x

p(x)

y
r(x,y)

Remarque : par abus de langage, on parlera souvent d'arbre syntaxique (mme si d'un point de vue
graphe, il s'agit bien d'une arborescence).
On peut dfinir diverses notions partir de cette dfinition : profondeur d'une fbf, ensemble des
sous-fbf d'une fbf, etc.
Exemple (profondeur dune fbf) :
Soit f une fbf.
(base) Si f est un atome, profondeur(f) = 0
(rgles)
Si f = A ou f = x A ou f = x A, profondeur(f) = 1 + profondeur(A)
Si f = (A op B) o op est l'un des connecteurs binaires,
profondeur(f) = 1 + max(profondeur(A), profondeur(B)).
Dans la fbf xA, [ou xA], x est la variable quantifie, et A est la porte de la quantification x
[x]. Une occurrence de la variable x est lie si elle est dans la porte d'une quantification portant
sur x. Sinon, cette occurrence est libre. Une variable est libre si elle a au moins une occurrence
libre. Elle est lie si elle a au moins une occurrence lie. Dans une fbf, une mme variable peut donc
tre la fois libre et lie. Toutefois, on peut toujours renommer les variables d'une formule (en
gardant une formule quivalente), de faon ce qu'une variable ne soit pas la fois libre et lie.
Dfinition (formule ferme)
Une fbf est dite ferme (ou close) lorsqu'elle n'a aucune variable libre (et pas lorsque toutes les
variables sont lies, puisquune variable peut tre libre et lie ...).
Les formules fermes sont celles que l'on utilise pour exprimer des connaissances, lorsque lon
modlise un problme ; il est toutefois ncessaire de considrer des formules quelconques lorsque
lon effectue des preuves, en particulier lorsquon doit dcomposer une formule en sous-formules :
mme si la formule de dpart est ferme (par exemple x p(x)), les sous-formules (par exemple
p(x)) ne le seront plus forcment.

2. Smantique
La valeur de vrit dune fbf (vrai ou faux) dpend de linterprtation du langage L sur lequel elle
est construite. On peut voir une interprtation de L comme :
(1) un monde constitu dentits (ou individus, ou objets, ) : lensemble des entits de ce
monde sappelle le domaine de linterprtation ;
(2) une mise en correspondance de L avec ce monde : les constantes de L donnent un nom
certaines entits de ce monde (mais pas forcment toutes) et les prdicats de L dcrivent
Logique 2 (notes de cours). ML Mugnier. Bases de la logique du premier ordre

certaines proprits des entits du domaine (si ce sont des prdicats unaires) ou certaines
relations entre les entits du domaine.
Il existe une infinit dinterprtations possibles de L.
Dfinition (Interprtation)
Soit L = (C, P) un langage du premier ordre o C est lensemble des constantes et P est lensemble
des prdicats. Une interprtation I de L est constitue d'un ensemble non vide D appel domaine et
d'une dfinition du sens des symboles de L sous forme d'applications dans D ou de relations sur D :

pour tout a de C, I(a) est un lment de D (il y a une application de C dans D)

pour tout p de P, darit non nulle, I(p) Darit(p)


Si p est d'arit 0 (p peut-tre vu comme un symbole propositionnel)
I(p) est gal vrai ou faux.
Un symbole de constante s'interprte donc comme un lment du domaine d'interprtation et un
prdicat comme une relation sur D (une "table" sur D) ayant pour arit celle du symbole : I(p) est
un sous-ensemble de D si p est darit 1 ; cest un sous-ensemble de D x D si p est darit 2, etc.
Notez que deux constantes peuvent dsigner le mme lment du domaine (cet lment a alors deux
noms dans L), et que tous les lments du domaine nont pas forcment de constante associe.
Exemple : L = (C, P) avec C = {a,b,c} et P = {F,C} o F est unaire et C binaire.

Une interprtation possible de L (I1)


Domaine D 1 = {Alan, Bob, Bill, Boule}
Interprtation des constantes de L :
I1(a) = Alan
I1 :
I1(b) = Bob
I1(c) = Bill

a Alan
b Bob
c Bill

2 faons de prsenter
linterprtation des constantes

Interprtation des prdicats de L :


I1 (F) = {Alan, Boule}
I1(C) = {(Alan, Bill), (Bob, Bill), (Bill, Bill)}

I1(F)
Alan
Boule

I1(C)
Alan
Bob
Bill

2 faons de prsenter
linterprtation des prdicats

Bill
Bill
Bill

v Une autre interprtation possible de L (I2)

Domaine D 2 = N (ensemble des entiers naturels)


Interprtation des constantes de L :
I2(a) = 0
I2(b) = 1
I2(c) = 1
Interprtation des prdicats de L :
I2 (F) = {0, 2, 4, 6, }
I2(C) = {(0,1), (1,2), (2,3), }

x appartient I2(F) si et seulement si x est pair


(x,y) appartient I2(C) si et seulement si x a pour successeur y.

Logique 2 (notes de cours). ML Mugnier. Bases de la logique du premier ordre

Etant donnes une fbf A sur un langage L et I une interprtation de ce langage, nous voulons dfinir
une application v(A, I) dans {vrai, faux} (ou {0,1} avec faux = 0 et vrai = 1) qui associera A une
valeur de vrit pour I. Ceci se fait en utilisant linterprtation I, le sens donn aux connecteurs
(cest le mme quen logique des propositions), et le sens que l'on va donner aux quantificateurs.
Si on considre la dfinition inductive des fbf on s'aperoit quil faut savoir donner un sens une
fbf ayant des variables libres, mme si on ne veut considrer que les fbf fermes ; en effet, si A est
ferme et si, par exemple, A = x B, on ne peut plus supposer que B est ferme.
On peut faire cela en utilisant la notion d'une assignation des variables libres de la formule : tant
donn une interprtation de domaine D, une assignation des variables (libres) d'une formule A est
une application des variables (libres) de A dans D.
On suppose dans la suite que quune mme variable nest pas quantifie deux fois dans la formule
(pour quune assignation ne donne pas deux valeurs une mme variable).
Dfinition (valeur de vrit d'une fbf pour une interprtation I et une assignation s)
Si I est une interprtation et s est une assignation, lapplication v(A, I, s) dans {vrai, faux} est
dfinie de la manire suivante :
si A est un atome p(t1, t2, ..., tn), v(A, I, s) = vrai si :
il existe (d1 dn) I(p) avec, pour tout i :
si ti est une constante, di = I(ti)
si ti est une variable, di = s(ti)
[ v(, I, s) = faux pour toute I et pour toute s]
si A = B alors v(A, I, s) = NON(v(B, I, s)), la ngation tant interprte comme en logique des
propositions;
si A = (B C) alors v(A, I, s) = ET(v(B, I, s), v(C, I, s)), la conjonction tant interprte comme
en logique des propositions,
de mme pour les autres connecteurs
si A = x B alors v(A, I, s) = vrai si pour tout lment d de D, v(B, I, s+[xd]) = vrai, o
s+[xd] est l'assignation obtenue partir de s en donnant la variable x la valeur d ;
[ si A = x B alors v(A, I, s) = vrai si pour (au moins) un lment d de D, v(B, I, s+[xd]) = vrai]
Si on considre le prdicat galit (not =) : v(t1=t2, I, s) est vrai si t1 et t2 sont interprts par le
mme lment de D, cest--dire si d1 = d2, o di est I(ti) ou s(ti) selon que ti est une constante ou
une variable.
Exemple (suite) : avec les interprtations I1 et I2 :
Formule A
x C(x,x)
x (F(x) C(x,x))
x C(x,x)
C(a,b)

v(A,I1)
vrai
vrai
faux
faux

v(A,I2)
faux
vrai
vrai
vrai

Complments sur la notion dassignation

Pour une fbf ferme A, la valeur de v(A, I, s) est indpendante de s et on la note v(A, I).
Dans le cas o A n'est pas ferme, on a les quivalences suivantes :
"il existe s tel que v(A,I,s) = vrai" ssi v(x1xn A, I) = vrai, o les xi sont les variables libres de
A;
"pour tout s, v(A,I,s) = vrai" ssi v(x1xn A, I) = vrai, o les xi sont les variables libres de A.

Logique 2 (notes de cours). ML Mugnier. Bases de la logique du premier ordre

Remarque : dans les dfinitions qui suivent, pour simplifier, on considrera des fbf fermes. On
peut facilement tendre ces dfinitions des fbf quelconques : il faut remplacer il existe une
interprtation I avec v(A,I) = par il existe une interprtation I et une assignation s
avec v(A,I,s) = , et pour toute interprtation I avec v(A,I) = par pour toutes
interprtation I et assignation s avec v(A,I,s) = . On aura besoin de considrer les notions de
validit et dquivalence de fbf quelconques dans la section 4 notamment.
On retrouve les dfinitions de la logique des propositions :
Dfinition (fbf satisfiable, valide, )
Soit A une fbf ferme :
A est satisfiable sil existe une interprtation I avec v(A, I) = vrai
A est contingente sil existe I avec v(A, I) = vrai et I avec v(A, I) = faux
A est insatisfiable si pour toute interprtation I , v(A, I) = faux
A est valide si pour toute interprtation I, v(A, I) = vrai
[Si A nest pas ferme, on a : A est satisfiable sil existe une interprtation I et une assignation s
telles que v(A,I,s) = vrai ; A est valide si pour toute interprtation I et toute assignation s, v(A,I,s) =
vrai ; etc. ]
Une formule est soit satisfiable, soit insatisfiable.
Et si elle est satisfiable, elle est soit valide, soit contigente.
Dfinition(modle/contre-modle d'une fbf)
Une interprtation I est un modle d'une fbf ferme A si v(A,I)=vrai.
C'est un contre-modle d'une fbf A si v(A,I)=faux.
Il est immdiat de vrifier que : A est valide ssi A est insatisfiable.
On a galement :
A est satisfiable ssi A n'est pas valide
A est contingente ssi A est contigente.
A est insatisfiable ssi A est valide.

3. Equivalence et consquence logiques


Dfinition (formules quivalentes)
Deux fbf fermes A et B (construites sur un mme langage du premier ordre L) sont dites
logiquement quivalentes, A B, lorsque, pour toute interprtation I, v(A, I) = v(B, I).
[Si A et B ne sont pas fermes : A B, lorsque pour toute interprtation I et toute assignation s,
v(A, I, s) = v(B, I, s)].
On a immdiatement : A B ssi (A B) est valide.
Dfinition (consquence logique)
Si H1, H2, ..., Hn et C sont des fbf fermes d'un mme langage du premier ordre L, on dit que C est
une consquence logique de H1, H2, ..., Hn, lorsque toute interprtation I de L qui est un modle
de tous les Hi est un modle de C. Notation : H1, H2, ..., Hn |= C.
On a immdiatement : pour toutes fbf fermes A et B, A B ssi A |= B et B |= A
Logique 2 (notes de cours). ML Mugnier. Bases de la logique du premier ordre

Thorme
Soient H1, H2, ..., Hn et C des fbf fermes d'un langage du premier ordre. Les proprits cidessous sont quivalentes :
(i)
H1, H2, ..., Hn |= C
(ii)
H1 H2 ... Hn C est valide
(iii) H1 H2 ... Hn C est insatisfiable
[Schma de dmonstration : soit I telle que v(Hi, I) = vrai pour tout i ; supposons (i) : on a donc v(C,
I) = vrai, et on en dduit facilement (ii), puis de (ii) on obtient (iii) en prenant la ngation de la
formule, et enfin de (iii) on obtient (i) ]
On peut maintenant parler de la "validit", ou "correction", d'un "raisonnement". De faon
gnrale, un raisonnement consiste obtenir une conclusion partir d'un ensemble d'hypothses.
Imaginons que l'on formule les hypothses H1, , Hn (chacune tant une fbf) et qu'on en conclut C
(une fbf). Ce raisonnement est correct (ou valide) si C est une consquence logique de H1, , Hn.

4. Quelques quivalences
Pour montrer que deux formules A et B sont quivalentes, on peut sappuyer directement sur la
notion dinterprtation ; on peut montrer que toute interprtation qui rend vraie A rend aussi vraie
B, et que toute interprtation qui rend fausse A rend aussi fausse B (on applique la dfinition de
lquivalence) ; ou bien, on peut montrer que tout modle de A est un modle de B (cest--dire que
A |= B), et rciproquement (cest--dire que A |= B).
Nous tudions ci-dessous dautres faons de montrer lquivalence entre deux formules : en
sappuyant sur des quivalences connues pour la logique des propositions (voir thorme de
tautologie) ou en passant dune formule lautre en remplaant des sous-formules par des formules
quivalentes (voir thorme de substitution).
Thorme de tautologie
Soit A une fbf valide de la logique des propositions ayant p1, p2, ..., pn pour symboles
propositionnels. Soient A1, A2, ..., An des fbf d'un langage du premier ordre L. La fbf A' obtenue
partir de A en remplaant, pour tout i, pi par Ai, est valide.
(toute formule valide A de la logique des propositions conduit une fbf valide de la logique du
premier ordre si on remplace dans l'arbre syntaxique de A, pour tout i, toutes les feuilles tiquetes
par pi par un mme arbre syntaxique Ai ; les Ai ne sont pas ncessairement fermes).
Exemples : Si A, B et C sont des fbf d'un langage du premier ordre on a entre autres les
quivalences suivantes entre des formules ayant A, B et C comme sous-formules :
A A
(A B) (B A)
A (B C) (A B) C
(A B) A B
(A B) A B (A B)

Logique 2 (notes de cours). ML Mugnier. Bases de la logique du premier ordre

Le thorme de substitution permet d'obtenir, par substitution d'une fbf une fbf quivalente, des
quivalences entre fbf du premier ordre partir d'quivalences entre fbf du premier ordre.
Thorme de substitution
Soient A une fbf, B une sous-fbf de A, et B' une fbf quivalente B. Toute fbf A' obtenue partir de
A en remplaant une occurrence de B par une occurrence de B' est quivalente A (A, B, B', A' ne
sont pas ncessairement fermes).
Exemple : A = x (p(x) q(x)), B = (p(x)q(x)), B=(p(x)q(x)). En remplaant dans A, B par
B, on obtient la fbf suivante quivalente A : x (p(x)q(x)).
Nous allons donner quelques quivalences qui ne peuvent pas tre obtenues avec le thorme de
tautologie car elles concernent des remplacements ou dplacements de quantificateurs. Ci-dessous,
A et B dsignent des fbf, et l'on ne fait pas d'hypothse sur les variables qu'elles contiennent. La
notation A(xy) dsigne la formule obtenue partir de A en remplaant toutes les occurrences de x
par y.
(0) si y var(A) QxA QyA(xy) o Q{, } renommage d'une variable lie
(1) si x var(A) xA xA A
(2) si x var(B) (QxA B) Qx (A B) o Q{, }
(3) si x var(B) (QxA B) Qx (A B) o Q{, }
(4) xA x A
(5) xA x A
(6) xA xB x(A B) distributivit du par rapport au .
(7) xA xB x(A B) distributivit du par rapport au .
(8) QxA Q'xB QxQ'y (A B(x, y)) o Q et Q'{, } et y {var(A) var(B)
(9) QxA Q'xB QxQ'y (A B(x, y)) o Q et Q'{, } et y {var(A) var(B)
Exemple de dmonstration. Prouvons (4) :
Si xA et x A sont des formules fermes : soit I une interprtation.
v(xA, I) = vrai ssi NON(v(xA, I)) = vrai ssi v(xA, I) = faux.
ssi on n'a pas, pour tout lment d de D, v(A, I, s+[xd] = vrai,
o s est une assignation des variables de A qui assigne d x,
ssi il existe un lment d de D avec v(A, I, s+[xd] = faux
ssi il existe un lment d de D avec v(A, I, s+[xd]) = vrai
ssi v(xA, I, s) = vrai
Si xA et x A sont des formules non fermes, il faut introduire la notion dassignation ds
le dpart : soit I une interprtation et s une assignation.
v(xA, I, s) = vrai ssi NON(v(xA, I, s)) = vrai ssi v(xA, I, s) = faux
ssi on n'a pas, pour tout lment d de D, v(A, I, s+[xd] = vrai
ssi il existe un lment d de D avec v(A, I, s+[xd] = faux
ssi il existe un lment d de D avec v(A, I, s+[xd]) = vrai
ssi v(xA, I, s) = vrai

On observe que la diffrence entre les deux preuves est minime, car ds que lon dcompose une
formule ferme on obtient des sous-formules qui ne sont pas forcment fermes.

Logique 2 (notes de cours). ML Mugnier. Bases de la logique du premier ordre

Vous aimerez peut-être aussi