Académique Documents
Professionnel Documents
Culture Documents
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 1 / 49
Introduction Syntaxe Sémantique inférence
Motivation
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 2 / 49
Introduction Syntaxe Sémantique inférence
Motivation
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 3 / 49
Introduction Syntaxe Sémantique inférence
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 4 / 49
Introduction Syntaxe Sémantique inférence
Motivation
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 5 / 49
Introduction Syntaxe Sémantique inférence
Introduction
Peut on modéliser les situations suivantes en logique
propositionnelle :
certains étudiants assistent à tous les cours
aucun étudiant n’assiste à un cours non intéressant
dans toute salle d’examen, il y a un étudiant qui, s’il échoue,
alors tout le monde échoue
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 6 / 49
Introduction Syntaxe Sémantique inférence
Introduction
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 7 / 49
Introduction Syntaxe Sémantique inférence
Syntaxe
Constantes
Michel, 2, ULCO, . . .
Relations (prédicats)
vrai, >, . . .
Fonctions
√
. . ., père, . . .
Variables
x,y, . . .
Connecteurs
⇒, ⇔, ∨, ∧, ¬
Egalité (entre termes)
=
Quantificateurs
∀, ∃
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 8 / 49
Introduction Syntaxe Sémantique inférence
Formules atomiques
Formule atomique
prédicat(terme1 , . . . , termen )
Termes
Constante
Variable
Fonction(terme1 , . . . , termen )
Exemples
Frère(Paul, Etienne)
Marié(père(Michel),mère(Sophie))
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 9 / 49
Introduction Syntaxe Sémantique inférence
Formules complexes
Définition
Construites à partir des formules atomiques
Ajouts de connecteurs
Exemple
Frères(John,Richard) ⇒ Frères(Richard, John)
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 10 / 49
Introduction Syntaxe Sémantique inférence
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 11 / 49
Introduction Syntaxe Sémantique inférence
Quantification universelle
∀ <variables> <formule>
“Tous les étudiants de Calais aiment l’intelligence artificielle” :
∀ x Etudiant(x,Calais) ⇒ Aime(x,IA).
∀ x P ssi P est vrai avec x pouvant être tous les objets du modèle.
Réécriture possible avec un ensemble de conjonction
(Etudiant(Albert,Calais) ⇒ Aime(Albert,IA) ∧
(Etudiant(Bertrand,Calais) ⇒ Aime(Bertrand,IA) ∧
...
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 12 / 49
Introduction Syntaxe Sémantique inférence
Quantification existentielle
∃ <variables> <formule>
“Il existe au moins un étudiant de Calais qui aime l’intelligence
artificielle” :
∃ x Etudiant(x,Calais) ∧ Aime(x,IA).
∃ x P ssi P est vrai avec x pouvant être (au moins) un objet du
modèle.
Réécriture possible avec un ensemble de disjonction
(Etudiant(Albert,Calais) ∧ Aime(Albert,IA) ∨
(Etudiant(Bertrand,Calais) ∧ Aime(Bertrand,IA) ∨
...
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 13 / 49
Introduction Syntaxe Sémantique inférence
Attention
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 14 / 49
Introduction Syntaxe Sémantique inférence
Equivalence
∀ x ∀ y est équivalent à ∀ y ∀ x
∃ x ∃ y est équivalent à ∃ y ∃ x
Attention : ∀ x ∃ y n’est pas équivalent à ∃ y ∀ x
∃ y ∀ x Etudie(x,y) : ”il existe un module étudié de tous”
∀ x ∃ y Etudie(x,y) :”tout le monde suit un module (pour tout
étudiant, il existe un module au quel il est inscrit)”
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 15 / 49
Introduction Syntaxe Sémantique inférence
Equivalence
∀ x ∀ y est équivalent à ∀ y ∀ x
∃ x ∃ y est équivalent à ∃ y ∃ x
Attention : ∀ x ∃ y n’est pas équivalent à ∃ y ∀ x
∃ y ∀ x Etudie(x,y) : ”il existe un module étudié de tous”
∀ x ∃ y Etudie(x,y) :”tout le monde suit un module (pour tout
étudiant, il existe un module au quel il est inscrit)”
Dualité
∀ x Aime(x,les glaces) est équivalent à ¬ ∃ x ¬ Aime(x, les
glaces)
∃ x Aime(x,les épinards) est équivalent à ¬ ∀ x ¬ Aime(x, les
épinards)
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 15 / 49
Introduction Syntaxe Sémantique inférence
Notion d’égalité
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 16 / 49
Introduction Syntaxe Sémantique inférence
Notion d’égalité
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 16 / 49
Introduction Syntaxe Sémantique inférence
Exemples
C(x) : x est un client , F(x) : x est français, V(x) : x est végétarien,
E(x) : x est un employé
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 17 / 49
Introduction Syntaxe Sémantique inférence
Exemples
C(x) : x est un client , F(x) : x est français, V(x) : x est végétarien,
E(x) : x est un employé
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 17 / 49
Introduction Syntaxe Sémantique inférence
Notes
Tous les A sont B : ∀x, A(x) → B(x)
Seuls les A sont B : ∀x, B(x) → A(x)
Aucun A n’est B : ∀x, A(x) → ¬B(x)
Quelques A sont B : ∃x, A(x) ∧ B(x)
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 17 / 49
Introduction Syntaxe Sémantique inférence
Définition
Une occurrence d’une variable x dans une formule atomique est libre
Si une occurrence x est libre (resp. liée) dans une formule A alors elle
est libre (resp. liée) dans A → B, A ⇔ B, A ∧ B, A ∨ B, ¬A, ∀yA, et ∃yA
si y 6= x
Formule close
Une formule est close lorsque toutes les occurrences des variables qui y
figurent sont liées
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 18 / 49
Introduction Syntaxe Sémantique inférence
F1 : Q(a, f (x))
Formule atomique comportant une occurrence de x, x est donc
libre.
F2 : ∀z Q(a, f (x))
F2 = ∀z F1 , comme z 6= x, le fait que x soit libre dans F1 entraine
que x est libre dans F2 .
F3 : ∀x ∀y Q(x, y) → ∃z P(z)
F3 est une formule close (x et y liées par ∀ et z liée à ∃).
F4 : Q(b, b) → ∀x (P(x) ∨ ∃x Q(x, y))
y est libre.
∀x ne peut lier qu’une variable libre c’est à dire x dans P(x).
L’occurrence de x dans Q(x, y ) est elle liée par ∃x.
Donc les deux variables x sont liées (mais différemment).
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 19 / 49
Introduction Syntaxe Sémantique inférence
Remarques
Une variable liée ne possède pas d’identité propre et peut être
remplacée par n’importe quel autre nom de variable qui
n’apparaı̂t pas dans la formule.
∀x A(x) est identique à ∀y A(y)
Pour éviter les ambiguı̈tés, mieux vaut utiliser des noms de
variables différents.
Exemple
Soit F : x < y → ∀x (x = y ∨ ∃y y < x)
Les variables x, y sont à la fois libres et liées. Il vaut mieux
renommer les occurrences :
F : x < y → ∀z (z = y ∨ ∃t t < z)
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 20 / 49
Introduction Syntaxe Sémantique inférence
Sémantique
But de la sémantique
Donner un sens à une formule de la logique des prédicats et
décider ensuite si elle est vraie ou fausse.
Il faut indiquer :
A quoi réfèrent les objets (constantes, variables et termes) de la
formule.
A quoi renvoient les symboles de prédicats et de fonctions de la
formule.
Plusieurs étapes
Il faut décider du modèle (le langage).
L’interprétation (la réalisation) du langage.
La valuation (trouver la valeur de vérité).
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 21 / 49
Introduction Syntaxe Sémantique inférence
Sémantique : interprétation
Le modèle (domaine) :
Richard
Jean
La relation de fraternité
Interprétation :
La constante R renvoie à Richard
La constante J renvoie à Jean
Le prédicat F renvoie à la relation de fraternité
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 22 / 49
Introduction Syntaxe Sémantique inférence
Exemple d’interprétation
Soit la formule :
∀x(A(x) ∧ B(f (x), a)), définie sur le domaine ∆ = {4, 5}.
A et B sont des prédicats, f est une fonction, x une variable et a une constante.
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 23 / 49
Introduction Syntaxe Sémantique inférence
Valuation
Comme dans la logique des propositions, les formules ont une valeur
de vérité qui dépendent de l’interprétation choisie. Cette valeur de
vérité est établie comme suit :
La valeur de vérité d’une formule atomique est la valeur de vérité
du prédicat selon l’interprétation I.
La valeur de vérité d’une formule contenant des variables
quantifiées est :
si F = ∃x G, la valeur de F sera vraie si la valeur de G selon I est
vraie pour au moins une valeur de x ∈ ∆, sinon la valeur de F est
fausse.
si F = ∀x G, la valeur de F sera vraie si la valeur de G selon I est
vraie pour toutes les valeurs de x ∈ ∆, sinon la valeur de F est
fausse.
La valeur de vérité d’une formule non atomique construite à
partir de formules atomiques, est calculée au moyen des tables
de vérité des connecteurs.
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 24 / 49
Introduction Syntaxe Sémantique inférence
Exemple de valuation
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 25 / 49
Introduction Syntaxe Sémantique inférence
Exemple de valuation
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 25 / 49
Introduction Syntaxe Sémantique inférence
Exemple de valuation
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 25 / 49
Introduction Syntaxe Sémantique inférence
Validité et satisfiabilité
Formule satisfiable
Une formule vraie pour au moins une interprétation du modèle
Formule valide
Une formule vraie pour toutes les interprétations possibles du modèle
Exemple
Soit la formule ∀x A(x) ∨ ∃y A(y ) sur ∆ = {1, 2} Elle possède 4
interprétations possibles :
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 26 / 49
Introduction Syntaxe Sémantique inférence
Validité et satisfiabilité
Formule satisfiable
Une formule vraie pour au moins une interprétation du modèle
Formule valide
Une formule vraie pour toutes les interprétations possibles du modèle
Exemple
Soit la formule ∀x A(x) ∨ ∃y A(y ) sur ∆ = {1, 2} Elle possède 4
interprétations possibles :
Ip1 [A](1) = V , Ip1 [A](2) = V
Ip2 [A](1) = V , Ip2 [A](2) = F
Ip3 [A](1) = F , Ip3 [A](2) = V
Ip4 [A](1) = F , Ip4 [A](2) = F
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 26 / 49
Introduction Syntaxe Sémantique inférence
Exemple de satisfiabilité
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 27 / 49
Introduction Syntaxe Sémantique inférence
Exemple de satisfiabilité
x y A(x) A(y ) ∀ x A(x) ∃ y A(y ) ∀ x A(x) ∨ ∃ y A(y )
1 1 V V
1 2 V V
I1 V V V
2 1 V V
2 2 V V
1 1 V V
1 2 V F
I2 F V V
2 1 F V
2 2 F F
1 1 F F
1 2 F V
I3 F V V
2 1 V F
2 2 V V
1 1 F F
1 2 F F
I4 F F F
2 1 F F
2 2 F F
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 27 / 49
Introduction Syntaxe Sémantique inférence
Substitution 1/2
Définition
Substituer une variable xi par un terme ti avec xi 6= ti .
On note :
θ = {x1 /t1 , . . . , xn /tn }
sub(θ, t) : appliquer la substitution θ au terme t
Exemple
t = g(x, y , f (x, y))
θ = {x/a, y/f (x, a)} : substituer les variables x et y par a et
f (x, y).
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 28 / 49
Introduction Syntaxe Sémantique inférence
Substitution 1/2
Définition
Substituer une variable xi par un terme ti avec xi 6= ti .
On note :
θ = {x1 /t1 , . . . , xn /tn }
sub(θ, t) : appliquer la substitution θ au terme t
Exemple
t = g(x, y , f (x, y))
θ = {x/a, y/f (x, a)} : substituer les variables x et y par a et
f (x, y).
t 0 = Sub(θ, t) = g(a, f(x,a),f(a,f(x,a)))
Si on applique une deuxième fois la meme substitution :
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 28 / 49
Introduction Syntaxe Sémantique inférence
Substitution 1/2
Définition
Substituer une variable xi par un terme ti avec xi 6= ti .
On note :
θ = {x1 /t1 , . . . , xn /tn }
sub(θ, t) : appliquer la substitution θ au terme t
Exemple
t = g(x, y , f (x, y))
θ = {x/a, y/f (x, a)} : substituer les variables x et y par a et
f (x, y).
t 0 = Sub(θ, t) = g(a, f(x,a),f(a,f(x,a)))
Si on applique une deuxième fois la meme substitution :
t 00 = Sub(θ, t 0 ) = g(a,f(a,a), f(a,f(a,a)))
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 28 / 49
Introduction Syntaxe Sémantique inférence
Substitution 2/2
Remarque 1
Le terme t peut contenir des variables qui peuvent se retrouver
quantifiées (liées) une fois la substitution faite. Il faut dans ce cas
faire attention et renommer les variables de sorte à ce que toutes les
variables de t restent libres dans F .
Remarque 2
Il ne faut pas confondre ces substitutions avec les interprétations. La
substitution remplace syntaxiquement une variable par un terme pour
produire un nouvel énoncé, alors qu’une interprétation fait
correspondre une variable à un objet du domaine.
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 29 / 49
Introduction Syntaxe Sémantique inférence
Unification
Définition
Deux formules sont unifiables s’il existe une substitution des
variables qui les rendent identiques.
Unifier deux formules : les rendre identiques en leur appliquant
une substitution.
Exemples
Peut on unifier F1 : A(x, g(b, x)) et F2 : A(a, g(y, b)) ?
θ = {x/a, y /b}
Sub(θ, F1 ) = A(a, g(b, a))
Sub(θ, F2 ) = A(a, g(b, b))
F1 et F2 ne sont pas unifiables.
Peut on unifier F3 : A(x, a, z) et F4 : A(c, a, y )) ?
θ = {x/c, y/z}
Sub(θ, F3 ) = A(c, a, z)
Sub(θ, F4 ) = A(c, a, z)
F3 et F4 sont unifiables.
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 30 / 49
Introduction Syntaxe Sémantique inférence
Principe de résolution
Définition
Comme pour la logique des propositions, on peut appliquer la
résolution pour déduire des énoncés à partir de faits.
Pour la logique des propositions
A partir de (p1 ∨ . . . ∨ pm ),(q1 ∨ . . . ∨ qn ), si pi = ¬qj , on déduit :
(p1 ∨ . . . ∨ pi−1 ∨ pi+1 ∨ . . . ∨ pm ∨ q1 ∨ . . . ∨ qj−1 ∨ qj+1 ∨ . . . ∨ qn )
Pour la logique des prédicats
A partir de (p1 ∨ . . . ∨ pm ),(q1 ∨ . . . ∨ qn ), si pi et ¬qj sont unifiables
par θ on déduit :
(p1 ∨ . . . ∨ pi−1 ∨ pi+1 ∨ . . . ∨ pm ∨ q1 ∨ . . . ∨ qj−1 ∨ qj+1 ∨ . . . ∨ qn )
Exemple
F1 = Animal(x) ∨ Aimer (g(x), x)
F2 = ¬Aimer (u, v ) ∨ ¬Tuer (u, v )
Avec θ = {u/g(x), v /x} on unifie F1 et F2 ,
et on déduit Animal(x) ∨ ¬Tuer (g(x), x)
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 31 / 49
Introduction Syntaxe Sémantique inférence
Transformation en CNF
1 Élimination des implications et des équivalences
2 Réécrire en forme prénexe (mettre les quantificateurs en début)
3 Skolémisation (suppression du ∃)
4 Suppression des quantificateurs universels (∀)
5 Distribution de ∨ sur ∧
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 32 / 49
Introduction Syntaxe Sémantique inférence
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 33 / 49
Introduction Syntaxe Sémantique inférence
Définition
Une forme prénexe est une formule de la forme Q1 x1 . . . Qd xd M avec
Qi un quantificateur et M une formule sans quantificateur. Pour cela
on utilise les équivalences suivantes :
¬∀p ≡ ∃x¬p.
¬∃p ≡ ∀x¬p.
(∀xA) ∨ B ≡ ∀x(A ∨ B) ssi x n’est pas liée dans B.
(∃xA) ∨ B ≡ ∃x(A ∨ B) ssi x n’est pas liée dans B.
(∀xA) ∧ B ≡ ∀x(A ∧ B) ssi x n’est pas liée dans B.
(∃xA) ∧ B ≡ ∃x(A ∧ B) ssi x n’est pas liée dans B.
Si x est liée dans B alors il faut renommer x avec une substitution.
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 34 / 49
Introduction Syntaxe Sémantique inférence
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 35 / 49
Introduction Syntaxe Sémantique inférence
3. Skolémisation
Définition
Il s’agit de supprimer les quantificateurs existentiels en les remplaçant
avec une constante ou un terme qui ne sont pas dans le domaine.
Il y a deux possibilités :
∃x∀yA(x, y ) devient ∀yA(a, y) (remplacé par la constante a).
∀y ∃xA(x, y) devient ∀yA(f (y ), y) (remplacé par le terme f (y ). f
est appelé fonction de Skolem).
Attention les deux formules ne sont pas équivalentes, mais si on
déduit G de la première alors on peut la déduire de la seconde.
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 36 / 49
Introduction Syntaxe Sémantique inférence
3. Skolémisation
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 37 / 49
Introduction Syntaxe Sémantique inférence
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 38 / 49
Introduction Syntaxe Sémantique inférence
5. Distribution de ∨ sur ∧
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 39 / 49
Introduction Syntaxe Sémantique inférence
Exemple
Faits
Les personnes qui ont la grippe A doivent prendre du Tamiflu
Les personnes qui ont de la fièvre et qui toussent ont la grippe A
Ceux qui ont une température supérieure à 38˚ ont de la fièvre
Pierre tousse et a une température supérieure à 38˚
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 40 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Faits
Pour tout crime, il y a quelqu’un qui l’a commis.
Seuls les malhonnêtes commettent des crimes.
Ne sont arrêtés que les gens malhonnêtes.
Les gens malhonnêtes arrêtés ne commettent pas de crimes.
Il y a des crimes.
Question
Il y a des gens malhonnêtes non arrêtés.
Codage en prédicats
x est un crime : Crime(x).
x a commis y : Commis(x,y).
x est malhonnête : Malhonnête(x).
x est arrêté : Arrêté(x).
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 41 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Faits
Pour tout crime, il y a quelqu’un qui l’a commis.
Seuls les malhonnêtes commettent des crimes.
Ne sont arrêtés que les gens malhonnêtes.
Les gens malhonnêtes arrêtés ne commettent pas de crimes.
Il y a des crimes.
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 42 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Faits
Pour tout crime, il y a quelqu’un qui l’a commis.
∀x(Crime(x) ⇒ ∃yCommis(y , x)). (F1)
Seuls les malhonnêtes commettent des crimes.
Ne sont arrêtés que les gens malhonnêtes.
Les gens malhonnêtes arrêtés ne commettent pas de crimes.
Il y a des crimes.
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 42 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Faits
Pour tout crime, il y a quelqu’un qui l’a commis.
∀x(Crime(x) ⇒ ∃yCommis(y , x)). (F1)
Seuls les malhonnêtes commettent des crimes.
∀x, y (Crime(x) ∧ Commis(y, x) ⇒ Malhonnete(y )). (F2)
Ne sont arrêtés que les gens malhonnêtes.
Les gens malhonnêtes arrêtés ne commettent pas de crimes.
Il y a des crimes.
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 42 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Faits
Pour tout crime, il y a quelqu’un qui l’a commis.
∀x(Crime(x) ⇒ ∃yCommis(y , x)). (F1)
Seuls les malhonnêtes commettent des crimes.
∀x, y (Crime(x) ∧ Commis(y, x) ⇒ Malhonnete(y )). (F2)
Ne sont arrêtés que les gens malhonnêtes.
∀x(Arrete(x) ⇒ Malhonnete(x)). (F3)
Les gens malhonnêtes arrêtés ne commettent pas de crimes.
Il y a des crimes.
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 42 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Faits
Pour tout crime, il y a quelqu’un qui l’a commis.
∀x(Crime(x) ⇒ ∃yCommis(y , x)). (F1)
Seuls les malhonnêtes commettent des crimes.
∀x, y (Crime(x) ∧ Commis(y, x) ⇒ Malhonnete(y )). (F2)
Ne sont arrêtés que les gens malhonnêtes.
∀x(Arrete(x) ⇒ Malhonnete(x)). (F3)
Les gens malhonnêtes arrêtés ne commettent pas de crimes.
∀x, y (Malhonnete(x) ∧ Arrete(x) ∧ Crime(y ) ⇒ ¬Commis(x, y )).
(F4)
Il y a des crimes.
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 42 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Faits
Pour tout crime, il y a quelqu’un qui l’a commis.
∀x(Crime(x) ⇒ ∃yCommis(y , x)). (F1)
Seuls les malhonnêtes commettent des crimes.
∀x, y (Crime(x) ∧ Commis(y, x) ⇒ Malhonnete(y )). (F2)
Ne sont arrêtés que les gens malhonnêtes.
∀x(Arrete(x) ⇒ Malhonnete(x)). (F3)
Les gens malhonnêtes arrêtés ne commettent pas de crimes.
∀x, y (Malhonnete(x) ∧ Arrete(x) ∧ Crime(y ) ⇒ ¬Commis(x, y )).
(F4)
Il y a des crimes.
∃x(Crime(x)). (F5)
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 42 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
But
Il y a des gens malhonnêtes non arrêtés.
On cherche à montrer
{F 1, F 2, F 3, F 4, F 5, ¬Q} |= ∅
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 43 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
But
Il y a des gens malhonnêtes non arrêtés.
∃x(Malhonnete(x) ∧ ¬Arrete(x)), (Q).
∀x(¬(Malhonnete(x) ∧ ¬Arrete(x))), (¬Q).
On cherche à montrer
{F 1, F 2, F 3, F 4, F 5, ¬Q} |= ∅
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 43 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Traduction en CNF
Pour tout crime, il y a quelqu’un qui l’a commis.
∀x(¬Crime(x) ∨ ∃yCommis(y , x)). (F1)
∀x∃y (¬Crime(x) ∨ Commis(y , x)).
∀x(¬Crime(x) ∨ Commis(f (x), x)).
¬Crime(x) ∨ Commis(f (x), x). (F1)
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 44 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Traduction en CNF
Seuls les malhonnêtes commettent des crimes.
∀x, y (Crime(x) ∧ Commis(y, x) ⇒ Malhonnete(y )). (F2)
∀x, y (¬(Crime(x) ∧ Commis(y, x)) ∨ Malhonnete(y )).
(¬Crime(x) ∨ ¬Commis(y , x) ∨ Malhonnete(y )). (F2)
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 45 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Traduction en CNF
Ne sont arrêtés que les gens malhonnêtes.
∀x(Arrete(x) ⇒ Malhonnete(x)). (F3)
∀x(¬Arrete(x) ∨ Malhonnete(x)).
¬Arrete(x) ∨ Malhonnete(x). (F3).
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 46 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Traduction en CNF
Les gens malhonnêtes arrêtés ne commettent pas de crimes.
∀x, y (Malhonnete(x) ∧ Arrete(x) ∧ Crime(y ) ⇒ ¬Commis(x, y )).
(F4)
∀x, y (¬(Malhonnete(x)∧Arrete(x)∧Crime(y ))∨¬Commis(x, y )).
∀x, y (¬Malhonnete(x) ∨ ¬Arrete(x) ∨ ¬Crime(y) ∨
¬Commis(x, y )).
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 47 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Traduction en CNF
Il y a des crimes.
∃x(Crime(x)). (F5).
(Crime(C1)). (F5).
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 48 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Traduction en CNF
Il y a des gens malhonnêtes non arrêtés.
∀x(¬(Malhonnete(x) ∧ ¬Arrete(x))), ¬(Q)
∀x(¬Malhonnete(x) ∨ Arrete(x))
¬Malhonnete(x) ∨ Arrete(x), (¬Q)
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 49 / 49
Introduction Syntaxe Sémantique inférence
Exemple 1
Rym Guibadj, Fabien Teytaud (LISIC, ULCO, EILCO) Logique des prédicats 50 / 49