Professional Documents
Culture Documents
Hicham Bensaid
hicham.bensaid@gmail.com
Filière Informatique
Introduction
Préliminaires
Logique propositionnelle
Logique du premier ordre
Traitement de l’égalité
Logiques non classiques (modale et temporelle)
Introduction
C.A.R. Hoare.
Notions partagées :
proposition, définition, sémantique, inférence, langage/métalangage,
intention, intension, extension, sous-classe de formules, modèle
La logique comme langage de spécification, vérification,
développement logiciel
Sémantique ⇒ compilation.
L’inférence pour expliciter l’information ⇒ algorithmique.
L’intention est liée à la modélisation de systèmes (et non simplement
des programmes) où il faut modéliser aussi l’environnement (y compris
les utilisateurs).
...
Notions partagées :
proposition, définition, sémantique, inférence, langage/métalangage,
intention, intension, extension, sous-classe de formules, modèle
L’intension et l’extension utilisées, dans des langages comme Datalog
(étudiés en logique et en bases de données).
La méthode de Davis et Putnam, utilisée (par exemple) en validation
des systèmes.
La notion (algorithme) de subsomption est utilisée, dans les langages
de représentation des connaissances.
La logique et les bases de données : Une BD relationnelle = Structure
du 1er ordre et LPO langage de requêtes . . .
...
Préliminaires
La
(
règle Toute règle a des exceptions
La phrase ci-dessous est fausse.
La phrase ci-dessus est vraie.
H. Bensaid (Filière Informatique) Logique pour informatique 17 / 124
Les paradoxes et la théorie des ensembles
Les paradoxes qui ont eu le plus d’impact sont peut-être ceux qui
impliquent la théorie des ensembles :
probablement à cause de l’importance de la théorie des ensembles en
mathématiques, et en particulier dans les fondements des
mathématiques.
Bolzano introduit (en 1847) la notion “d’ensemble” pour la première
fois :
Un ensemble est une collection dont l’ordre de ses éléments n’est pas
pertinent et rien d’essentiel n’est changé en changeant seulement
l’ordre.
Cantor développa la théorie (naïve) des ensembles :
Un ensemble (selon Cantor) est toute collection d’objets définis et
différents, de notre intuition ou de notre pensée .
Mais . . .
⇒ Axiomes ZFC
Théorie unificatrice des mathématiques modernes (utile également
pour la logique)
Inférences et Logiques
1 Systèmes d’inférence
2 Logiques
3 Logique propositionelle
Un système d’inférence pour la LP
Forme clausale
Preuves
Calcul de résolution
Méthode DPLL
p i sont les prémisses (et non les premices), c est la conclusion de cette
inférence. On utilise la notation suivante pour représenter cette inférence :
p1, . . . , pn
c R.
a R.
Théorème
1 L’ensemble des preuves est récursif.
2 L’ensemble des théorèmes est récursivement énumérable.
Définition
Soit H ⊆ F un ensemble récursif, on note S H le système d’inférence
suivant : S H = (V, F , R ∪ {H }) (on ajoute les éléments de H comme
axiomes de S H .
Proposition
Étant donné un ensemble H récursif, l’ensemble des déductions à partir de
H dans S est l’ensemble des preuves dans S H .
Corollaire
L’ensemble des conséquences de H dans S est l’ensemble des théorèmes
de S H . Donc, si H est récursif alors f ∈ F |H `S f est récursivement
© ª
énumérable.
1 Systèmes d’inférence
2 Logiques
3 Logique propositionelle
Un système d’inférence pour la LP
Forme clausale
Preuves
Calcul de résolution
Méthode DPLL
Définition (Logique)
Une logique est un quadruplet L = (V, F , I , |=L ), où
F est un langage récursif sur le vocabulaire V , ses éléments sont
appelés formules,
I est un ensemble dont les éléments sont appelés interprétations,
|=L est une relation binaire dans I ¡× F¢, dite relation de satisfaction.
(on note I |=L f pour signifier que I , f ∈|=L , I ∈ I et f ∈ F ).
I |=L f : f est vraie dans I , I satisfait f et I est un modèle de f .
I 6|=L f : f est fausse dans I , I ne satisfait pas f et I est un
contre-modèle de f .
Proposition
Si S est correct pour L alors tout théorème de S est valide pour L .
Proposition
Si S est correct pour L alors toute déduction dans S est correcte pour
L.
Il suffit donc que les règles d’inférence soient correctes pour que les
raisonnements le soient.
Proposition
Si l’ensemble des formules valides de L n’est pas récursivement
énumérable, alors L est incomplète.
1 Systèmes d’inférence
2 Logiques
3 Logique propositionelle
Un système d’inférence pour la LP
Forme clausale
Preuves
Calcul de résolution
Méthode DPLL
Une proposition est une phrase déclarative qui peut peut être soit vraie
soit fausse (mais pas les deux à la fois)
Exemples de propositions :
1 ≤ 3, Rabat est la capitale du Maroc, l’UIR est la meilleure université
du Maroc, . . .
Contre-exemples :
x + 1 = 0, il est quel heure ?, . . .
¡ ¢ ¡ ¢
Soit la formule ¬p ∨ q ⇔ p ⇒ q
¡ ¢
p q ¬p ¬p ∨ q p⇒q p⇔q
v v f v v v
v f f f f v
f v v v v v
f f v v v v
¡ ¢ ¡ ¢
|=0 ¬p ∨ q ⇔ p ⇒ q : formule valide.
¡¡p ⇒ q ¢∧ ¡q ⇒ p ¢¢ ¡
2
¢
3 p ⇒q ∧ q ⇒r ⇒ p ⇒r
¡ ¢ ¡ ¢
I |=0 f ⇔ g ssi I f = I g pour toute interprétation I ,
ceci est équivalent à f ≡0 g .
Les tables de vérité permettent donc de prouver que deux formules
sont logiquement équivalentes.
L’équivalence logique admet une propriété fondamentale :
Théorème
Soient g ∈ P (S ), f une sous-formule de g et f 0 ∈ P (S ) telle que f ≡0 f 0 , si
g 0 est obtenue de g en remplaçant f par f 0 alors g ≡0 g 0 .
Définition
On définit le système d’inférence S 1 = (VP , P1 , R 1 ) où R 1 = {MP, K, S, N}
A A⇒B
MP S
B (A ⇒ (B ⇒ C )) ⇒ ((A ⇒ B ) ⇒ (A ⇒ C ))
K N
A ⇒ (B ⇒ A) (¬B ⇒ ¬A) ⇒ ((¬B ⇒ A) ⇒ B )
Théorème
S 1 est correct pour LP1 .
Théorème
S 1 est complet pour LP1 .
Toute formule valide de LP1 est un théorème de S 1 et peut donc être
engendré à partir des axiomes et du modus ponens.
Identités algébriques
Identités de De Morgan :
¬(p ∨ q) → (¬p ∧ ¬q) et ¬(p ∧ q) → (¬p ∨ ¬q)
Propriétés simples de la négation
¡ ¢
¬ ¬ f → f , ¬> → ⊥ et ¬⊥ → >
La négation est restreinte aux symboles propositionnels
Définition (Littéral)
On appelle littéral toute formule de la forme p ou ¬p , où p ∈ S . Les
littéraux p et ¬p sont dit complémentaires ; p est un littéral positif, et ¬p
def
est un littéral négatif. Le littéral complémentaire de p est p = ¬p , et le
def
littéral complémentaire de ¬p est ¬p = p .
Définition (Clause)
On appelle clause toute formule ne contenant que des littéraux et les
connecteurs ∨ et ⊥. On appelle forme normale conjonctive (ou fnc) toute
conjonction d’un nombre fini de clauses, ainsi que la formule >.
Lit (⊥) = ;,
Lit (l ) = {l } pour tout littéral l ,
Lit (C ∨ D) = Lit (C ) ∪ Lit (D) pour toutes clauses C et D.
Démonstration.
Il suffit de montrer que les règles d’inférence (Résolution + Factorisation)
sont correctes.
Soit l’ensemble : (
p ∨p
S=
¬p ∨ ¬p
Théorème
Si une forme clausale F est insatisfaisable, alors F `R ⊥.
DPLL = Davis–Putnam–Logemann–Loveland
Algorithme de backtracking, complet, de résolution du problème SAT.
Solveur SAT = outil capable de tester la satisfaisabilité d’une formule
propositionnellele.
Les solveurs les plus efficaces sont aujourd’hui capables de résoudre
des problèmes constitués de centaines de milliers de symboles
propositionnels et de dizaines de millions de clauses en moins d’une
minute.
Tester la satisfaisabilité d’une formule propositionnelle est très utilisé
dans l’industrie (pour s’assurer par exemple qu’un circuit électronique
répond bien à une spécification donnée et ne contient pas d’erreurs).
Définition
Si E est un ensemble de clauses et l est un littéral apparaissant dans E ,
alors on note E [l ] l’ensemble de clauses obtenu à partir de E en :
retirant de E toutes les clauses qui contiennent l ,
retirant l de toutes les clauses de E dans lesquelles il apparaît.
C1 = p 1 ∨ ¬p 2 ∨ p 3
C2 = p 1 ∨ ¬p 4
C3 = ¬p 1 ∨ ¬p 3
et soit E = {C 1 ,C 2 ,C 3 }. Alors :
© ª
E [p 1 ] = ¬p 3
© ª
E [¬p 3 ] = p 1 ∨ ¬p 2 , p 1 ∨ ¬p 4
Squelette
Un arbre des affectations possibles est utilisé pour guider la procédure
Chaque noeud est un ensemble de clauses S i
A chaque noeud, un des littéraux prend la valeur vrai
Les valeurs de vérité sont propagées pour réduire le nombre des
affectations futures
Algorithme
Entrée : S = C 0 = {C 1 , . . . ,C k } où C i = L 1 ∨ L 2 ∨ . . . ∨ L r i .
C 0 est la racine de l’arbre
Appliquer les règles d’inférence aux feuilles en étendant l’arbre.
Une branche n’est plus étendue si S i = {} ou ⊥ ∈ S i
Si S i = {} alors S est satisfaisable et on arrête la procédure.
Si ⊥ ∈ S i pour toutes les branches alors S est insatisfaisable.
Propagation unitaire
S’il y’a une clause unitaire L ∈ S , on obtient S 0 à partir de S en enlevant
toutes les clauses de S qui contiennent L . Si S 0 = {} alors S est satisfaisable,
sinon on obtient S 00 à partir de S 0 en enlevant ¬L de toutes les clauses. S
est insatisfaisable ssi S 00 l’est. Quand on applique cette règle, on fixe L = >
dans l’affectation partielle.
Propagation unitaire
©¡ ¢ ª
S= p ∨ q ∨ ¬r , p ∨ ¬q, ¬p, r, u
On applique la règle de propagation unitaire avec L = ¬p
S0 =
©¡ ¢ ª
p ∨ q ∨ ¬r , p ∨ ¬q, r, u
On enlève ¬L = p des clauses de S 0 : S 00 = q ∨ ¬r , ¬q, r, u
©¡ ¢ ª
Littéral pure
© ª
S = p ∨ q, p ∨ ¬q, r ∨ q, r ∨ ¬q
On applique la règle du littéral pure avec L = p
S 0 = r ∨ q, r ∨ ¬q
© ª
Définition (Subsomption)
Si D est une clause telle que Lit (C ) ⊆ Lit (D), on dit que C subsume D .
Subsomption
Si S = E ∪ C ,C 0 où C subsume C 0 alors on obtient S 0 à partir de S en
© ª
enlevant C 0 : S 0 = E ∪ {C }.
Subsomption
© ª
S = r ∨ t , p ∨ q, p ∨ q ∨ s
C = p ∨ q subsume C 0 = p ∨ q ∨ s
S0 = r ∨ t , p ∨ q
© ª
Règle de séparation
Si on peut écrire S sous la forme suivante :
S = (C 1 ∨ L) ∧ . . . (C m ∨ L) ∧ (D 1 ∨ ¬L) ∧ . . . (D m ∨ ¬L) ∧ S r
Séparation
© ª
S = p ∨ ¬q ∨ r, ¬p ∨ q, q ∨ ¬r, ¬q ∨ ¬r
On applique la règle de séparation sur p
S 0 = ¬q ∨ r, q ∨ ¬r, ¬q ∨ ¬r , p = >
© ª
S 00 = q, q ∨ ¬r, ¬q ∨ ¬r , p = ⊥
© ª
Théorème
DPLL est correct et complet pour la réfutation.
1 Systèmes d’inférence
2 Logiques
3 Logique propositionelle
Un système d’inférence pour la LP
Forme clausale
Preuves
Calcul de résolution
Méthode DPLL
Définition (Interprétation)
Une interprétation est définie par un domaine D I qui est un ensemble non
vide et par une fonction qui associe :
à chaque symbole constant a un élément a I ∈ D I ,
à chaque symbole de fonction f d’arité n une fonction f I : D nI → D I ,
à chaque variable propositionnelle P une valeur de vérité P I ∈ {v, f},
à chaque symbole de prédicat P d’arité n une fonction P I : D nI → {v, f},
à chaque variable x un élément x I ∈ D I .
les interprétations.
et si m = 0 :
¡ ¢
∀x m+1 , . . . ∀x m+p P a, x m+1 , . . . , x m+p
Lemme
F satisfaisable ssi sk (F ) satisfaisable
5 Éliminer les ∃
∃xP (x)¡→ P¢(a) où a est une constante
¡ ¢ de skolem
∃x∀yP x, y est remplacé par P a, y où a est une constante de
skolem ¡(x n’¢ est pas dans la portée
¡ de¡ y¢¢)
∀x∃yP x, y est remplacé par P x, f y où f est une fonction de
skolem ( y ¡est dans
¢ la portée de x ) ¡ ¡ ¢¢
∀x∀y∃zP x, y, z est remplacé par P x, y, f x, y où f est une
fonction de skolem (z est dans la portée de x et de y )
6 Éliminer les ∀
Les termes dans H (S) sont des termes clos (ou termes fermés) et sont
appelés termes de Herbrand.
où L[x̄ | t̄ H (S) ] signifie toutes les variables dans L sont remplacées par
des termes de Herbrand.
L[x̄ | t̄ H (S) ] est une instance de Herbrand, (ou instance constante ou
instance fermée ou instance close de L (x̄)).
Clause fermée ou clause close.
F A c : formules atomiques closes (fermées) dans S .
x̄ dénote un n-uplet de variables et t̄ H (S) un n-uplet de termes de
Herbrand.
Théorème
F fbf de la L1O est satisfaisable ssi elle est satisfaisable sur le domaine
H (sk (F )).
Règle de résolution
C∨A D ∨ ¬B
(C ∨ D)σ
où σ = mgu(A, B )
Règle de factorisation
C ∨ A ∨B
(C ∨ B )σ
où σ = mgu(A, B )
Traitement de l’égalité
Superposition (S )
Q ∨ (l ≈ r ) D ∨ (w[t ] ./ u)
(Q ∨ D ∨ (w[r ] ≈ u))σ
où ./∈ {≈, 6≈}, σ = mgu(l , t ), l σ r σ, wσ uσ, (l ≈ r )σ, (w ≈ u)σ sont maximaux
dans (Q ∨ l ≈ r )σ et (D ∨ w ≈ u)σ respectivement et t n’est pas une variable
Résolution équationnelle (E R )
Q ∨ (l 6≈ r )
Qσ
où σ = mgu(l , r ) et (l 6≈ r )σ est maximal dans (Q ∨ l 6≈ r )σ
Factorisation équationnelle (E F )
Q ∨ (t ≈ s) ∨ (l ≈ r )
(Q ∨ (s 6≈ r ) ∨ (l ≈ r ))σ