2 Syntaxe de la logique des prédicats
Eléments de vocabulaire
syntaxe ce qu’on a le droit d’écrire
sémantique ce que cela signifie, comment on interprète une phrase, com-
ment on définit |=
calcul des mécanismes qui permettent de garantir que sont cohérents des
raisonnements comme par exemple H, H !C|=C
intuition sur le premier ordre
autorisé
la relation Rest transitive se modélise par
8x8y8zR(x, y)^R(y, z)!R(x, z)
interdit
8R:T ransitive(R)${8x8y8zR(x, y)^R(y, z)!R(x, z)}
autorisé
8R8R0Bijection(R)^T ransitive(R)^Inverse(R,R0)!T ransitive(R0)
interdit dans cette première partie
8RBijection(R)^T ransitive(R)!T ransitive(Inverse(R))
2.1 Quelques remarques préalables
vocabulaire de base à connaître
Pour construire des phrases logiques (formules logiques, fbf)ondisposera
des termes : ils servent à désigner des objets du domaine modélisé ; ils
sont de deux sortes
des constantes : a, b, c . . .
des variables x, y, z . . .
des symboles de prédicat P, Q, R . . . comme notation abstraite, Vert, PereDe, Donne...
dans les modélisations
un symbole de prédicat a une arité (resp. 1, 2 et 3 pour Vert, PereDe, Donne)
des connecteurs logiques ^_...
des quantificateurs 8,9
des parenthèses (un seul jeu sut, plusieurs comme sucre syntaxique).
11
intuition sur l’aspect formel :
Les plus petites formules, les atomes sont formées d’un symbole de prédicat et
de ses arguments qui sont des termes : Prof(x),Cours(lgqe,DonneCours(d, x).
Ces atomes sont complexifiés grace aux quantificateurs et combinés entre eux
grace aux connecteurs logiques de façon récursive :
9x[Prof(x)^DonneCours(x, lgqe)] (on combine deux atomes puis on complexifie)
8x{[9y:P(y)^Q(x, y)] ![9z:S(x, z)]}là c’est très complexifié
précisions sur l’aspect modélisation
pour une modélisation done, on aura un ensemble bien précis de constantes
et de symboles de prédicat
Adam, Eve, Homme(.), Femme(.), FilsDe(.,.)
Tom, Brad, Acteur(.), JoueDans(.,.)
Par contre les variables, les connecteurs logiques, les quantificateurs, les pa-
renthèses sont les mêmes pour toutes les modélisations. C’est pour cela qu’on
définira un langage àpartirdesesconstantesetsesprédicats.
dans la deuxième partie
les termes peuvent être complexes : par exemple f(x, g(a, y)) fet gsont
des fonctions d’arité 2.
8x8yPair(x)^Pair(y)!Pair(Plus(x, y)) versus
8x8yPair(x)^Pair(y)!9zPair(z)^EstSomme(z, x, y)
arité 0
Un prédicat d’arité 0 correspond à un symbole propositionnel : IlPleut ou
IlPleut()
De même une constante est un symbole de fonction 0-aire : aou a()
2.2 langage du premier ordre
Remarque
En terme de langage formel, nous allons définir un alphabet sur lequel nous dé-
finirons ensuite une grammaire pour définir un langage. Mais traditionnellement
on appelle langage du premier ordre cet alphabet.
Définition d’un langage du premier ordre
C’est un couple L=C[Pde symboles constitué :
d’un ensemble Cde constantes
d’un ensemble Pde symboles de prédicats avec une arité associée :
{P1,Q
2,R
2...}
C\P=;
Termes
En plus des constantes, on dispose d’un ensemble infini V:{x, y, z . . .}de va-
riables disjoint de Cet de P:etdefaçonoptionnellede{>,?},deuxsymboles
spéciaux (qui ne sont ni dans Vni dans Cni dans P).
L’ensemble des termes d’un langage L=def C[Pest l’ensemble
T=def V[C
12
Remarques
mais ça, c’est de l’interprétation, on le verra plus au cours suivant
Un terme est une expression désignant un objet du domaine modélisé
Les constantes désignent des objets précis du domaine
Les variables désignent des objets indéfinis du domaine
>et ?désignent respectivement une propriété toujours vrai (ou toujours
fausse) comme il peut en exister sur tout domaine.
Dans le cadre de cette introduction les termes sont élémentaires ; en logique des
prédicats les termes peuvent être complexes : par exemple f(x, g(a, y)) fet
gsont des fonctions d’arité 2.
2.3 Formules Bien Formées
Soit L=def C[Pun langage, Vun ensemble infini de variables,
K=def ,^,_,!,$}les connecteurs, Qtf =def {8,9}les quantificateurs, et
P=def {(,)}un jeu de parenthèses.
On définit par induction FBF(L),lensembledesformulesbienformées,construites
sur L:
base
1. FBF(L)contient l’ensemble des atomes
{p(t1,...,t
n)|p2Pest un prédicat n-aire et t1,...,t
n2Tsont n
termes }
2. FBF(L)contient {>,?}dans la mesure où ces symboles sont admis.
3. le cas spécial du symbole d’égalité =
FBF(L)contient l’ensemble des formules {t1=t2avec t1et t22
Cste [V}
induction : soit Aet B2FBF(L)et soit x2V:
¬A2FBF(L)
(A^B)2FBF(L)(idem avec (A_B),(A!B),(A$B))
8xA 2FBF(L)(idem avec 9xA)
Exemple
8x8y¬[x=y]!9z{<(x, z)^<(z, y)}
redondance des connecteurs
On n’a pas besoin de tous les connecteurs et de tous les quantificateurs, on
pourrait par exemple se limiter au ¬,au^et au 9.
8xA¬9x¬Aet 9xA¬8x¬A
le n’est pas un signe syntaxique mais sémantique :lavaleurdevéritéestla
même pour une interprétation donnée quelconque
attention à la portée des quantificateurs
On verra plus tard que 9x[P(x)^Q(x)] 6⌘ [9xP(x)] ^Q(x)
13
une dernière règle syntaxique
(P^Q)^RP^(Q^R)c’est pour ça qu’on supprime les parenthèses :
P^Q^R
2.4 arbre syntaxique d’une fbf
On devrait dire arborescence étiquetée sur le sommets.
exemple
8x8y¬[x=y]!9z{<(x, z)^<(z, y)}
les feuilles sont les atomes.
Définition par induction de l”arborescence syntaxique d’une fbf f
base : si fest un atome, ou une formule exprimant l’égalité de deux
termes ({t1=t2avec t1et t22C
ste [V}), ou >ou ?,larborescence
logique associée à fest réduite à un sommet étiqueté par f
induction si fest une fbf et Afson arborescence associée (resp. fGet
AfG,fDet AfD)alors
¬fapourarborescenceassociéeunearborescenctiquetéedontla
racine est étiquetée par ¬et l’unique sous arborescence celle associée
àf
Qxf (où Qest un quantificateur de Qtf et xune variable de V)a
pour arborescence assoce une arborescence étiquee dont la racine
est étiquetée par 8xet l’unique sous arborescence celle associée à f
(fGCbfG)(où Cbest un connecteur logique binaire) a pour arbores-
cence associée une arborescence étiquetée dont la racine est étiquetée
par Cb,dontlasous-arborescencegaucheestAfGet dont la sous-
arborescence droite est AfD.
14
2.5 Variables libres et liées
Nous voulons parler des diérences et ressemblancee entre les trois
formules
8x9yP(x, y)
8xP(x, y)qu’est ce que ce y?
8x(9yP(x, y)) ^8x(P(x, y)) et ici ?
Portée d’un quantificateur
La portée d’un quantificateur est la sous-arborescence dont le couple
<ce quantificateur, sa variable associée> étiquette la racine.
définitions des variables libres et des variables liées
Une occurrence d’une variable xest liée dans Fsi dans la branche qui va
de la racine à la feuille (l’atome) où se trouve cette occurrence on trouve
8xou 9x(autrement dit quand elle est dans la portée d’un 8xou d’un
9x). Elle est libre sinon.
Une variable xest libre dans F si elle a au moins une occurrence libre
dans F
quelques exemples
1. 8xP(x)xest lié
2. Q(x)xest libre
3. 8x(P(x)) ^Q(x)xune occurence de xest liée, l’autre est libre.
problème d’une variable à la fois libre et liée
On a dit (mais on verra pourquoi dans le chapitre sur la sémantique) que l’on
peut toujours renomer une variable liée.
Par exemple 8x(P(x)) ^Q(x)aexactementlemêmesensque8z(P(z)) ^Q(x)
et dans cette dernière formule aucune variable n’est à la fois libre et liée (on
parle de formule polie ou propre).
formule et sous forrmule
F
z }| {
9y8x(P(x)!R(x, y))
| {z }
A
les deux occurences de xsont liées dans Fcomme A
yest lié dans F,maislibredansA
Définition par induction de l’ ensemble VarLib des variables libres
d’une fbf
les variables ayant une occurrence non quantifiée
base : quand Fest un atome, VarLib(F)=
def Var(F)
induction :
Si F=def ¬A,VarLib(F)=
def VarLib(A)
Si F=def (A^B),VarLib(F)=
def VarLib(A)[VarLib(B)
Si F=def 8xA,VarLib(F)=
def VarLib(A){x}
15
1 / 6 100%