Vous êtes sur la page 1sur 33

Logique des prédicats

Introduction

• Considérons l’exemple de raisonnement qui suit :


TOUT homme est mortel.
OR Socrate est un homme.
DONC Socrate est mortel.
• La logique des propositions ne permet pas de ‘formuler’ des raisonnements
comme celui-ci, vu qu’il n’existe pas de notion d’énoncé singulier (exp. Socrate
est mortel) et d’énoncé générique (Tout être humain est mortel).
• En logique de prédicats, nous avons cette notion d’énoncé singulier et
d’énoncé générique qui se base sur d’autres notions, à savoir, les objets ou les
individus et leurs désignateurs : les constantes et les variables, et les
relations entre les objets (exp. Ahmed est le père d’Ali, mortalité) appelées
prédicats.
• En logique de prédicats, nous pouvons écrire (ou formuler) ‘Socrate est un homme’
sous la forme : homme(socrate) où ‘socrate’ est l‘individu ou l’objet, et ‘homme’ est la
propriété (relation( 1-aire)).

• Pour formuler un énoncé générique comme ‘TOUT homme est mortel’, la logique
des prédicats emploie le quantificateur universel " .

• Le raisonnement précédent peut être formulé comme suit :

"X (homme(X)  mortel(X))


homme(socrate)
DONC mortel(socrate)

• La logique de prédicats a pour but de généraliser la logique propositionnelle en


introduisant les variables (exp. X), les quantificateurs (exp. . ") et les prédicats (exp.
mortel), c’est pour cela qu’on la nomme aussi logique de 1er ordre.
Aspects syntaxiques

Définition : l’alphabet de LP1


– L'alphabet de la logique des prédicats est constitué de :
• un ensemble dénombrable R de symboles de prédicats à n arguments (0 n)
(arité n), par exemple, p, q, r, ….,mortel, aime, …
• un ensemble dénombrable VAR de variables d'objets, par exemple,
X,Y,Z,...
• un ensemble dénombrable F de symboles de fonctions à à n arguments (0
n) (arité n), par exemple, f, g, ... , âge-de, ...
• les quantificateurs ", $
• les connecteurs : ¬ ,  ,  ,  et 
• les séparateurs ‘(‘ et ‘)‘.
• Rq: les constantes : F (faux,) et V (vrai) sont généralement non considérées.
Définition : Fonctions et prédicats à 0 arguments
– Les constantes de l'alphabet de la logique des prédicats sont les fonctions à 0
arguments et elles permettent de désigner des objets particuliers.

– Dans la suite, elles seront notées en minuscule, par exemple, a,b,socrate,


ali,...

– Les prédicats à 0 arguments peuvent être considérés comme des variables


propositionnelles, par exemple, il-pleut, la-route-est-mouillée, p, q, …

– Rq: On peut donc considérer l’alphabet propositionnel comme faisant partie


de l’alphabet de la logique des prédicats.
Définition : Termes

– L'ensemble des termes de LP1 est le plus petit ensemble de mots


construits sur l'alphabet de la logique des prédicats tel que :

• Toute variable est un terme ;

• Toute constante est un terme ;

• f(t1,...,tn) est un terme(dit fonctionnel) si f est une fonction à n


arguments (n>0) et t1,...,tn sont des termes.

Exemple: f/1, g/2, a, b: symboles de fonctions

on a les termes suivants: X, a, f(a), f(f(f(X))), g(g(a,X),f(f(g(a,b)))


Définition : Formule atomique (ou atome)
– Si p est un prédicat à n (resp 0) arguments (n>0) et t1,...,tn sont des
termes alors p(t1,...,tn) (resp p) est une formule atomique (ou atome)

Exemple: f/1, g /2, a, b: symboles de fonctions


p/2 , q/1, r/0: symboles de prédicats
On a les atomes suivants:
r, q(X),q(a), p(g(g(a,X),f(f(g(a,b)))))

RQ: q(q(X)) n’est pas un atome


f(X) n’est pas un atome
Définition : Formules
L'ensemble des formules de LP1 (appelé FP1) est le plus petit ensemble de mots
construits sur l'alphabet de LP1 tel que :
• si A est une formule atomique alors A est une formule;
• ¬ A est une formule si A est une formule;
• (A  B), (A  B), (A  B) et (A  B) sont des formules si A et B le sont.
• (Q x A) est une formule si Q est un quantificateur, X une variable et A
une formule.
Rq :L'ensemble FP1 est défini de la même manière que celui de la logique
propositionnelle, mais en considérant en plus les quantificateurs et les variables.
Exemples:
"x ( $y p(x, y)  $z q(z))
"x ( $y p(x, y)  $z q(z))  r
"x ( $y p(a, f(b))  $z q(x))
¬ ("x ( $y p(a, f(b))  $z q(x)))
Définition : Sous-formules
– L'ensemble des sous-formules d'une formule A est le plus petit ensemble tel
que :
• A est une sous-formule de A.
• Si (¬ B) est une sous-formule de A alors B est une sous-formule de A.
• Si (B  C) (respectivement (B v C) ou (B  C) ou(B C)est une sous-
formule de A alors B et C sont des sous-formules de A.
• Si (Q x B) est une sous-formule de A (avec Q quantificateur et x
variable) alors B est une sous-formule de A.
Exemple:
"x ( $y p(x, y)  $z q(z))  r
Définition : Occurrence d’une variable
– Une occurrence d’une variable x dans une formule A est un endroit où x
apparaît dans A sans être immédiatement précédée par " ou $.
Exemple:

"x ($y p(x, y)  $z p(y,z))  q(x)

Définition : Portée d’un quantificateur


– Dans une formule A=Q x B, avec Q quantificateur et x variable , B est
appelée la portée du quantificateur Q.
Définition : occurrence libre (resp. liée) d’une variable

Une occurrence libre de x dans une formule A est définie comme suit :
– Si A =  (B), les occurrences libres de x dans A sont celles de B.
– Si A = (B)  (C), les occurrences libres de x sont celles de B et
celles de C ( est un connecteur parmi  , ,,  ).
– Si A= "y(B) ou A = $y(B) avec x distincte de y, les occurrences
libres de x sont celles de B.
– Si A = " x (B) ou A = $ x (B), aucune occurrence de x dans A n’est
libre.
– Si A est un atome alors toute occurrence d’une variable x dans A
est libre.
Une occurrence liée de x dans A est toute occurrence non libre
Exemple:
"x ($y p(x, y)  $z p(y,z))  q(x)
Définition : variable libre
– Une variable est dite libre dans une formule A si elle a au moins une
occurrence libre, sinon on dit qu’elle est liée.
–RQ : si x1, … , xn sont les variables libres dans A, pour exprimer ceci, on note A
comme suit : A(x1, … , xn)
Exemple:
"x ($y p(x, y)  $z p(y,z))  q(x)
x et y sont libres et liées
z est liée

Définition : formules closes


Une formule est dite close (ou fermée) si elle ne contient pas de variables libres.
Sinon elle est dite ouverte.
Exemples:
"x ($y p(x, y)  $z p(y,z))  q(x)
"x q(x)
q(a)
Définition : clôture universelle d’une formule
La clôture (ou fermeture) universelle d’une formule A(x1, … , xn) est la formule close A’=
" x1 … " xn A(x1, … , xn) .
Définition : clôture existentielle d’une formule
La clôture (ou fermeture) existentielle d’une formule A(x1, … , xn) est la formule close $ x1 … $
xn A(x1, … , xn) .

Définition : formules propres


Une formule A est dite propre lorsque :
– Il n’existe pas de variable dans A qui a, à la fois, des occurrences libres et des occurrences
liées.
– Deux occurrences liées d’une même variable dans A appartiennent à la portée d’un même
quantificateur.
Exemples:
– A = "x ( $y p(x, y)  $z p(y, z)) → impropre
– A’ = "x ( $y p(x, y)  $y p(y, z)) → ?
– A’’ = "x ( $y p(x, y)  $z p(x, z)) → ?
Définition : Renommage de formules
Un renommage d’une variable consiste à changer les noms de certaines de ces
occurrences et ce, en donnant le même nom pour ces occurrences liées
appartenant à la même portée d’un quantificateur et le même nom pour ces
occurrences libres.

• On peut rendre une formule propre par un renommage qui consiste à :


– Changer les occurrences liées d’une variable libre par d’autres noms de
variables, de telle sorte que toute variable libre ne puisse pas avoir
d’occurrences liées.
– Pour chaque occurrence liée d’une variable qui appartient à la portée
d’un quantificateur différent donner un nom différent.
• Exemples :
– A = "x ( $y p(x, y)  $z p(y, z)) → impropre
– A= "x ( $y1 p(x, y1)  $z p(y, z)) → propre après renommage
Définition : Substitution de variables
– Une substitution s de n variables {x1 , ... , xn} est une application de
l’ensemble des variables dans l’ensemble des termes qui est telle que:
• Pour tout xi dans {x1 , ... , xn}, s(xi) =ti
• Pour tout x / x {x1 , ... , xn}, s(x) =x.
• s est notée par (x1/t1) … (xn/tn)
− L'application d'une substitution s à une formule (resp. un terme) A donne
une formule (resp. un terme) As qui est le résultat du remplacement
simultanée de toutes les occurrences libres des variables dans A par leur
terme associé, et en veillant à ce que les variables de t restent libres dans A.
As est appelé une instance de A
− On peut utiliser la notation A[x ← t] ou A[x / t] pour représenter la formule
A dans laquelle la variables libre x est remplacée par le terme t ( bien sûr en
veillant à ce que les variables de t restent libres dans A)
Exemple:
A = "x ( $y p(x, y)  $z p(y, z))
S=(y\f(x)
As =
II/ Aspects sémantiques

Définition : Domaine d’interprétation et interprétation


Un domaine d’interprétation pour un langage de prédicat est un ensemble non vide
E (appelé parfois domaine d’objets ou univers de discours).

Définition : interprétation
Une interprétation est un triplet (E, FI, PI), telle que :
• E est un domaine d’interprétation ;
• FI est un ensemble de fonctions fI tq si n est l’arité de f;alors fI est de En vers
E, fI est notée aussi I(f), et est appelée interprétation du symbole f dans I
• PI est un ensemble de prédicats pI tq si n est l’arité de p, alors pI :est inclus
dans En (p un sous-ensemble de En), pI est noté aussi I(p), et est appelé
interprétation du symbole p dans I (on peut aussi voir pI comme
application de En vers {V,F})
Exemple1:

Soit la formule A1: "x (p(x, f(x))  p(f(x),x))

Soit I1 définie par (E,{fI1}, {pI1}), où:

• E={e1,e2,e3}

• fI1 : E → E
fI1(e1)=e2; fI1(e2)=e3; fI1(e3)=e1

• pI1 : E → {V,F}
pI1(e1,e2)=V; pI1(e2,e1)=V; pI1 (x,y)=F pour les autres couples
Exemple2:

Soit la formule A2: $x (p(a, f(b))  p(f(x),x))


(a: symbole de constante)

Soit I2 définie par (E,{aI2,bI2,fI2}, {pI2}), où:

• E={e1,e2,e3}

• aI2 = e1

• bI2 = e3

• fI2 : E → E
fI2(e1)=e2; fI2(e2)=e3; fI2(e3)=e1

• pI2 : E → {V,F}
pI2(e1,e2)=V; pI2(e2,e1)=V; pI2 (x,y)=F pour les autres couples
Définition : Assignation de variables, assignation de termes
– Une assignation de variables est une fonction U qui associe à chaque variable d’une
formule un élément de E.
U:X → E
x → U(X)

– Une fonction TIU est dite une ‘assignation de terme’ correspondante à une interprétation
I et à une assignation de variables U, si elle associe à un terme T, un élément
appartenant à E de la manière suivante :
• Si T est une constante alors TIU(T)=I (T) ;
• Si T est une variable alors TIU (T) =U(T) ;
• Si T est un terme fonctionnel de la forme f(T1, …, Tn) tel que I(f) = fI , alors TIU(T) =
fI(TIU(T1),…, TIU(Tn) ).
Exemples

• Si U(x)=e1, TI1U(f(f(x)))= fI1U(TI1U (f(x)))


= fI1U(fI1U (TI1U(x)))
= fI1U(fI1U(U(x))))
=fI1U(fI1U(e1)))
= fI1U(e2)
= e3

• TI2U(f(f(b)))=?
Définition : variante d’une assignation de variable

Une assignation de variables U’ est dite une variante en x (variable) de U , si U’ est


identique à U sauf -peut être- en x.

Définition : Interprétation des formules

Étant données une interprétation I et une assignation de variables U , on peut


calculer la valeur de vérité (dans {V, F} ) de chaque formule A d’un langage de
prédicat par une fonction IU, comme suit :
• Si A est atomique, càd, il existe un symbole de prédicat p tel que
A=p(t1,...,tn), alors IU (A)= V ssi pI (TIU(t1),..., TIU(tn)) =V;
• Si A = "x B alors IU (A)= V ssi pour tout U’ variante de U en x , IU’ (B)= V.
• Si A = $ x B alors IU (A)= V ssi il existe U’ variante de U en x tq IU’ (B)= V.
• Plus les règles concernant les connecteurs propositionnels.
Exemples
C1 D1

A1: "x (p(x, f(x))  p(f(x),x))

B1

I1(A1)?
A1= "x B1
Pour toute valeur e du domaine E, on doit calculer I1(B1(e)).
Pour ce faire, on calcule I1(C1(e)) et I1(D1(e))
• I1(C1(e1))= pI1 (e1, fI1(e1))=V;
• I1(C1(e2))= F;
• I1(C1(e3))= F;
Exemples
C1 D1

A1: "x (p(x, f(x))  p(f(x),x))

B1

De même:
• I1(D1(e1))= V
• I1(D1(e2))= F;
• I1(D1(e3))= F;
Donc: I1(B(e1))=V, I1(B(e2))=V, I1(B(e3))=V,
Donc: I1("x B1)=V
Donc: I1(A1)=V
Définition : Modèle
– I est un modèle pour une formule A (ou I satisfait A) ssi pour toute
assignation de variable U, on a IU(A) = V , noté |=I A (ou bien: I(A)= V)
– I est un modèle pour un ensemble de formules S ssi I est un modèle pour
toute formule A de S.
Remarque:
Pour une formule close, les valeurs assignées à ses variables n’ont aucune
influence sur sa valeur de vérité par une interprétation du moment qu’elles
sont toutes liées.
Exemple:
– I1 est un modèle pour p(x, f(x))  p(f(x),x)
– I1 est aussi un modèle pour "x (p(x, f(x))  p(f(x),x))
Définition : Validité, Satisfiabilité
Soit A une formule:
– A est valide (ou une tautologie ; noté |= A) si |=I A (ou I(A) = V) pour
toute interprétation I. Sinon A est invalide ou falsifiable.
– A est satisfiable ssi il existe une interprétation I et une assignation de
variable U, t.q. IU(A) = V (ont dit que I satisfait A pour l’assignation de
variable U ou (I,U) satisfait A). Sinon A est contradictoire.
Exemples:
• ⊨ 𝑝(𝑥) ∨ ¬𝑝(𝑥)
• ⊨ ∀𝑥 (𝑝 𝑥 ∨ ¬𝑝 𝑥 )
• ∀𝑥 (𝑝 𝑥 ∧ ¬𝑝 𝑥 ) est insatisfiable
• "x (p(x, f(x))  p(f(x),x)) n’est pas valide, mais elle est satisfiable
Définition : Conséquence logique, consistance et équivalence.
– Une formule B est conséquence logique d’une formule A si tout couple (I,U) satisfaisant A,
satisfait également B (noté A |= B )
– Pour les autres, appliquer les mêmes définitions et notations que celles de la logique
propositionnelle en respectant évidemment la nouvelle définition de conséquence
logique, de satisfiabilité et de modèle.

Exemples:
– ∀𝑥 ∀𝑦 𝑞 𝑥, 𝑦 ⇒ 𝑝 𝑥, 𝑦 , ∀𝑧 𝑞(𝑧, 𝑧) ⊨ ∀𝑧 𝑞(𝑧, 𝑧)
– L’ensemble de formules:
{$x (p(a),
∀𝑥 𝑝 𝑥 ⇒ ¬𝑟 𝑥 ,
∀𝑦 ¬𝑟 𝑦 ⇒ 𝑞 𝑦 ,
∀𝑧 𝑞 𝑧 ⇒ ¬𝑝 𝑧 }
est insatisfiable ou inconsistant
Théorème : Conséquence logique et implication

– Soient A et B deux formules et S un ensemble de formules contenant A :


• A⊨B ssi ⊨ (A  B).
• S⊨B ssi S /{A} ⊨ (A  B).
Exemple:
On a : ∀𝑥 ∀𝑦 𝑞 𝑥, 𝑦 ⇒ 𝑝 𝑥, 𝑦 , ∀𝑧 𝑞(𝑧, 𝑧) ⊨ ∀𝑥 𝑞(𝑥, 𝑥)
Donc:
• ∀𝑥 ∀𝑦 𝑞 𝑥, 𝑦 ⇒ 𝑝 𝑥, 𝑦 ⊨ (∀𝑧 𝑞 𝑧, 𝑧 ⟹ ∀𝑥 𝑞 𝑥, 𝑥 )

• ∀𝑧 𝑞(𝑧, 𝑧) ⊨ (∀𝑥 ∀𝑦 𝑞 𝑥, 𝑦 ⇒ 𝑝 𝑥, 𝑦 ⟹ ∀𝑥 𝑞 𝑥, 𝑥 )
• ⊨ (∀𝑥 ∀𝑦 𝑞 𝑥, 𝑦 ⇒ 𝑝 𝑥, 𝑦 ⇒ ( ∀𝑧 𝑞 𝑧, 𝑧 ⟹ ∀𝑥 𝑞 𝑥, 𝑥 )
Théorème : Renommage et équivalence
Si A’ est une formule obtenue suite à un renommage de variables à
partir d ’une formule A, alors A et A’ sont tautologiquement
équivalentes.
Théorème : Équivalences importantes
Si A est une formule et x est une variable, les couples de formules
suivants sont équivalentes :
– (" x ¬A ) et ¬($ x A) )
– ($ x ¬ A ) et ¬(" x A) )
– A et "x A si x n’est pas libre dans A.
– A et $xA si x n’est pas libre dans A.
– " x (A  B) et (" x A)  (" x B)
– $ x (A  B) et ($ x A)  ($ x B)
III/Aspects déductifs
Soit le système formel Pr, appelé calcul des prédicat, défini par:
– 𝛴𝑃𝑟 ={ ⇒, ¬} ∪ {"} ∪ {𝑝, 𝑞, … } ∪ { , , , }

– 𝐹𝑃𝑟 F ensemble des formules bien formées définies par:


• p est une formule si p variable propositionnelle
• ( A) est une formule si A est une formule
• (A ⇒ B) est une formule si A et B sont des formules
• ("x A) est une formule si A est une formule

– 𝐴𝑃𝑟 est l’ensemble des axiomes de l’une des 3 formes suivantes:


• SA1: 𝐴 ⇒ 𝐵 ⇒ 𝐴
• SA2: (𝐴 ⇒ 𝐵 ⇒ 𝐶 ⟹ ( 𝐴 ⟹ 𝐵 ⟹ 𝐴 ⇒ 𝐶 ))
• SA3: ((¬𝐴 ⇒ ¬𝐵) ⇒ (𝐵 ⇒ 𝐴))
• SA4: (("x A(x) ⇒ 𝐴(x ⟵ t)))
• SA5: (𝐷 ⇒ 𝐵 ⇒ (𝐷 ⇒ "𝑥 𝐵))

– 𝑅𝑃𝑟 = 𝑚. 𝑝, g 𝑜ù 𝑚. 𝑝: 𝐴, (𝐴 ⇒ 𝐵) ⊢ 𝐵 et g: 𝐴 ⊢ "𝑥 𝐵

Avec A,B,C ∈ 𝐹𝑃𝑟 , x : variable, t: terme, D est une formule n’ayant pas x
comme variable libre.
Exemple de déduction dans Pr:

Montrons que: ∀x ∀y p x, y ⊢ ∀z p z, z

1. ∀x ∀ y p x, y hyp.
2. ∀x ∀ y p x, y ⇒ ∀y p z, y SA4
3. ∀y p z, y MP 1 et 2
4. ∀y p z, y ⇒ p(z,z) SA4
5. p(z,z) MP 3 et 4
6. ∀z p z, z g sur 5
Théorème:
Soit 𝒜 ⊑ 𝐹𝑃𝑟 , un ensemble de formules closes de Pr. Soit B une formule close
de Pr.
Alors, 𝒜 ⊨ 𝐵 si et seulement si 𝒜 ∪ ¬𝐵 est insatisfiable.

Théorème: (correction de Pr)


Soit A ∈ 𝐹𝑃𝑟 .
Si ⊢ 𝐴 alors ⊨ 𝐴
Autrement dit: tout théorème de Pr est une tautologie: la validité syntaxique
implique la validité sémantique.

Théorème: (complétude de Pr)


Soit A ∈ 𝐹𝑃𝑟 .
Si ⊨ 𝐴 alors ⊢ 𝐴
Autrement dit: toute tautologie de la logique des prédicats est un théorème
de Pr: la validité sémantique implique la validité syntaxique.
Théorème: (Indécidabilité de Pr)

Le calcul des prédicats Pr est indécidable.


Autrement dit: il n’existe aucun programme qui, pour toute formule 𝐴 ∈
𝐹𝑃𝑟 ,indique en un temps fini si OUI ou NON, A est un théorème de Pr, ou, ce
qui revient au même, indique en un temps fini si OUI ou NON, A est une
tautologie de Pr.

Vous aimerez peut-être aussi