Logique classique Cours 4 : Logique des prédicats

Transcription

Logique classique Cours 4 : Logique des prédicats
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
Logique classique
Cours 4 : Logique des prédicats
Odile PAPINI
POLYTECH
Université d’Aix-Marseille
[email protected]
http://odile.papini.perso.luminy.univ-am.fr/sources/LOG.html
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
Plan du cours
1
Le langage de la logique des prédicats
2
La logique des prédicats comme système formel
3
La sémantique de la logique des prédicats
4
Quelques résultats
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
Limites du langage propositionnel
Exemple de raisonnement
Tout homme est mortel,
Socrate est un homme,
donc Socrate est mortel.
en logique propositionnelle
p : “Tout homme est mortel”,
q : “Socrate est un homme”,
p∧q →r
r : “donc Socrate est mortel”.
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
Intoduction
nouvelle représentation
“Pour tout x, si x est un homme alors x est mortel”,
“Socrate est un homme”,
“donc Socrate est mortel”.
x est un homme
est représenté par
H(x)
x est mortel
est représenté par
M(x)
en logique des prédicats
∀x (H(x) → M(x)) ∧ H(Socrate) → M(Socrate)
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
Le langage de la logique des prédicats : LPr
Vocabulaire
un ensemble infini dénombrable de symboles de prédicats
un ensemble infini dénombrable de symboles fonctionnels
un ensemble infini dénombrable de variables
les connecteurs :
¬,
les quantificateurs ∀,
, ∧,
∨,
→,
∃
les parenthèses
Odile PAPINI
Logique classique
↔
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
Le langage de la logique des prédicats LPr : Définitions
terme
x une variable , f un symbole fonctionnel est un terme
si t1 , · · · , tn sont des termes alors f (t1 , · · · , tn ) est un terme
atome
si t1 , · · · , tn sont des termes et P est un prédicat alors
P(t1 , · · · , tn ) est un atome
formule
un atome est une formule
si A et B sont des formules alors ¬ A,
A → B, A ↔ B sont des formules
si A est une formule et x une variable alors
∀ x A, ∃ x A sont des formules
Odile PAPINI
Logique classique
A ∧ B,
A ∨ B,
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
Le langage de la logique des prédicats LPr
prédicat
fonction propositionnelle qui conduit à une proposition lorsque les
variables sont instanciées
P(x1 , · · · , xn ) où x1 , · · · , xn : n variables indépendantes
n = 0 proposition, n = 1 propriété : premier (x)
n = 2 relation binaire : inferieur (x, y ) · · ·
fonction
fonction qui conduit à une constante lorsque les variables sont
instanciées
f (x1 , · · · , xn ) où x1 , · · · , xn : n variables indépendantes
n = 0 constante, n = 1 : f (x) = successeur (x), f (x) = x 2
n = 2 : f (x, y ) = x + y · · ·
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
Le langage de la logique des prédicats LPr
Portée des quantificateurs
atome ou formule à laquelle la quantification s’applique
variables liées
variables sous la portée de quantificateurs
ensemble des variables liées
si A est une formule,
l’ensemble Varlie(A) des variables liées de A est défini par :
si A est un atome alors Varlie(A) = ∅
si A est de la forme B → C alors Varlie(A) = Varlie(B) ∪ Varlie(C )
si A est de la forme ¬ B alors Varlie(A) = Varlie(B)
si A est de la forme ∀x B ou ∃x B alors Varlie(A) = Varlie(B) ∪ {x}
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
Le langage de la logique des prédicats LPr
variables libres
variables qui ne sont pas sous la portée de quantificateurs
ensemble des variables libres
si A est une formule,
l’ensemble Varlib(A) des variables libres de A est défini par
:
si A est un atome alors Varlib(A) = Var(A)
si A est de la forme B → C alors Varlib(A) = Varlib(B) ∪ Varlib(C )
si A est de la forme ¬ B alors Varlib(A) = Varlib(B)
si A est de la forme ∀x B ou ∃x B alors Varlib(A) = Varlib(B) - {x}
formule close ou fermée
une formule sans variable libre
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
Le langage de la logique des prédicats LPr
Exemples
A = (p(f (x, y )) ∨ ∀z r (a, z))
Var(A) ? Varlie(A) ? Varlib(A) ?
B = (∀x p(x, y , z) ∨ ∀z (p(z) → r (z)))
Var(B) ? Varlie(B) ? Varlib(B) ?
C = ∀x ∃y (p(x, y ) → ∀z r (x, y , z))
Var(C ) ? Varlie(C ) ? Varlib(C ) ?
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
Le langage de la logique des prédicats LPr
Exercices
Parmi les formules suivantes lesquelles sont des formules closes ?
∀i (pluie(i) ∧ ¬sortir (i))
∃i (¬pluie(i) ∧ (∀i (different(i, j) → pluie(j))))
∀x P(x, y ) ∧ ∀y Q(y )
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
Représentation d’énonçés en logique des prédicats
exercice
Représentation en logique des prédicats des énonçés suivants :
Quelqu’un arrive
Personne n’est venu
Quelques champignons sont comestibles
Tous les petits oiseaux volent
Tous les enfants aiment les bonbons
Aucun enfant ne déteste les bonbons
Tout ce qui brille n’est pas en or
ni les chats, ni les chiens ne sont tolérés
chats et chiens doivent avoir une autorisation
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
système formel
Axiomes
∀A, B, C , D ∈ LPr , x une variable et t un terme, D n’ayant pas
x pour variable libre
A1)
(A → (B → A))
A2)
((A → (B → C )) → ((A → B) → (A → C )))
A3)
((¬ A → ¬ B) → (B → A))
A4)
(∀x A(x) → A(t))
A5)
((D → B) → (D → ∀x B)
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
système formel
Règles de déduction
∀A, B, ∈ LPr
modus ponens
` A, ` A → B
`B
règle de substitution
généralisation
`A
` ∀x A
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
système formel
règle de substitution
soit A(x) une formule contenant x comme variable libre
soit t un terme
A(t) : obtenue en remplaçant les occurences libres de x
par t dans A(x)
Si x ou t apparaissent comme variables liées dans la
formule A(x) alors renommer ces occurences
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
système formel
Déduction
Soit B une formule de LPr et H1 , · · · , Hm des hypothèses
une déduction de B à partir d’hypothèses H1 , H2 , · · · , Hm
H1 , · · · , Hm ` B
est une suite de formules
F1 , · · · , Fi , F n
telle que :
Fn = B
et
Fi ,
1≤i <n
est :
soit une des hypothèses H1 , · · · , Hm
soit un axiome
soit obtenue par l’application de règles de déduction à partir de
formules Fj , j < i
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
système formel
Proposition :
∀A ∈ LPr
` (A → A)
Proposition :
∀A1 , · · · , An−1 ∈ LPr
si
A1 , · · · , An−1 ` (An → B)
alors
A1 , · · · , An ` B
Théorème de déduction :
Soient A1 , · · · , An des formules closes de LPr
si
A1 , · · · , An ` B
alors
Odile PAPINI
A1 , · · · , An−1 ` (An → B)
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
système formel
exercices : déduction
Montrer que ∀x ∀y p(x, y ) ` ∀z p(z, z)
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
sémantique de la logique des prédicats
Interprétation
I = (D, Ic , Iv ) où
D ensemble non vide, domaine d’interprétation
Ic la fonction :
Dn →
D
f → Ic (f )
D m → {0, 1}
P → Ic (P)
Iv la fonction :
Var
x
Odile PAPINI
→
D
→ Iv (x)
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
sémantique de la logique des prédicats
Interprétation d’une formule de la logique des prédicats
A une formule de LPr , association d’une valeur de vérité I (A) à A
si x est une variable libre alors I (x) = Iv (x)
I (f (t1 , · · · , tn )) = (Ic (f ))(I (t1 ), · · · , I (tn ))
I (P(t1 , · · · , tm )) = (Ic (P))(I (t1 ), · · · , I (tm ))
si A et B sont des formules alors ¬A, A ∧ B, A ∨ B, A → B, A ↔ B
s’interprètent comme dans la logique propositionnel
si A est une formule et x une variable alors I (∀x A) = 1 si Ix/d (A) = 1
pour tout élément d ∈ D
si A est une formule et x une variable alors I (∃x A) = 1 si Ix/d (A) = 1
pour au moins un élément d ∈ D
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
sémantique de la logique des prédicats
exercice :
Exprimer en français les formules suivantes
F1 : Masculin(Jean)
F2 : Feminin(Marie)
F3 : Masculin(Pierre)
F4 : Frere(Jean, Marie)
F5 : ∀x (Feminin(x) → (Masculin(x) → ⊥))
F6 : ∀x (∀y (Frere(x, y ) → Masculin(x)))
F7 : ∀x (Frere(x, x) → ⊥)
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
sémantique de la logique des prédicats
exercice :
F1 : Masculin(Jean) F2 : Feminin(Marie)
F3 : Masculin(Pierre) F4 : Frere(Jean, Marie)
F5 : ∀x (Feminin(x) → (Masculin(x) → ⊥))
F6 : ∀x (∀y (Frere(x, y ) → Masculin(x)))
F7 : ∀x (Frere(x, x) → ⊥)
Soit I = (D, Ic , Iv ) avec D = {a, b, c}
Ic (Jean) = a, Ic (Marie) = b, Ic (Pierre) = c
Ic (Masculin) = fMa tq si x = b alors fMa (x) = 0 sinon fMa (x) = 1
Ic (Feminin) = fFe tq si x = b alors fFe (x) = 1 sinon fFe (x) = 0
Ic (Frere) = fFr tq si x = a et y = b alors fFr (x, y ) = 1 sinon fFr (x, y ) = 0
I (F 1), I (F 2), I (F 3), I (F 4), I (F 5), I (F 6), I (F 7) ?
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
sémantique de la logique des prédicats
quelques définitions
A ∈ LPr , B ∈ LPr et F ⊂ LPr ,
W : ensemble des interprétations
A est une tautologie, |= A, si ∀ I ∈ W, I (A) = 1
B est une conséquence de A si ∀ I ∈ W tq I (A) = 1 alors I (B) = 1, on
écrit A |= B
B est une conséquence de F si ∀ I ∈ W tq ∀A ∈ F , I (A) = 1 alors
I (B) = 1, on écrit F |= B
A est satisfaisable si ∃ I ∈ W tq I (A) = 1
F est satisfaisable si ∃ I ∈ W tq ∀A ∈ F , I (A) = 1
A est insatisfaisable ou incohérente si ∀ I ∈ W, I (A) = 0
F est insatisfaisable si ∀I ∈ W, ∃A ∈ F tq I (A) = 0
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
sémantique de la logique des prédicats
exercice :
Traduire les phrases suivantes en logique des prédicats
A : Toutes les voitures ont exactement un propriétaire
B : Certains étudiants ont une voiture
C : Certains étudiants n’ont pas de voiture
Soit I = (D, Ic , Iv ) avec D = {a, b}
Ic (voiture) = fv
Ic (etudiant) = fe
Ic (possede) = fp
tq si x = a alors fv (x) = 1 sinon fv (x) = 0
tq si x = b alors fe (x) = 1 sinon fe (x) = 0
tq si x = b et y = a alors fp (x, y ) = 1 sinon fFr (x, y ) = 0
I(A) ? I(B) ? I(C) ?
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
sémantique de la logique des prédicats
Quelques propriétés
proposition : F ⊂ LPr ensemble de formules closes, B
formule close
F |= B ssi F ∪ {¬B} est insatisfaisable
∀ A ∈ LPr
proposition :
∀x ∀y A ≡ ∀y ∀x A
∃x ∃y A ≡ ∃y ∃x A
∃x ∀y A |= ∀y ∃x A
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
sémantique de la logique des prédicats
Quelques propriétés
∀ A, B ∈ LPr
proposition :
(∀x A ∧ ∀x B)
(∀x A ∨ ∀x B)
∀x (A → B)
∀x (A ↔ B)
∃x
∃x
∃x
∀x
(A ∨ B)
(A ∧ B)
(A → B)
¬A
Odile PAPINI
≡
|=
|=
|=
≡
|=
≡
≡
∀x (A ∧ B)
∀x (A ∨ B)
(∀x A → ∀x B)
(∀x A ↔ ∀x B)
(∃x A ∨ ∃x B)
(∃x A ∧ ∃x B)
(∃x A → ∃x B)
¬∃x A
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
la logique des prédicats
Quelques théorèmes
théorème (d’adéquation) :
∀A ∈ LPr si ` A alors |= A
(les formules qui sont des théorèmes sont des tautologies)
théorème (de complétude faible) :
∀A ∈ LPr si |= A alors ` A
(les formules qui sont des tautologies sont des théorèmes )
théorème (de complétude forte) :
Soit F ⊂ LPr et B ∈ LPr , si F |= B alors F ` B
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
la logique des prédicats
Quelques théorèmes
théorème (de compacité) : Soit F un ensemble de formules de
LPr . Si toute famille finie F 0 ⊂ F est satisfaisable alors F est aussi
satisfaisable.
théorème (de finitude) : Soit F un ensemble de formules de LPr .
Soit B ∈ LPr si F |= B alors ∃F 0 ⊂ F fini tq F 0 |= B
théorème : la logique des prédicats est semi-décidable
Il n’existe aucun programme qui pour une formule A ∈ LPr indique
en un temps fini si A n’est pas une tautologie
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
la logique des prédicats
Quelques théorèmes
théorème : Toute théorie axiomatique égalitaire ayant :
un nombre fini de symboles, un nombre fini de constantes
un seul symbole fonctionnel unaire f
un nombre fini de prédicats unaires et le prédicat binaire
égalité
n’ayant pas d’axiomes non logiques
est décidable
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
logique pour l’informatique : formes normales
formes prénexes
Q1 x1 · · · Qn xn M
proposition : pour toute formule A il existe une forme prénexe
équivalente à A
algorithme
élimination des connecteurs d’implication et d’équivalence
renommage des variables (plus de variable libre et liée en
même temps)
suppression des quantificateurs inutiles
transfert du connecteur de négation immédiatement devant
les atomes
transfert des quantificateurs en tête des formules
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
logique pour l’informatique
exercice :
Donner la forme prénexe équivalente à la formule
∀x (P(x) ∧ ∀y ∃x (¬Q(x, y ) → ∀z R(a, x, y , z)))
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
logique pour l’informatique
extension du vocabulaire à la logique des prédicats
littéral : un atome ou la négation d’un atome
clause : disjonction de littéraux
cube : conjonction de littéraux
forme conjonctive normale : forme prénexe dont la matrice M
est une conjonction de clauses
forme disjonctive normale : forme prénexe dont la matrice M
est une disjonction de cubes
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
logique pour l’informatique : formes normales
formes de Skolem
proposition : SA forme de skolem de A,
A est satisfaisable ssi SA est satisfaisable
transformation de A en forme de Skolem SA
transformer A en forme prénexe : Q1 x1 · · · Qn xn M
transformer M en forme conjonctive normale M 0
skolémiser M 0 :
1) associer à toute variable quantifiée existentiellement le terme
constitué par un symbole fonctionnel ayant pour arguments la
liste des variables quantifiées universellement qui précèdent la
variable
2) remplacer chaque occurence de variable quantifiée
existentiellement par le terme défini en 1)
3) supprimer les quantificateurs existentiels
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
logique pour l’informatique
exercice :
Donner la forme de SKolem équivalente à la formule
∀x (P(x) ∧ ∀y ∃x (¬Q(x, y ) → ∀z R(a, x, y , z)))
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
logique pour l’informatique : formes normales
théorème de Herbrand
on associe à une formule conjonctive normale F l’ensemble C des
clauses correspondantes
univers de Herbrand associé à un ensemble de clauses C :
ensemble de tous les termes sans variable construit à partir du
vocabulaire de C
système de Herbrand SHC associé à C : ensemble des clauses
obtenues à partir de C en remplaçant les variables par des
éléments de l’univers de Herbrand
théorème de Herbrand :
C est satisfaisable ssi SHC est satisfaisable
Odile PAPINI
Logique classique
Le langage de la logique des prédicats
La logique des prédicats comme système formel
La sémantique de la logique des prédicats
Quelques résultats
logique pour l’informatique
exercice :
H1 = ∀x (P(x) → Q(x))
H2 = ∀x (Q(x) → R(x))
C = ∀x (P(x) → R(x))
Est-ce que {H1 , H2 } |= C ?
Mettre les formules sous forme prénexe
Mettre les formules sous forme de Skolem
Donner le système de Herbrand associé
Le système de Herbrand associé est-il satisfaisable ?
Odile PAPINI
Logique classique