Vous êtes sur la page 1sur 53

Logique formelle

Chapitre 2

Le Calcul des Prédicats

Logique du 1er ordre


CP1

Logique formelle 1

Calcul des prédicats Syntaxe

Limite du langage des propositions


 La logique propositionnelle permet de décrire
que des constructions simples du langages
Par exemple, il ne permet pas de faire allusion
aux propriétés d’une variable. Exemple: (x>3
) x est un nombre
Il leur reconnaît simplement deux états : elles
sont vraies ou elles sont fausses
Il ne permet pas non plus de décrire des
relations entre plusieurs variables. Exemples:
• (x=y), la relation d'égalité, x<y la relation <
• Ali assiste à un cours de logique, assiste relation
entre Ali et coursLogique
de logique
formelle 2

• Youssef est le père de Mohamed

1
Calcul des prédicats Syntaxe

Limite du langage des propositions

Il ne permet pas d'exprimer que des propriétés soient


vraies pour
• « certaines valeurs » d'une variable:  x,(x<3)
• ou pour « toutes les valeurs » d'une variable. ( x, (x=x) )
 La logique des prédicats, ou logique du premier ordre
est plus expressive, et permet de représenter ces types de
connaissances relatifs à des environnements complexes.

Logique formelle 3

Calcul des prédicats

I – Syntaxe

1. Le langage du premier ordre


2. Termes du langage
3. Formules du langage
4. Variables libres, variables liées
5. Substitution dans les formules

II – Sémantique

Logique formelle 4

2
Calcul des prédicats Syntaxe

1- Alphabet du langage du 1er ordre


Le langage du calcul des prédicats est formé de :
+ Un ensemble infini dénombrable de symboles de variables
X = { x, y, z, …, v, w, …}
 Des connecteurs logiques :  ,  ,  ,  , 
+ Des quantificateurs :
 quantificateur existentiel ( « il existe » )

 quantificateur universel ( « pour tout » )


 Des symboles auxiliaires ’(’ ’)’ ’,’
suite

Logique formelle 5

Calcul des prédicats Syntaxe


+ Un ensemble infini dénombrable de symboles de prédicats (relations)
R = UnR n = {P, Q, R,…, p, q, r, …}
R0
• R n : ensemble des relations d’arité n (n-aire)
(c-à-d ayant n arguments)
• R 0 : l’ensemble des relations d’arité 0
(les variables propositionnelles)
 Des constantes logiques : V , F
+ Un ensemble infini dénombrable de symboles de fonctions

F = Un Fn = { f , g, h,… , a, b, c, …}
F0 = { constantes }
Logique formelle 6

3
Calcul des prédicats Syntaxe

L’alphabet du langage du premier ordre est l’ensemble

A1= { ,  ,  ,  ,  } U {, } U {V,F} U { (, ) , ,} U R U F U X

Remarques
• On retrouve l’alphabet du langage des propositions
A0 = { ,  ,  ,  , } U {V, F} U { (, ) } U R 0
(R = R 0 , F =  , X = )

• Si parmi les relations (les éléments de R ) il y a la relation de


l’égalité ‘=‘ , on dit que le langage est un langage égalitaire

Logique formelle 7

Calcul des prédicats Syntaxe

2- Termes du langage

Les termes sont construits à partir des variables X et des


symboles de fonctions F, il sont définis comme suit:
1. une variable est un terme (  X )
2. une constante est un terme ( F0)

3. si f  Fn et t1,…, tn sont des termes ( n > 0) alors


f (t1…tn ) est un terme

4. rien d’autre n’est un terme

Logique formelle 8

4
Calcul des prédicats Syntaxe

Exemple
f(x,g(y,z)) est un terme si f et g sont des symboles de
fonction d’arité 2 ( F2 )

Arbre de décomposition d’un terme f


L’arbre de décomposition
x g
du terme f(x,g(y,z))
y z

Logique formelle 9

Calcul des prédicats Syntaxe

Théorème de lecture unique


Pour tout terme t  T (F,X) un et un seul des cas suivants se
présente :

1. t est une variable (tX)


2. t est une constante ( t  F0 )
3. il existe un unique symbole de fonction f  Fn (n >0)
et un unique n-uplet de termes (t1, …, tn)
tels que t = f(t1, …, tn)

Peut être sautée " = " égalité syntaxique

Logique formelle 10

5
Calcul des prédicats Syntaxe
Substitution dans les termes
Soient
• t un terme
• x1, x2, …, xn des variables deux à deux distinctes

t [ x1  t1 , x2  t2 , …, xn  tn ]

est le mot obtenu en substituant respectivement


les termes t1, t2, …, tn aux variables x1, x2, …, xn

Proposition
Le mot t [x1  t1, x2  t2, …, xn  tn ] est un terme

Logique formelle 11

Calcul des prédicats Syntaxe

Exemples

• y [x1  t1, x2t2, …, xntn] = y ( y une variable  X )

• a [x1  t1, x2t2, …, xntn] = a ( a une constante  F0 )

• f(x1, x2,…,xk) [x1  t1, x2  t2, …, xk  tk,…, xn tn]

= f(t1,…,tk)

Logique formelle 12

6
Calcul des prédicats Syntaxe

3- Formules du langage

Définition Formule atomique


A est une formule atomique ssi
A s’écrit sous la forme P(t1,…,tn) avec

• P est un symbole de prédicat n-aire (P  R n)


• t1,…, tn des termes (  T (F,X)n )
On note par A(R, F, X) l’ensemble des formules atomiques

Remarque:
 Si n = 0, une formule atomique est une variable propositionnelle
Logique formelle 13

Calcul des prédicats Syntaxe

Définition Formules bien formées


L’ensemble L(R , F , X ) des formules de 1er ordre est le plus
petit ensemble contenant A(R, F, X) U {V,F} et qui est clos pour
les opérations suivantes :

A  L (R , F , X )  ( A )

A, B  L (R , F , X )  (A # B) #  { ,  ,  , }

A  L (R , F , X ) et x  X  (␢x A) ␢  { ,  }

Logique formelle 14

7
Calcul des prédicats Syntaxe

Définition Formules bien formées


L'ensemble des formules du 1er ordre L(R , F , X ) est formé
comme suit:
1. Une formule atomique est une formule
2. V et F sont des formules
3. Si A est une formule alors ( A ) est une formule
4. Si A et B sont des formules alors ( A  B ) , ( A  B ) ,
( A  B ) , ( A  B ) sont des formules
5. Si A est une formule alors pour toute variable x  X
( x A) et ( x A) sont des formules
6. Rien d’autre n’est une formule
Logique formelle 15

Calcul des prédicats Syntaxe

Remarques

• L’ensemble L(R , F , X ) des formules de 1er ordre est appelé


le langage du 1er ordre ou le langage du (calcul) des
prédicats du 1er ordre. On le note également par L
• L’ensemble des formules propositionnelles
L0 = L (R 0 , Ø, Ø )

Logique formelle 16

8
Calcul des prédicats Syntaxe

Arbre de décomposition d’une formule


Soit la formule x ( y ( P(t,y)  z Q(x,f(z)) ) )
x x

y y

 

P(t,y) z P z

t y Q
Q(x,f(z))

Arbre homogène Arbre hétérogène x f

Logique formelle
z 17

Calcul des prédicats Syntaxe


Théorème de lecture unique
Pour toute formule A ∈ L , un et un seul des 4 cas suivants se
présente :

1. A  A(R, F, X ) U { V, F }
2. il existe une unique formule B  L telle que A = ( B)
3. il existe un unique symbole de connecteur binaire
#{,, , }
et un unique couple de formules ( B, C )  L2
tels que A = (B #C)
4. il existe une unique formule B et un unique quantificateur
␢  { , } tels que A = (␢x B)
" = " égalité syntaxique
Logique formelle 18

9
Calcul des prédicats Syntaxe
Définition Sous formules
Soit A une formule. L’ensemble des sous-formules de A,
noté Sf(A), est défini par induction comme suit :

• si A un atome alors Sf(A) = {A}

• si A =  B alors Sf(A) = {A} U Sf(B)

• si A = B # C alors Sf(A) = {A} U Sf(B) U Sf(C)


#{,, , }

• si A = ␢x B alors Sf(A) = {A} U Sf(B)


␢  { , }

Logique formelle 19

Calcul des prédicats Syntaxe


Exemple A : x ( (y P(f(x, y), z))  Q(z) )

Sf(A) = {A} U Sf( (y P(f(x, y), z))  Q(z) )


= {x ((y P(f(x, y), z))  Q(z))}U{(y P(f(x, y), z))  Q(z)}
U Sf(y P(f(x, y), z)) U Sf(Q(z))
= {x ((y P(f(x, y), z))  Q(z)) ; (y P(f(x, y), z))  Q(z)}
U { y P(f(x, y), z)} U Sf(P(f(x, y), z)) U {Q(z)}
= {x ((y P(f(x, y), z))  Q(z)) ; (y P(f(x, y), z))  Q(z) ;
y P(f(x, y), z) ; P(f(x, y), z) ; Q(z) }
Remarque
Les différents sous-arbres de l’arbre de décomposition d’une
formule donnent les différentes sous-formules de la formule
Logique formelle 20

10
Calcul des prédicats Syntaxe
Portée des quantificateurs (scope)
x (P(x)  x Q(x)) (x P(x))  Q(x) x (P(x)  Q(x))

x (P(x)  x Q(x)) (x P(x))  Q(x) x (P(x)  Q(x))

x
 x

 x Q

P x
P x P Q

x Q
x x x

x suite

Logique formelle 21

Calcul des prédicats Syntaxe


Portée des quantificateurs (suite)
x (P(x)  Q(y)) x (P(x)  y Q(x))

x (P(x)  Q(y)) x (P(x)  y Q(x))

x
x



P y
P Q

x Q
x y

x
 La portée est liée au dernier nœud père
Logique formelle 22

11
Calcul des prédicats Syntaxe
4- Variables libres, variables liées
Définition Variables libres (free)
Soit A une formule. L’ensemble des variables libres de A, noté
Var(A), est défini comme suit :
 si A est un atome ; de la forme P(t1,…, tn) ; alors
Var(A) = Var(P(t1,…, tn)) = Var(t1) U … U Var(tn)
 si A =  B alors Var(A) = Var( B) = Var(B)
 si A = B # C avec #  {  ,  ,  ,  } , alors
Var(A) = Var(B # C) = Var(B) U Var(C)
 si A = ␢x B avec ␢  { , }, alors
Var(A) = Var(␢x B) = Var(B) \ {x}
Logique formelle 23

Calcul des prédicats Syntaxe

Définition Variables libres d’un terme


Toutes les occurrences des variables d’un terme t sont des
variables libres de t

c-à-d

 Var(x) = { x }

 Var(c) =  ( c constante)

 Var(f(t1,…, tn)) = Var(t1) U … U Var(tn)


( f symbole de fonction )

Logique formelle 24

12
Calcul des prédicats Syntaxe
Définition
Une formule A est dite close si Var(A) = 
(A n’a pas de variables libres)
Exemple
A : x y P(f(x, y), z) C : x P(x)
• Var(A) = Var(y P(f(x, y), z)) \{x}
= (Var(P(f(x, y), z)) \{y}) \{x}
= ((Var(f(x, y)) U Var(z)) \{y} ) \{x}
= ((({x, y} U {z})) \{y}) \{x} = (({x, y, z}) \{y}) \{x} = {z}
donc A n’est pas close
• Var(C) = Var(x P(x)) = Var(P(x)) \{x} = {x} \{x} = 
donc C est close
Logique formelle 25

Calcul des prédicats Syntaxe

Définition Variables liées


Soit A une formule. L’ensemble des variables liées de A, noté
BVar(A) (B pour bound), est défini comme suit :
 si A est un atome alors BVar(A) = 

 si A =  B alors BVar(A) = BVar( B) = BVar(B)

 si A = B # C ; avec #  {  ,  ,  ,  } ; alors
BVar(A) = BVar(B#C) = BVar(B) U BVar(C)

 si A = ␢x B ; avec ␢  { , } ; alors


BVar(A) = BVar(␢x B) = BVar(B) U {x}

Logique formelle 26

13
Calcul des prédicats Syntaxe
Exemple
A : x (P(x, y)  Q (x))  y (  P(x, y)  z Q (z))

B C
BVar(B) = BVar(P(x, y)  Q(x))) U {x}
= (BVar(P(x,y) U BVar(Q(x))) U {x}
= ( U ) U {x} = {x}

BVar(C) = BVar(  P (x, y)  z Q (z)) U {y}


= (BVar(P(x,y)) U (Bvar(Q(z)) U {z}) ) U {y}
= ( U ( U {z}) ) U {y} = {z, y}

BVar(A) = BVar(B) U BVar(C) = {x, y, z}


Logique formelle 27

Calcul des prédicats Syntaxe

Exemple (suite)
A : x (P(x, y)  Q (x))  y (  P(x, y)  z Q(z))

B C
Var(B) = Var(P(x, y)  Q(x)) \{x} = {x, y, x} \{x} = {y}

Var(C) = Var( P (x, y)  z Q(z)) \{y}


= ( Var(P(x,y) U (Var(Q(z) \{z}) ) \{y}
= ( ({x, y} U ({z} \{z}) ) \{y} = {x}

Var(A) = Var(B) U Var(C) = {x, y}

Logique formelle 28

14
Calcul des prédicats Syntaxe

Remarque
Le nom d’une variable peut être en même temps libre et lié
mais pas son occurrence (une occurrence ne peut être que
libre ou liée mais pas les deux en même temps)

Exemple

suite

Logique formelle 29

Calcul des prédicats Syntaxe

A : x (P(x, y)  Q (x))  y (  P(x, y)  z Q(z))



Var(A) = {x, y}
BVar(A) = {x, y, z} x y

 

P Q  z

x y x P Q

x y z

Logique formelle 30

15
Calcul des prédicats Syntaxe

Remarque

 Une variable liée par «» est dite


quantifiée universellement

 Une variable liée par «» est dite


quantifiée existentiellement

Logique formelle 31

Calcul des prédicats Syntaxe


5- Substitution dans une formule
a) Substitution de termes à des variables
Soient
• A une formule
• t1, …, tn des termes
• x1, …, xn des variables
Le mot A[x1t1, …, xntn] est calculé récursivement
comme suit :
 si A = P(s1, …, sn) (A atome) alors
P(s1, …, sn)[x1t1, …, xntn] =
P(s1[x1t1, …, xntn], …, sn[x1t1, …, xntn])
suite
Logique formelle 32

16
Calcul des prédicats Syntaxe

 si A =  B ( B)[x1t1, …, xntn] =  (B[x1t1, …, xntn])

 si A = B # C ; avec #  { , , , } ; alors
(B # C)[x1t1, …, xntn] =
B[x1t1, …, xntn] # C[x1t1, …, xntn]

 si A = ␢x B ; avec ␢  {, } ;
• si x  {x1, …, xn} alors
(␢x B)[x1t1, …, xntn] = ␢x (B[x1t1, …, xntn])
• si x  {x1, …,xn} ; soit x = xi ; alors
(␢x B)[x1t1, …, xntn] =
␢x (B[x1t1, …, xi-1ti-1, xi+1ti+1, …, xntn])

Logique formelle 33

Calcul des prédicats Syntaxe

En résumé
Seules les occurrences des variables libres peuvent être
substituées les variables les variables liées ne peuvent pas être
substituées

Remarque
La substitution interdit l’introduction de variables liées
On doit passer par le renommage (notion à voir dans la partie
sémantique)

Logique formelle 34

17
Calcul des prédicats Syntaxe

Exemple
Soit la formule A
x (y (R(y,x)  (x = z))  xz (R(y,z)  (f(z,x) = c)))

Logique formelle 35

Calcul des prédicats Syntaxe

Solution
Soit la formule A
x (y (R(y,x)  (x = z))  xz (R(y,z)  (f(z,x) = c)))

A[x  g1(y1), y  g2(z1), z  g3(x1)] =

x (y (R(y,x)  (x = g3(x1)))  (xz (R(g2(z1),z)  (f(z,x) = c)))

Remarque
La substitution interdit l’introduction de variables liées
On doit passer par le renommage (notion à voir dans la partie
sémantique)

Logique formelle 36

18
Calcul des prédicats Syntaxe

Proposition
Soient A une formule, t1, …,tn des termes et x1, …, xn des
variables, alors
le mot A [x1t1, …, xntn] est une formule

Logique formelle 37

Calcul des prédicats Syntaxe

b) Substitution des variables propositionnelles d’une


proposition par des formules

Soient A : p  ( q  r )
B1 : x  R(y,x)
B2 : P(y,z)  z R(y,f(z))
B3 : Q(f(c),z)

A [ p ← B1, q ← B2, r ← B3] = B1  ( B2  B3)

= x  R(y,x)  ( (P(y,z)  z R(y,f(z)))  Q(f(c),z))

Logique formelle 38

19
Calcul des prédicats Syntaxe
Théorème
Soient
• A une formule propositionnelle
• B1 , B2,…, Bn des formules d’ordre 1
• p1, p2, …, pn des variables propositionnelles

alors le mot A [ p1 ← B1, p2 ← B2, …, pn ← Bn ]


est une formule d’ordre 1
Remarque
On peut construire l’ensemble de toutes les formules d’ordre 1
par substitution des variables propositionnelles dans les
formules d’ordre 0
Logique formelle 39

Calcul des prédicats

I – Syntaxe

II – Sémantique

1. Structure et L-structure
2. Interprétation d’une formule
3. Satisfiabilité - Validité
4. Equivalence et conséquence sémantique
5. Formes clausales

Logique formelle 40

20
Calcul des prédicats Sémantique

Soit le théorème suivant sur les entiers naturels (division


euclidienne) :
« Pour tout couple d’entiers naturels (x,y),
il existe un unique couple d’entiers naturels (z,t) tel que
t < y et x = y * z + t »

Soit la formule de 1er ordre suivante :


x y z t ( ( P(t,y)  E(x,f(g(y,z),t)) ) 
z’ t’ ( (P(t’,y)  E(x, f(g(y,z’), t’ )))  (E(z,z’)  E(t,t’)) ) )

Logique formelle 41

Calcul des prédicats Sémantique

x y z t ( ( P(t,y)  E(x,f(g(y,z),t)) ) 
z’ t’ ( (P(t’,y)  E(x, f(g(y,z’), t’ )))  (E(z,z’)  E(t,t’)) ) )

Cette formule formalise la division euclidienne à condition


que :
• le symbole de prédicat P représente ‘<’ , le symbole E
représente ‘=’
• les symboles de fonction f et g représentent
respectivement les symboles ‘+’ et ‘ * ’
• les variables x, y, z , t, z’ et t’ sont des entiers naturels

Logique formelle 42

21
Calcul des prédicats Sémantique

Pour pouvoir interpréter une formule il faut :

 Un domaine: un univers D sur lequel les éléments de X


(les variables) prennent leurs valeurs (la population du
monde décrit).

 Interprétation: une correspondance entre les fonctions et


les prédicats du LP1 avec les différents valeurs du
domaine.
 Domaine + interprétation définissent une L structure

Logique formelle 43

Calcul des prédicats Sémantique

1- Structure et L-structure

Définition Structure
On appelle structure tout triplet (D, FD , RD ) composé de :
 un ensemble de valeurs D, appelé domaine
 un ensemble FD de fonctions sur D
 un ensemble RD de relations sur D

Logique formelle 44

22
Calcul des prédicats Sémantique

Remarque
• Lorsque l’ensemble des fonctions FD est vide la structure
s’appelle un système relationnel
• Lorsque l’ensemble des relations RD est vide la structure
s’appelle une algèbre

Exemples
• (ℕ , { * , +, - } , { = , < , > } ) est une structure
• (ℤ , { < , >} ) est un système relationnel, FD est vide
• (ℕ , { * , + } ) est une algèbre, RD est vide

Logique formelle 45

Calcul des prédicats Sémantique

Définition Interprétation
Une interprétation I du langage de 1er ordre L (X, F, R ) dans
la structure (D, FD , RD ) est une application de
F → FD et de R → RD
f ↦ fI=I(f) Q ↦ QI =I(Q)

C’est-à-dire qu’on associe à chaque fonction de F une


fonction définie dans le domaine D, et à chaque prédicat de R
une relation définie sur D.

Logique formelle 46

23
Calcul des prédicats Sémantique

Définition Interprétation (suite)


Une interprétation I du langage de 1er ordre L (X, F, R ) dans
la structure (D, FD , RD ) est une application de
F → FD et de R → RD
f ↦ fI=I(f) Q ↦ QI =I(Q)
L’interpréatation I conserve les arités, c’est-à-dire:

 si f  Fn et n>0 alors fI : D n → D , fI  FD
 si n=0 alors fI est la constante de D associée à la constante f
 Si Q  R n alors QI  Dn, c’est à dire que QI est l’ensemble des n-
uplets définis sur D vérifiant la relation QI
Logique formelle 47

Calcul des prédicats Sémantique

Définition L-structure
Soit L un langage du 1er ordre, on appelle L-structure, notée
(D, I), la structure associée au langage L par l’interprétation I

Logique formelle 48

24
Calcul des prédicats Sémantique

Exemple 1: la division euclidienne


• Le langage
L ( X = {x, y, z , t, z’, t’,…} , F = {f, g}, R = {P, E} )
• Une structure possible est
( D = ℕ, FD = {* , +,-}, RD = {=, <,>} )
La L-structure associée au langage L est (ℕ, I) avec
l’interprétation I définie comme suit :
fI = ‘ + ’ , gI = ‘ * ’, PI = ‘ <’ , EI = ’ = ’
PI = ‘ <’ : ensemble des couples (x,y) ℕ2 tels que x<y,
PI={(0,1),(1,2),(2,3),(1,6),….}  ℕ2
EI = ’ = ’ : ensemble des couples (x,y) ℕ2 tels que x=y,
EI={(0,0),(1,1),(2,2),(3,3),….}  ℕ2
Logique formelle 49

Calcul des prédicats Sémantique

Exemple 2
• Le langage :L ( X , F = {a,b}, R = {P, Q,G} )
• Une L-structure associée au langage L est (ℕ, I)
Avec l'interprétation I définie comme suit:

• aI = 0, bI = 1 , PI = { des nombres pairs}={0,2,4,6,…} ,

• QI = {(x,y) ℕ2 \ x>y}={(2,1),(1,0),(2,0)….}

• GI ={(x,y,z) ℕ3\ x<y<z}={(0,1,2),(1,2,3),(1,8,11),….}


Ainsi:
QI(2,1)=V car (2,1) appartient à ensemble QI
QI(1,2)=F car (1,2) n’appartient pas à ensemble QI
GI(2,1,0)=F car (2,1,0) n’appartient à ensemble GI
Logique formelle 50

25
Calcul des prédicats Sémantique

Exemple 3
S= x, (infegale(a, sin(x))  infegale(sin(x),b))

Le langage: L1= L (X , F = {a,b,sin}, R = {infegal} )

Une structure possible est : ( D = ℝ , FD = {-1,1, sinus}, RD = {≤} )

Une L -structure (ℝ, I)) associée au langage L1 dans la structure( D = ℝ ,


FD = {-1,1, sinus}, RD = {≤} ) est donnée par l’interprétation I définie par :

• SinI=sinus (la fonction sinus définie sur ℝ)


• aI=-1 (la constante réelle -1)
• bI=1 (la constante réel 1)
• infegaleI= ensemble des couples (d1,d2)  ℝ 2 tels que d1≤ d2 c-à-d
• ={(d1,d2)  ℝ 2/ d1≤ d2}={(0,1),(0.5,0.51),…..}

Logique formelle 51

Calcul des prédicats Sémantique

Exemple 4
Le langage: L1=L ( X , F = {f}, R = {P, Q} )

Une L-structure associée au langage L1 est (D, I), avec D


l’ensemble des étudiants de la classe, I définie par :

• PI = { (d1,d2)/ d1 est assis à côté de d2}


• QI = {(d1,d2)/ d1 est assis devant de d2}
• fI(d)=l’étudiant assis devant d

Logique formelle 52

26
Calcul des prédicats Sémantique

Exemple 5

Le langage: L1=L ( X , F = {f}, R = {P} )

Une L-structure associée au langage L1 est (ℝ, I), I définie


par :
• PI = { les solutions du polynôme 3x2 +6x=0}

• fI (): la fonction opposée

D’où
• fI (1)=-1, fI (-2)=2
• PI (0)=V et PI (1)=F

Logique formelle 53

Calcul des prédicats Sémantique

2- Interprétation d’une formule

Soient x1,…, xn des variables de X et d1,…, dn des


valeurs de D
Affectation
Les variables n’ont pas une interprétation fixée par une
L-structure. La notation:
(x1  d1, …, xn  dn) ou (x1, …, xn) (d1, …, dn)

désignent l’affectation des valeurs d1,…, dn aux variables


x1, …, xn . L’ordre est sans importance

Logique formelle 54

27
Calcul des prédicats Sémantique

Interprétation des termes


Soient x1, …, xn des variables, d1, …, dn des valeurs D et
soit t un terme.
L’interprétation de t dans la L-structure (D, I), notée [t]I
est définie inductivement comme suit :
 si t = xi i[1,n] alors [t]I = [xi]I (x1  d1, …, xn  dn) = di

 si t = f(t1, …, tm) alors


[t]I = [f(t1, …, tm)]I (x1  d1, …, xn  dn) =
fI([t1] I (x1  d1, …, xn  dn),…, [tm]I (x1  d1, …, xn  dn))

Logique formelle 55

Calcul des prédicats Sémantique

• Si t =c, une constante ( F0 ), [c]I (x1d1, …, xndn) = cI la


constante associée au symbole c

Logique formelle 56

28
Calcul des prédicats Sémantique

Définition Interprétation
• Soit A une formule du 1er ordre telle var(A)={x1,…, xn }

On appelle interprétation d’une formule A dans la L-structure


(D, I), la fonction [A]I var(A)D

Notée simplement [A]I

• L’interprétation de A dans la L-structure (D, I), est calculée


inductivement comme suit :

Logique formelle 57

Calcul des prédicats Sémantique

Interprétation d'une formule (suite)

 A=V alors [V]I (x1d1,…,xndn) = VB

 A=F alors [F]I (x1d1,…,xndn) = FB

suite

Logique formelle 58

29
Calcul des prédicats Sémantique

Interprétation des formules (suite)

 A=P(t1,…, tm) alors [P(t1,…, tm)]I (x1d1, …, xndn) =


PI ([t1]I (x1d1, …, xn dn), …, [tm]I (x1d1, …, xndn))=
VB si ([t1]I (x1d1, …, xn dn), …, [tm]I (x1d1, …, xndn))  PI
FB sinon
 [ A]I (x1d1, …, xndn) = B ([A]I (x1d1, …, xndn))

 [A # B]I (x1d1, …, xndn) =

[A]I (x1d1, …, xndn) #B [B]I (x1d1, …, xndn) #  {  ,


, , } #B  {  B ,  B , B ,  B } suite

Logique formelle 59

Calcul des prédicats Sémantique

Interprétation des formules (suite)

 [x A]I (x1d1, …, xndn) = VB si pour tout d  D


[A]I (x1d1, …, xndn, x  d) = VB
= FB sinon

 [x A]I (x1d1, …, xndn) = VB s’il existe d  D tel que


[A]I (x1d1, …, xndn, x  d) = VB
= FB sinon

• Les x1,…, xn sont les variables libres de la formule A,


ils sont évidemment distincts de x qui est une variable liée de A

Logique formelle 60

30
Calcul des prédicats Sémantique

Exemple
A : x (P(x)  Q(f(x),a))
D = {1, 2} I : aI = 1 fI : 1  2
PI = {2} 21
QI = {(1,1), (1,2), (2,2)}

On a Var(A)=  donc on cherche à calculer [A]I=[x (P(x)  Q(f(x),a))]I


On doit alors déterminer [P(x)  Q(f(x),a)]I (xd) avec dD={1,2}
On a:
[P(x)  Q(f(x),a)]I (x1) = PI(1) B QI(2,1) = FB B FB = VB
[P(x)  Q(f(x),a)]I (x2) = PI(2) B QI(fI(2),aI)
= PI(2) B QI(1,1) = (VB B VB) = VB
Pour d = 1 et d = 2, la formule est vraie, donc [A]I = VB
Logique formelle 61

Calcul des prédicats Sémantique

Exemple

B : x ( P(x,c)  P(y,f(y)) )

D1 = ℕ D2 = {0, 1} D3 = {0, 1}
I1 : cI1 = 0 I2 : cI2 = 0 I3 : cI3 = 1
fI1 : succ fI2 : 0  1 fI3 : x  1
PI1 : ‘≤ ‘ 10 PI3 : ‘=‘
PI2 : ‘=‘

suite

Logique formelle 62

31
Calcul des prédicats Sémantique

Exemple (suite)
 [B]I1 = ((d ≤ 0)  (d1 ≤ succ(d1))) = V, pour tout d de D1
donc [B]I1 = V

 [B]I2(y→0)= F car d (en prenant d=1)D2/ (d = 0)  (0 = 1)= F


 [B]I2(y→1) = F car d D2 ((d = 0)  (1 = 0)) = F
donc [B]I2 = F

 [B]I3(y→0) = F car d (en prenant d=0)D3 ((d = 1)  (0 = 1))= F


[B]I3(y→1) = V car d ona ((d = 1)  (1 = 1)) = V
l’interprétation de [B]I3 dépend des valeurs de y

Logique formelle 63

Calcul des prédicats Sémantique


Remarque
Caractère polymorphe de la fonction Interprétation
• Une interprétation I est une application
F → FD et R → RD

• Dans une L-structure (D, I) :


• l’interprétation d’un terme est une fonction de
T(F, X) , D n  D
• l’interprétation d’une formule est une application de
L(R ,F,X), D n  { VB, FB } (formule non close)
L(R ,F,X)  { VB, FB } (formule close)
Logique formelle 64

32
Calcul des prédicats Sémantique

Remarque (suite)
Caractère polymorphe de la fonction Interprétation
dans le cas du CP0

• Une interprétation I est une application (distribution de


valeurs de vérité)
R 0 → { V B , FB }

• L’interprétation d’une formule propositionnelle est une

application de L 0  { V B , FB }

Logique formelle 65

Calcul des prédicats Sémantique


3- Satisfiabilité - Validité
Définition Cas d’une formule close
Soient (D, I) une L-structure interprétant le langage de premier
ordre L(R ,F,X ) et A une formule close (Var(A) = )
 A est satisfaite (ou satisfiable) par (D, I) ssi [A]I = V
Notation (D, I) ╞ A
La L-structure (D, I) est appelée un modèle de A
 Une formule A est satisfiable ssi elle admet un modèle.
Elle est dite insatisfiable dans le cas contraire
 Une formule A est dite valide (tautologie) ssi
elle est satisfiable par toute L-structure. Notation ╞ A
Elle est dite invalide dans le cas contraire
Logique formelle 66

33
Calcul des prédicats Sémantique

Clôture universelle et clôture existentielle


Soient
• A une formule non close
• Var(A) = {x1, …, xn} les variables libres de A

 On appelle clôture universelle de A, la formule


x1 … xn A

 On appelle clôture existentielle de A, la formule


x1 … xn A

Logique formelle 67

Calcul des prédicats Sémantique

Définition Cas d’une formule non close


Soient (D, I) une L-structure interprétant le langage de premier
ordre L(R , F, X) et A une formule non close
 A est satisfiable ssi sa clôture existentielle est satisfiable

 A est valide dans la L-structure (D, I) ssi


sa clôture universelle est satisfaite par (D, I)
Notation (D, I) ╞ A
 A est valide universellement (tautologie) ssi
sa clôture universelle est valide Notation ╞ A

Logique formelle 68

34
Calcul des prédicats Sémantique

Formule close Formule non close


Var(A) =  Var(A) = {x1, …, xn}

Il existe (D, I) : Il existe (D, I) : [x1 … xn A]I = V


Satisfiable
[A]I = V
Valide dans (D, I)
Il existe (D, I) : [x1 … xn A]I = V
Pour tout (D, I) :
Valide Valide universellement
[A]I = V
Pour tout (D, I) : [x1 … xn A]I = V

Logique formelle 69

Calcul des prédicats Sémantique


Exemples
• A : x (P(x)  Q(f(x),a))

D = {1, 2} I : aI = 1 fI : 1  2 , 2  1
PI = {2} QI = {(1,1), (1,2), (2,2)}

• B : x (P(x,c)  P(y,f(y)))
D1 = ℕ D2 = {0, 1} D3 = {0, 1}
I1 : CI1 = 0 I2 : CI2 = 0 I3 : CI3 = 1
fI1 : ‘succ’ fI2 : 0  1, 1  0 fI3 : x  1
PI1 : ‘≤ ‘ PI2 : ‘=‘ PI3 : ‘=‘
suite
Logique formelle 70

35
Calcul des prédicats Sémantique
Exemples (suite)

• [A]I = V donc (D, I) ╞ A (A satisfiable)

• [B]I1 = V (pour toute valeur de la variable libre y dans D1)


c-à-d [ y B]I1 = V
(D1, I1) ╞ B (B valide dans (D1, I1) )

• [B]I2 = F (pour toute valeur de la variable y dans D2)


donc B est invalide

• [B]I3(y→0) = F et [B] (y→1) = V c-à-d [ y B]I3 = V


donc B est satisfiable
Logique formelle 71

Calcul des prédicats Sémantique

Exemples
• ╞ (P(x)   P(x)) (valide universellement)
• ╞ x (P(x)   P(x))

• ╞ x (P(x)   P(x))

• ╞  x P(x) => x P(x)

Propositions
 A est valide ssi  A est insatisfiable

 A est insatisfiable ssi  A est valide

Logique formelle 72

36
Calcul des prédicats Sémantique

Remarque

 Le CP0 a un pouvoir de modélisation « faible » mais il est


décidable (il est toujours possible de savoir si une formule
est valide ou non)
 Le CP1 a un pouvoir de modélisation « fort » (on peut
modéliser beaucoup d’énoncés) mais on n’a pas un moyen
systématique pour savoir la satisfiabilité d’une formule
(encore moins sa validité)
Le CP1 est semi-décidable (notion à étudier ultérieurement)

Logique formelle 73

Calcul des prédicats Sémantique

Proposition

Soient
• A une formule propositionnelle
• p1, p2, …, pn des variables propositionnelles
• B1, B2, …, Bn des formules d’ordre 1

Si A est une tautologie alors


A [ p1 ← B1, p2 ← B2, …, pn ← Bn ] est valide
(universellement)

Logique formelle 74

37
Calcul des prédicats Sémantique

4- Equivalence et conséquence sémantique


Définitions
 A est conséquence logique de B ssi tout modèle de B est
un modèle de A Notation B╞ A
Dans le cas des formules non closes, on passe par la clôture
universelle : B ╞ A ssi ( Var(B) B) ╞ ( Var(A) A)
 Deux formules A et B sont sémantiquement équivalentes

c-à-d A≡B ssi A╞ B et B╞ A

Logique formelle 75

Calcul des prédicats Sémantique

Propositions

1. B ╞ A ssi ╞ (B  A)

2. B ≡ A ssi ╞ (B  A)

 Toutes les propriétés de l’équivalence pour le CP0 relatives


aux connecteurs restent valables pour le CP1. Auxquelles il
faut ajouter des propriétés relatives aux quantificateurs.

Logique formelle 76

38
Calcul des prédicats Sémantique

Propriétés
 Loi de conversion des quantificateurs
  (x A) ≡ x ( A)
•  (x A) ≡ x ( A)
•  x ( A) ≡ (x A)
•  (x ( A )) ≡ x (A)

 Loi de distribution des quantificateurs


 x (A  B) ≡ (x A)  (x B)
x (A  B) ≡ (x A)  (x B)
 Loi de permutation des quantificateurs de même
ordre
 x y A ≡ y x A
 x y A ≡ y x A

suite

Logique formelle 77

Calcul des prédicats Sémantique

Propriétés (suite) loi de passage

 (␢ x A)  B ≡ ␢ x (A  B) x  Var(B)
␢  {, }
(␢ x A)  B ≡ ␢ x (A  B)

 A  (x B) ≡ x (A  B) x  Var(A)

A  (x B) ≡ x (A  B)

 (x A)  B ≡ x (A  B) x  Var(B)

(x A)  B ≡ x (A  B)
suite

Logique formelle 78

39
Calcul des prédicats Sémantique

Propriétés (suite)

 x (A  B) ╞ (x A)  (x B)

 (x A)  (x B) ╞ x (A  B)

 x y A ╞ y x A

Logique formelle 79

Calcul des prédicats Sémantique

Propriété de renommage
 x A ≡ y A [xy]

 x A ≡ y A [xy]
 Renommer les variables liées
 Le renommage est utilisé pour « purifier » une formule
c-à-d éviter d’avoir des occurrences libres et liées d’un
même nom de variable dans une même formule
 Le nouveau nom ne doit pas être un nom déjà utilisé dans
la formule comme variable libre ou liée

Logique formelle 80

40
Calcul des prédicats Sémantique

Satisfiabilité et validité d’un ensemble de formules


Les notions de validité et de satisfiabilité s’étendent
naturellement à un ensemble de formules
Soient ℰ un ensemble de formules (évent. infinie)
 Un ensemble de formules ℰ est satisfiable ssi il existe
une L-structure qui satisfait en même temps chacune de
ses formules
 Un ensemble de formules ℰ est valide si chacune de ses
formules est valide
Dans le cas où l’ensemble de formules contient des formules
non closes on passe par la clôture universelle
Logique formelle 81

Calcul des prédicats Sémantique


Equivalence et conséquence sémantique d'un ensemble de formules
Les notions de conséquence et d’équivalence sémantique
s’étendent naturellement à un ensemble de formules
 Une formule A est conséquence logique d’un ensemble de
formules ℰ (ℰ ╞ A ) ssi
tout modèle de ℰ est modèle de A
 Deux ensembles de formules ℰ et ℱ sont équivalents
(ℰ ≡ ℱ ) ssi
toute formule de ℰ est conséquence de ℱ et
toute formule de ℱ est conséquence de ℰ
Dans le cas où l’ensemble de formules contient des formules
non closes on passe par la clôture universelle
Logique formelle 82

41
Calcul des prédicats Sémantique
Théorème de compacité
Version 1
Pour tout ensemble ℰ de formules de 1er ordre
ℰ admet un modèle ssi toute partie finie de ℰ admet un modèle

Version 2

Pour tout ensemble ℰ de formules de 1er ordre

ℰ est contradictoire ssi


ℰ admet au moins un sous-ensemble fini contradictoire

suite

Logique formelle 83

Calcul des prédicats Sémantique

Théorème de compacité (suite)

Version 3

Pour tout ensemble ℰ de formules de 1er ordre et pour toute


formule B

B est conséquence de ℰ ssi


B est conséquence d’au moins une partie finie de ℰ

Logique formelle 84

42
Calcul des prédicats Sémantique
Remarque On appelle une théorie du langage L, un
ensemble de formules closes de L

Propositions
Soient
• L un langage du 1er ordre
• T = {A1, …, Am } et S = {B1, …, Bp } des théories de L
• A et B des formules de L

1. La formule A est contradictoire ssi


elle n’est satisfaite par aucune L-structure
suite

Logique formelle 85

Calcul des prédicats Sémantique


Propositions (suite)
2. La formule A est conséquence sémantique de la théorie T
ssi T U { A} est contradictoire
3. Si T est consistante et S  T , alors S est consistante

4. Si T est consistante, alors T est finiment consistante

5. Si T est contradictoire et T  S ,
alors S est contradictoire

6. T ╞ A et T  S , alors S╞ A
7. T U {A} ╞ B ssi T ╞ (A  B) suite

Logique formelle 86

43
Calcul des prédicats Sémantique

Propositions (suite)

8. T ╞ (A  B) ssi T ╞ A et T ╞ B

9. {A1, … , Am} ╞ B ssi ╞ ((A1  …  Am)  B)

10. A est universellement valide ssi


A est conséquence de la théorie vide

11. A est universellement valide ssi


A est conséquence de toute théorie de L

12. T est contradictoire ssi T ╞ (A   A)


suite

Logique formelle 87

Calcul des prédicats Sémantique


Propositions (suite)
13. T est contradictoire ssi
toute formule du langage L est conséquence de T
14. T est contradictoire ssi pour toute formule
universellement valide A,  A est conséquence de T
15. T est contradictoire ssi pour toute formule
universellement valide A,  A est conséquence de T
16. T est contradictoire ssi il existe au moins une formule A
universellement valide telle que T ╞  A
17. {A1, …, Am} est contradictoire ssi
 A1  …   Am est une formule universellement valide suite

Logique formelle 88

44
Calcul des prédicats Sémantique
Propositions (suite)
18. T et S sont équivalents ssi Ils ont les même modèles
19. En remplaçant dans la théorie T chaque formule par une
formule équivalente, on obtient une théorie équivalente à T
20. Si T est contradictoire, alors
S est équivalente à T ssi S est contradictoire
21. La théorie T est équivalente à la théorie vide ssi
toute formule de T est universellement valide

22. Toute L-structure est un modèle de la théorie vide


23. La théorie vide est consistante suite

Logique formelle 89

Calcul des prédicats Sémantique


Propositions (suite)

24. L’ensemble de toutes les formules closes de L


est une théorie contradictoire
25. Les théories {A} et {B} sont équivalentes ssi
A et B sont sémantiquement équivalentes
26. Les théories {A1,…, Am} et {B1,…, Bp} sont
sémantiquement équivalentes ssi la formule
(A1  …  Am)  (B1  …  Bp) est universellement valide

27. Toute théorie finie est équivalente


à une théorie réduite à une seule formule
Logique formelle 90

45
Calcul des prédicats Sémantique
Commentaires sur les quantificateurs logiques

 Quantificateur existentiel x
il existe x ; il y a (au moins) un x ; au moins un x,
certains x E
it Exists E
L’absence donne faux

 Quantificateur universel x
pour tout x ; quel(le)(s) que soi(en)t x ;
tout x ; tous les x , chaque x , chacun des x A
for All A
L’absence donne vrai
Logique formelle 91

Calcul des prédicats Sémantique

Remarque

Cohérence de la notation ╞

(D, I) ╞ A I╞ A D╞ A ╞ A

(D, I) ╞ ℰ I╞ ℰ D╞ ℰ ╞ ℰ

B╞ A ℰ╞A

Logique formelle 92

46
Calcul des prédicats Sémantique

5- Forme clausale
Forme prénexe

Une formule A est dite sous forme prénexe ssi

• A est de la forme
␢x1 ␢x2 … ␢xn B ␢  {, }

• et la formule B ne contient aucun quantificateur

On dit aussi forme normale prénexe

Logique formelle 93

Calcul des prédicats Sémantique

Exemples

 La formule x y (P(x)  P(y)) est sous forme prénexe

 La formule (x P(x))  (y P(y))


n’est pas sous forme prénexe

 une forme prénexe de x (P(x)  x Q(x)) est


y x ( P(x)  Q(y))

Logique formelle 94

47
Calcul des prédicats Sémantique

Une forme prénexe d’une formule peut être obtenue en


appliquant les transformations suivantes :

1. élimination des connecteurs  et 


• (A  B) ≡ (A  B)  (B  A)
• (A  B) ≡ ( A  B)

2. élimination des négations appliquées à des sous-formules


•  ( A) ≡ A
•  (A  B) ≡ ( A   B)
•  (A  B) ≡ ( A   B)
•  (x A) ≡ x ( A)
suite
•  (x A) ≡ x ( A)
Logique formelle 95

Calcul des prédicats Sémantique

3. renommage des variables liées si nécessaire


• x A ≡ y A[xy]
• x A ≡ y A[xy]

4. application des lois suivantes :


• (␢ x A)  B ≡ ␢ x (A  B) ␢  {, }
• (␢ x A)  B ≡ ␢ x (A  B)

• (x A)  (x B) ≡ x (A  B)
• (x A)  (x B) ≡ x (A  B)

• (x A)  (x B) ≡ x y (A  B[xy])


• (x A)  (x B) ≡ x y (A  B[xy])
Logique formelle 96

48
Calcul des prédicats Sémantique

Proposition
Toute formule admet une forme prénexe qui lui est
équivalente

Remarques
 Plusieurs formes prénexes d’une même formule peuvent
être obtenues (suivant l’ordre dans lequel on applique les
transformations). Elles sont toutes équivalentes
 De préférence, quand c’est possible, il faut remonter les 
devant les 

Logique formelle 97

Calcul des prédicats Sémantique


Forme de Skolem
A partir d’une formule sous forme prénexe, on construit une
formule sous forme de Skolem en éliminant les quantificateurs
existentiels et en introduisant des symboles de fonctions et de
constantes dites de Skolem

Soit A une formule sous forme prénexe

A : ␢x1 ␢x2 … ␢xn B ␢  {, }

Une forme de Skolem de A est obtenue en réitérant le


processus suivant en commençant par la gauche de la formule
jusqu’à élimination de tous les quantificateurs existentiels
suite

Logique formelle 98

49
Calcul des prédicats Sémantique

1. Si A est de la forme xi … ␢ xn B


c-à-d à gauche de xi, il n’y a aucun quantificateur, alors :
• on supprime xi
• on introduit un symbole de constante ci (constante de
Skolem)

• on remplace partout dans la formule B, la variable xi


par la constante ci

suite
Logique formelle 99

Calcul des prédicats Sémantique

2. Si A est de la forme x1 …xm xi … ␢xn B


c-à-d à gauche de xi , il y a m quantificateurs universels,
alors :
• on supprime xi

• on introduit un nouveau symbole de fonction fi ayant m


arguments (fonction de Skolem)

• on remplace partout dans la formule B, la variable xi


par la fonction fi(x1, x2, … ,xm)

Logique formelle 100

50
Calcul des prédicats Sémantique

Exemple
A : x y z u v w P(x, y, z)  Q(u, x, v, w)

x y z u v w P(x, y, z)  Q(u, x, v, w)
y z u v w P(a, y, z)  Q(u, a, v, w)
y z v w P(a, y, z)  Q(f(y,z), a, v, w)
y z v P(a, y, z)  Q(f(y,z), a, v, g(y,z,v))

La forme de Skolem de A est :


y z v P(a, y, z)  Q(f(y,z), a, v, g(y,z,v))
Logique formelle 101

Calcul des prédicats Sémantique

Proposition de Skolem
Soient A une formule sous forme prénexe et As sa forme
de Skolem

A est insatisfiable ssi As est insatisfiable

Logique formelle 102

51
Calcul des prédicats Sémantique
Forme clausale (forme standard)
La forme clausale d’une formule A est obtenue comme suit :
1. mise sous forme prénexe de A (on obtient la formule Ap)
2. mise sous forme de Skolem de Ap (on obtient la formule As)
3. suppression des quantificateurs universels
4. mise sous forme normale conjonctive de la formule restante
(on obtient Ac : B1  …  Bm chaque Bi est une clause)

On note la formule Ac ainsi obtenue sous forme d’un


ensemble de clauses {B1, B2, … , Bm}

Logique formelle 103

Calcul des prédicats Sémantique

Théorème
Soient A une formule et Ac sa forme clausale

A est insatisfiable ssi Ac est insatisfiable

Remarque
Pour le calcul des propositions, la forme clausale est la forme
normale conjonctive écrite sous forme de conjonction de
clauses

Logique formelle 104

52
Calcul des prédicats Sémantique

Remarque
Pour un ensemble ℰ = {A1, A2,…, An} de formules.
La forme clausale de ℰ est l’ensemble

ℰc = { B11, … ,B1m , B21, … , B2k , … , Bn1, … , Bnp }

A1c A2c Anc

Aic : forme clausale de la formule Ai

Logique formelle 105

53

Vous aimerez peut-être aussi