Académique Documents
Professionnel Documents
Culture Documents
Notation.
Q dénote un quantificateur quelconque, c-à-d ∀ ou ∃.
Les fonctions à 0 arguments sont appellées constantes et sont notés sans parenthèses ( a, b, ...,
Socrate, ...).
Même chose pour les prédicats à 0 arguments, qui ne sont rien d'autre que des variables
propositionnelles.
Définition (terme). L'ensemble des termes est le plus petit ensemble de mots construits sur l'alphabet
de la
logique des prédicats tel que
Définition (formule). Si p est un prédicat à n arguments et t1,...,tn sont des termes alors
p(t1,...,tn)
est une formule atomique.
L'ensemble FOR
des formules (ou formules bien formées) de la logique
des prédicats est alors défini de la
même manière qu'en logique propositionnelle,
en rajoutant une clause pour les quantificateurs :
https://www.irit.fr/~Andreas.Herzig/C/pred.html 1/16
26/10/2021 21:18 Cours de logique des prédicats
Exemples
Définition (formule fermée, formule ouverte). Une formule est fermée (ou close) si elle ne contient pas de
variables libres.
Sinon elle est ouverte.
Exemples
Définition (substitution de variables). Une substitution de variables est une application des variables dans
les
termes qui est l'identité presque partout.
Notation.
Soit {x1 , ... , xn}
l'ensemble des variables tel que s(x) est différent de x .
La substitution s
est alors notée
s = {x1\t1 , ... , xn\tn}.
Exemples de substitutions
https://www.irit.fr/~Andreas.Herzig/C/pred.html 2/16
26/10/2021 21:18 Cours de logique des prédicats
Définition (interprétation des termes). Une interprétation donnée I peut être étendue aux termes
par
I(f(t1,...,tn)) = (IF(f))(I(t1),...,I(tn))
Définition (interprétation des formules). Une interprétation I' est une variante en x de I si I' est
identique à I sauf en x (la seule différence entre I et I' est la valeur qu'elles donnent à x).
Exemples
Comme en logique propositionnelle, I(A) = 1 est parfois noté |=I A , et nous dirons alors que
I est un
modèle de A.
https://www.irit.fr/~Andreas.Herzig/C/pred.html 3/16
26/10/2021 21:18 Cours de logique des prédicats
∀x A -> ((A){x\t})
(A){x\t} -> ∃x A
A A -> B
_____________
A -> (∀x B)
s'il n'y a pas d'occurrence libre de x dans A
et
A -> B
______________
(∃x A) -> B
s'il n'y a pas d'occurrence libre de x dans B
Remarque.
Il est possible de définir également la déduction. Nous l'omettons ici, car elle est plus complexe
que celle de la logique propositionnelle (les deux règles d'inférence pour les quantificateurs peuvent
seulement être
appliquées à des axiomes logiques, et non à des axiomes non-logiques
et des formules
déduites à partir de ceux-ci).
De plus, cette notion peut être réduite à la validité, par un théorème de la
déduction similaire à celui de la logique propositionnelle.
https://www.irit.fr/~Andreas.Herzig/C/pred.html 4/16
26/10/2021 21:18 Cours de logique des prédicats
Adéquation et de complétude
Théorème d'adéquation.
Si |- A alors |= A.
Théorème de complétude.
Si |= A alors |- A.
Semi-décidabilité
https://www.irit.fr/~Andreas.Herzig/C/pred.html 5/16
26/10/2021 21:18 Cours de logique des prédicats
Équivalences propositionnelles
Ces principes peuvent être `importées' de la logique propositionnelle.
propriétés algébriques
Fermeture universelle :
soit A sans occurrence libre de x. Alors
|- A ssi |- ∀x A .
Fermeture existentielle :
soit A sans occurrence libre de x. Alors
A est satisfiable ssi ∃x A est satisfiable.
Quantification répetée :
|- (Q1 x Q2 x A) <-> Q2 x A
Renommage :
|- (Q x A) <-> Q y (A){x\y}
Exemples d'application
Une formule A est en forme normale prénexe si elle est de la forme Qx1 ... Qxn B , où B est une formule
sans quantificateurs.
Exemples
https://www.irit.fr/~Andreas.Herzig/C/pred.html 7/16
26/10/2021 21:18 Cours de logique des prédicats
appliquer autant que possible les équivalences suivantes, dans n'importe quel ordre (en remplaçant le membre
gauche par le membre droit) :
~~A <-> A
~(A ∨ B) <-> ~A ∧ ~B
~(A ∧ B) <-> ~A ∨ ~B
~(∀x A) <-> ∃x ~A
~(∃x A) <-> ∀x ~A
tant que il existe une sous-formule Q x B telle que x apparaît en dehors de B dans A faire
remplacer Q x B par Q y (B){x\y} ,
où y est une nouvelle variable (n'apparaissant pas dans A) ;
fin tant que;
appliquer autant que possible les équivalences suivantes, dans n'importe quel ordre
(en remplaçant le membre
gauche par le membre droit) :
(Q x A) ∧ B <-> Q x (A ∧ B)
(Q x A) ∨ B <-> Q x (A ∨ B)
A ∧ (Q x B) <-> Q x (A ∧ B)
A ∨ (Q x B) <-> Q x (A ∨ B)
fin
Exemples d'application
(la démonstration utilise que les équivalences sont valides - en particulier ceux de la dernière étape reposent
sur le fait que
grâce au renommage de l'étape précédente toutes les occurrences de x sont dans la portée de Q
x - , ainsi que le théorème de la substitution des équivalents :
les remplacements effectués par l'algorithme
correspondent à des équivalences prouvables).
Une formule est en forme normale de Skolem si elle est en forme normale prénexe et ne contient pas de
quantificateur existentiel.
supprimer ∃x du préfixe de A
fin pour tout
fin
Remarque.
Si n = 0 on substitue par une constante.
Exemples d'application
Une formule est en forme normale clausale si elle est en forme normale de Skolem, fermée
et sa matrice est
en
forme normale conjonctive propositionnelle.
Exemples
Notation. Comme toute variable est quantifiée universellement, nous pouvons éliminer le préfixe.
Exemples d'application
https://www.irit.fr/~Andreas.Herzig/C/pred.html 10/16
26/10/2021 21:18 Cours de logique des prédicats
Introduction
L'unification
Définition (unifieur).
Une substitution s unifie deux termes
si elle les rend identiques :
s unifie t et t' si
(t)s = (t')s.
Un unifieur d'un
ensemble fini d'équations entre termes E = {t1=t'1 , ... , tn=t'n} est une substitution
qui unifie les deux termes de chaque équation.
Exemples
Exemples
Théorème. Si un ensemble d'équations entre termes est unifiable alors il existe un unique upg s
(à un
renommage de variables près).
Soit
E = {x1=t1 , ... , xn=tn}
un ensemble d'équations résolu.
La substitution associé à E est
sE = {x1\t1 , ... , xn\tn}
Algorithme d'unification
entrée : un ensemble fini E d'équations entre termes
sortie : ou bien échec, ou bien un upg de E
début
tant que E n'est pas résolu faire
choisir une équation de E ;
appliquer une des règles suivantes à cette équation :
Exemples
Théorème. Si un ensemble de termes est unifiable alors l'algorithme calcule leur upg, sinon il s'arrête sur
échec.
https://www.irit.fr/~Andreas.Herzig/C/pred.html 11/16
26/10/2021 21:18 Cours de logique des prédicats
Définition (résolvante).
Soient C et C' deux clauses telles que
C = {p(t1,...,tn)} U
D
C' = {~p(t'1,...,t'n)} U
D'
il existe un unifieur le plus général s de {t1=t'1 , ... tn=t'n} (après avoir éventuellement
renommé les variables d'une
des deux clauses)
Alors (D U
D')s est une résolvante de C et C'.
Exemples
Définition (facteur).
Soit C une
clause telle que
ou bien C = {p(t1,...,tn),p(t'1,...,t'n)} U
D ,
ou bien C = {~p(t1,...,tn),~p(t'1,...,t'n)} U
D
,
et
il existe un unifieur le plus général s de {t1=t'1 , ... tn=t'n}.
Exemples
Exemples
https://www.irit.fr/~Andreas.Herzig/C/pred.html 12/16
26/10/2021 21:18 Cours de logique des prédicats
Théorème. Soit A une formule en forme normale clausale, et soient x1,...,xm les variables libres de A.
Alors
∀x1 ... ∀xn A est insatisfiable ssi il existe une réfutation de
l'ensemble de clauses associé à A.
Corollaire. Pour savoir si une formule donnée A est valide en logique des prédicats,
il suffit de
1. nier A : A' = ~A
2. mettre A' en forme normale clausale ;
3. répéter la production de résolvantes et facteurs
jusqu'à ce que
ou bien la clause vide est produite
ou bien il n'est plus possible de produire des clausess nouvelles
4. si la clause vide est produite alors A est valide ;
N.B. :
Il est possible qu'aucun des deux conditions d'arrêt soit atteinte
(voir p.ex. le dernier des exemples).
La
résolution est donc un exemple de procédure de semi-décision
pour la logique des prédicats.
Exemples
https://www.irit.fr/~Andreas.Herzig/C/pred.html 13/16
26/10/2021 21:18 Cours de logique des prédicats
suite : PROLOG
https://www.irit.fr/~Andreas.Herzig
Définition (clause de Horn). Une clause de Horn est une clause avec au plus un littéral positif.
https://www.irit.fr/~Andreas.Herzig/C/pred.html 14/16
26/10/2021 21:18 Cours de logique des prédicats
Exemples
Exemples
Notation de PROLOG
Par convention, les expressions représentant des constantes et noms de prédicat ont comme première lettre
une minuscule.
Les expressions représentant des variables ont comme première lettre ou bien une majuscule,
ou bien l'underscore ``_''.
Les faits p
sont notés ``p.''.
Les règles {p, ~p1, ..., ~pn}
sont notées ``p :- p1, ..., pn''.
Les questions ~P sont parfois notées ``? p.'',
mais en sont la plupart du temps représentées dans un champ a
part, et notées``p.'' (ou ``p'') comme les faits.
BinProlog
https://www.irit.fr/~Andreas.Herzig/C/pred.html 15/16
26/10/2021 21:18 Cours de logique des prédicats
https://www.irit.fr/~Andreas.Herzig
https://www.irit.fr/~Andreas.Herzig/C/pred.html 16/16