Sémantique de la logique des prédicats

publicité
Sémantique de la logique des prédicats
Une formule de la logique des prédicats est appelée un énoncé, ou encore formule close, si
elle ne contient aucune variable libre. Un énoncé sera dit être vrai ou faux dans un modèle,
c'est-à-dire relativement à une structure mathématique abstraite qui représente un état possible
du monde, et joue le même rôle qu’une valuation dans la logique des propositions.
Une formule qui n’est pas close sera elle évaluée relativement à un modèle et une séquence
d’évaluation. On dira qu’une séquence satisfait ou ne satisfait pas une formule dans un certain
modèle. C’est à partir de la notion de satisfaction que l’on définira celle de vérité.
On va partir d’abord d’un langage plus simple, dans lequel tous les prédicats sont des
prédicats à une place (on parle alors de prédicat monadique), et dans lequel il n’y a qu’une
seule variable, notée x.
I. Langage des prédicats monadiques à variable unique
1. Syntaxe
A. Vocabulaire :
a. constantes : c1, c2, c3,…..
b. variable : x
c. Prédicats : P1, P2, P3
d. quantificateurs : , 
e. connecteurs usuels
f. (,)
B. Définition des formules
- Si P est un prédicat alors ‘P(x)’ est une formule, et pour toute constante ci, ‘P(ci)’ est une
formule
- Pour tout connecteur binaire c, et étant donné deux formules F et G, ‘(F c G)’ est une
formule
- Si F est une formule, ‘F’ est une formule
- Si F est une formule, ‘xF’ est une formule, et ‘xF’ est une formule
2. Sémantique
Une formule close est une formule qui ne comporte pas de variable libre. Une formule close
est aussi appelée énoncé
Une formule ouverte est une formule dans laquelle il y a au moins une occurrence de ‘x’ qui
est libre.
On va définir les conditions sous lesquelles une formule close est vraie relativement à un
modèle. Intuitivement un modèle représente une « situation », et l’on cherche à définir à
quelles conditions une formule donnée est vraie dans une certaine situation. Un modèle joue
donc exactement le même rôle qu’une valuation dans la logique des propositions. Pour définir
la notion de vérité dans un modèle, on va d’abord définir une notion intermédiaire, celle de
satisfaction, qui sera définie pour toutes les formules, closes ou ouvertes.
Un modèle M est une paire {D, I}, où D est un ensemble d’individus et I est une fonction
d’interprétation.
1
Une fonction d’interprétation associe à chaque constante du langage un élément de D, et à
chaque prédicat un ensemble d’individus de D. Supposons que D soit l’ensemble des
personnages de Tintin, alors on pourra par exemple interpréter les constantes comme suit :
I(c1) = Tintin, I(c2) = Le capitaine Haddock, etc.
Choisissons d’interpréter le prédicat P comme représentant la propriété d’être barbu ou
moustachu,
alors I(P) = {Le capitaine Haddock, Le professeur Tournesol, Dupond, Dupont,…}
Intuitivement, on souhaite que nos définitions aient, par exemple, les effets suivants :
- ‘P(c1)’ est vrai dans le modèle M (= {D, I}) ssi I(c1 )  I(P), ce qui donnerait, dans
l’exemple précédent,
‘P(c1)’ est vrai dans M ssi Tintin  {Le capitaine Haddock, Le professeur Tournesol, Dupond,
Dupont,…}. En l’occurrence, ‘P(c1)’ est faux.
- ‘xP(x)’ est vrai dans M si pour tout individu du domaine d, d  I(P).
- ‘xP(x)’ est vrai dans M s’il y a un individu d de d tel que d  I(P)
Mais nous aurons un problème pour donner les conditions de vérité d’un énoncé comme :
‘x (P(x)  Q(x))’. Nous pourrons dire, dans ce cas précis, que l’énoncé est vrai dans M si
tout individu d est tel que d  I(P)I(Q). Mais cela ne nous donne pas une définition
générale. Ce que l’on veut, c’est une règle générale qui nous dit comment interpréter tout
énoncé de la forme ‘xF’, où F est une formule quelconque, qui éventuellement contient un
autre quantificateur (par exemple, ‘x (P(x)  xQ(x))’, qui « signifie », approximativement,
qu’à chaque objet qui a la propriété P, on peut associer un objet qui a la propriété Q). On va
passer par la notion de satisfaction.
Considérons la formule ouverte suivante : ‘P(x)’. Cela n’a pas de sens de se demander si cette
formule est vraie ou fausse dans un modèle, puisque notre modèle n’assigne pas de référence
à la variable libre x (en d’autres termes, la fonction d’interprétation assigne une référence aux
constantes, mais pas aux variables). Ce qui a un sens, c’est de se demander quels objets on
peut, en quelque sorte, mettre « à la place » de x de manière à obtenir un énoncé vrai. L’idée
est que ‘P(x)’ représente simplement la propriété qu’un objet a si et seulement si le prédicat P
s’applique à lui. On dira alors d’un tel objet (un élément de d) qu’il satisfait la formule. Dans
l’exemple précédent, ‘P(x)’ est satisfait par tout individu moustachu ou barbu. De manière
générale, on dira que un élément d de D satisfait ‘P(x)’ dans le modèle M si et seulement
si d  I(P). On notera alors, M, d= P(x) (se lit : d satisfait ‘P(x)’ dans le modèle M)
Définition récursive de la notion de satisfaction
Dans tout ce qui suit, d est un élément du domaine D d’un modèle M ={D, I}
a) Si P est un prédicat et c une constante,
M, d = P(c) ssi I(c)  I(P) (NB : en fait, l’élément d n’intervient pas. Si d satisfait ‘P(c)’,
alors n’importe quel autre élément de D le satisfait aussi, et on dira alors que ‘P(c)’ est vrai
dans M)
b) Si P est un prédicat,
M, d = P(x) ssi d  I(P)
c) Si F et G sont deux formules, alors
-M, d = F ssi il est faux que M, d= F (c'est-à-dire si d ne satisfait pas F dans M)
2
- M, d= (F  G) ssi M, d = F et M, d= G
- M, d= (F  G) ssi M, d = F ou M, d= G
- M, d= (F  G) ssi il est faux que M, d= F ou M, d= G
d) Si F est une formule, alors
- M, d= xF ssi pour tout élément e de D, M, e= F (ici non plus, d n’intervient pas, ce qui
est naturel puisque chaque occurrence de x est liée dans ‘xF’)
- M, d= xF ssi il y a un élément e de D tel que M, e= F (même remarque que ci-dessus)
Fait : Soit F une formule ne comportant pas d’occurrence libre de x. Alors on peut montrer
que, pour tous éléments d et e de D, M, d= F ssi M, e= F. On d’autre termes, le choix de
l’élément ne compte pas. En ce cas, on pourra aussi bien écrire M = F, ce qui se lira comme
« F est vrai dans le modèle M », ou « M est un modèle de F », ou encore « M satisfait F ».
Définition de la vérité dans un modèle :
Soit F un énoncé (c'est-à-dire une formule ne comportant pas d’occurrence libre de x). Alors,
pour tout modèle M, on dit que F est vrai dans M, ce qu’on note M= F ssi, pour tout élément
d du domaine de M, M, d = F.
II. Langage des prédicats (cas général)
Introduction : Si l’on considère maintenant notre langage « officiel », qui contient aussi des
prédicats à une et deux places, et une infinité de variables, on ne pourra pas définir de façon
satisfaisante la relation « l’élément d satisfait la formule F dans le modèle M ». Supposons en
effet que la formule F en question soit ‘Q(x3, x7)’. L’idée est que les deux variables peuvent
en principe représenter deux individus distincts ; on pourrait peut-être dire alors qu’un couple
d’individus de D satisfait la formule (par exemple, (d,e) satisfait ‘Q(x3,x7)’ si (d,e)  I(Q)).
Mais cette intuition ne nous donne aucune règle générale, puisqu’une formule peut contenir
n’importe quel nombre de variables distinctes, et que l’on veut la définition la plus générale
possible. Ce que l’on dira donc, c’est qu’une séquence infinie d’individus de D satisfait ou en
satisfait pas la formule en question. Dans le cas précédent, on dira ainsi qu’une séquence s
satisfait ‘Q(x3,x7)’ dans M si le couple constitué du 3ème élément et du 7ème élément de la
séquence appartient à l’interprétation de Q (n’oubliez pas qu’un prédicat à deux places est
interprété comme dénotant un ensemble de couples d’individus de D). On notera :
M, s = ‘Q(x3,x7)’ ssi (s3, s7)  I(Q) (de manière générale, si sert à désigner le i-ème élément
de la séquence s).
Sémantique explicite :
On appelle modèle une structure {D, I} où D est un ensemble d’individus et I une fonction
d’interprétation.
Une fonction d’interprétation est une fonction qui associe à chaque terme non logique de la
logique des prédicats une dénotation dans le domaine des individus D.
En d’autres termes :
- I associe à chaque constante c un individu d de D
- I associe à chaque prédicat à une place P un ensemble d’individus de D (l’ensemble
des individus qui ont la propriété représentée par le prédicat)
- I associe à chaque prédicat à deux places Q un ensemble de couples d’individus de D
(l’ensemble des couples (a, b) qui sont dans la relation représentée par Q).
3
On note :
- I (ci) = a
>>La fonction I interprète la constante c comme dénotant a (attention : ‘ci’ est
une constante du langage, ‘a’ ne l’est pas, mais est utilisée dans le métalangage pour dénoter
un membre du domaine D)
- I (Pi) = {b, d, e} >> Pi, sous l’interprétation I, représente une propriété qui est vrai des
individus b, d, et e, et seulement eux.
- I (Qi) = {(a,b), (a, e), (b, b), (g, h)….} >> I interprète Qi de telle manière que a est dans la
relation Qi à b, a est dans la relation Qi à e, b est dans la relation Qi à lui-même.
Exemple : considérons le langage des prédicats suivants :
Constantes : 0, 1, 2, 3, 4,…etc.
Prédicats à une place : P, I
Prédicat à deux places : <
Variables : x1, x2, …
Si l’on choisit d’interpréter les constantes comme se référant aux nombres entiers, les
prédicats P et I, respectivement comme « Pair » et « Impair », et ‘<’ comme représentant la
relation d’ordre stricte sur les entiers (c'est-à-dire ‘a < b’ signifie a est plus petit que b), alors
on choisit en fait d’interpréter le langage dans le modèle suivant :
M = {N, H} avec N = {0, 1, 2,…} (ensemble des entiers naturels, notés en italiques pour ne
pas les confondre avec les constantes du langage-objet) et H définie ainsi :
H (0) = 0 I(1) = 1 I(2) = 2, etc.
H (P) = {0, 2, 4, 6,…}
H (I) = {1, 3, 5, 7, …}
H (<) = {(0,1), (0, 2), (0, 3)….
(1,2), (1,3), (1, 4)….
etc.}
Satisfaction par une séquence
Etant donné un modèle M ={D, I}, on appelle séquence un ensemble ordonné infini
d’éléments de D. On peut informellement représenter le début d’une séquence de la façon
suivante : <a, g, b, a, g,…>
Si s est une séquence, on note si le i-ème éléement de d. Par exemple, dans l’exemple cidessus, s1= a, s4= a, et s5 = g
Pour toute séquence s, on notera sid la séquence identique à s sauf que son i-ème élément est
d. Plus précisément :
- pour tout j distinct de i, s idj = sj
- sidi = d
Définition de la satisfaction :
Soient M un modèle et s une séquence, on veut définir, pour toute formule , à quelles
conditions s satisfait  dans M, ce qui se note : M, s = 
4

Interprétation des formules atomiques :
 Si est de la forme ‘P(c)’, oùP est un prédicat à une place et c est une constante,
alors M, s = ssi I(c)  I(P)
2) Si est de la forme ‘P(xi)’, où P est un prédicat à une place et xi est la i-ème variable
(rappelons que les variables de notre langage sont : x1, x2, …),
alors M, s = ssi si  I(P) (i.e. le i-ème élément de la séquence doit appartenir à la
dénotation de P)
3) Si est de la forme ‘Q (ci, cj)’, où Q est un prédicat à deux places et ci et cj sont deux
constantes, alors
M, s = ssi (I(ci), I(cj))  I(Q)
4) Si est de la forme ‘Q (xi, c)’, où Q est un prédicat à deux places, xi est la i-ème variable et
c est une constante, alors
M, s = ssi (si, I(c))  I(Q)
5) Si est de la forme ‘Q (c, xi)’, où Q est un prédicat à deux places, xi est la i-ème variable et
c est une constante, alors
M, s = ssi (I(c), si)  I(Q)
6) Si est de la forme ‘Q (xi, xj)’, où Q est un prédicat à deux places, xi et xj sont,
respectivement, la i-ème variable et la j-ième variable, alors
M, s = ssi (si, sj)  I(Q)
Définition récursive de l’interprétation des connecteurs :
7) Si est de la forme ‘’, alors
M, s = ssi M, s = et M, s = 
8) Si est de la forme ‘’, alors
M, s = ssi M, s = ou M, s = 
9) Si est de la forme ‘’, alors
M, s = ssi il est faux que M, s = ou il est vrai que M, s = 
Si est de la forme ‘’, alors
M, s = ssi il est faux que M, s = 
Définition récursive de l’interprétation des quantificateurs :
11) Si est de la forme ‘xi’, où ‘xi’ est la i-ème variable et  est une formule, alors
M, s = ssi pour tout élément d de D, M, sid= 
Si est de la forme ‘xi’, où ‘xi’ est la i-ème variable et  est une formule, alors
M, s = s’il existe un élément d de D tel que M, sid= 
III. Conséquence logique, validité.
Soient F et G des formules quelconques (éventuellement ouverte). Alors
- F= G (se lit : G est conséquence logique de F) ssi Pour tout modèle M et toute séquence s
telle que M, s = F, M, s = G
- Si est une ensemble quelconque de formules, alors
= F (se lit : S est conséquence logique des énoncés de ) si, pour tout modèle M et toute
séquence s qui satisfait simultanément toutes les formules de dans M, M, s = F
5
- F est logiquement valide (ou encore est une vérité logique) si Pour tout modèle M et toute
séquence s, M, s= F. On note = F
Soient F et G des énoncés (c'est-à-dire des formules closes), alors il devient équivalent de
dire :
- F= G si tout modèle de F est un modèle de G (c'est-à-dire si tout modèle M tel que
M= F est tel que M= G)
- Si est une ensemble quelconque d’énoncés, alors
= F si tout modèle qui satisfait tous les énoncés de est un modèle de F.
- = F si F est vrai dans tout modèle (c'est-à-dire pour tout modèle M, M= F)
IV. Logique des prédicats avec égalité
A. Syntaxe
On enrichit le vocabulaire, en ajoutant le signe « = », et l’on ajoute les clauses suivantes dans
la définition de ce qu’est une formule bien formée :
- si ci et cj sont des constantes, et xm et xn des variables, alors :
‘(ci = cj)’, ‘(ci = xm)’, ‘(xm= ci)’, ‘(xm = xn)’ sont des formules.
B. Sémantique
M, s= (ci = cj) ssi I(ci) = I(cj)
M, s= (ci = xm) ssi I(ci) = sm
M, s= (xm = xi) ssi I(ci) = sm
M, s= (xm = xn) ssi sm = sn
6
Téléchargement