Académique Documents
Professionnel Documents
Culture Documents
2012
Logique 2
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
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 :
a Alan
b Bob
c Bill
2 faons de prsenter
linterprtation des constantes
I1(F)
Alan
Boule
I1(C)
Alan
Bob
Bill
2 faons de prsenter
linterprtation des prdicats
Bill
Bill
Bill
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
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.
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.
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)
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.