11
LOGIQUE ET LOGIQUE ET
PROGRAMMATION LOGIQUE PROGRAMMATION LOGIQUE
Nadia KABACHI Nadia KABACHI
Maître de Conférences Maître de Conférences
UFR d’Informatique UFR d’Informatique
Nadia.Kabachi@univ-lyon1.fr Nadia.Kabachi@univ-lyon1.fr
22
PLANPLAN
INTRODUCTIONINTRODUCTION
LOGIQUE DES PROPOSITIONSLOGIQUE DES PROPOSITIONS
LOGIQUE DU PREMIER ORDRELOGIQUE DU PREMIER ORDRE
PROLOGPROLOG
LE COURS DE LOGIQUE EST BASE SUR LE COURS DE NARENDRA JUSSIEN
33
Définition Définition
44
Historique Historique
55
Logique des propositions Logique des propositions
Notion de proposition
66
Notion de valeur de vérité
Logique des propositions Logique des propositions
77
Comment écrire les formules?Comment écrire les formules?
Aspects syntaxiques Aspects syntaxiques
Comment déterminer la valeur de vérité d’une Comment déterminer la valeur de vérité d’une formule ?
formule ? Aspects sémantiquesAspects sémantiques
Existe-t-il un lien entre logique et mathématique? Existe-t-il un lien entre logique et mathématique?
Aspects algébriques (Mr G. Boole) Aspects algébriques (Mr G. Boole)
Comment démontrer (automatiquement) de nouveaux Comment démontrer (automatiquement) de nouveaux résultats ? Aspects déductifs
résultats ? Aspects déductifs
Logique des propositions Logique des propositions
Étude du calcul propositionnel
Quatre étapes Quatre étapes
88
Logique des propositions Logique des propositions
Aspects syntaxiques Les données
99
Logique des propositions Logique des propositions
Aspects syntaxiques
F l’ensemble des formules du calcul propositionnel
K
1010
Supprimer les parenthèses entourant les Supprimer les parenthèses entourant les variables
variables
Tenir compte de la priorité des connecteurs Tenir compte de la priorité des connecteurs ordre standard : ¬,
ordre standard : ¬, ∧, ∨∧, ∨, →, ↔ , →, ↔
Considérer qu’un opérateur unaire Considérer qu’un opérateur unaire
l’«emporte» toujours sur un opérateur binaire l’«emporte» toujours sur un opérateur binaire
Logique des propositions Logique des propositions
Aspects syntaxiques
Règles d’élimination des parenthèses
1111
Logique des propositions Logique des propositions
Aspects sémantiques Valeurs de vérité
1212
Logique des propositions Logique des propositions
Table de vérités
Aspects sémantiques
1313
Logique des propositions Logique des propositions
Aspects sémantiques
1414
)? ?
( )
( p q p q
p q ¬ p ¬ q p q ¬ ( p q ) (¬ p ¬ q) F 0 0
0 1 1 0 1 1
1 1 0 0
1 0 1 0
0 0 0 1
0 1 0
1
0 1
1 1 0
0 1 1 1
0 1 0
1 0 1
0
1 1
1
1 0 0 1
0 1 0
1 1 1 1 0 1
Calcul propositionnel
1515
NB : on dit aussi que F est consistante. NB : on dit aussi que F est consistante.
Logique des propositions Logique des propositions
Aspects sémantiques Formules particulières
1616
Logique des propositions Logique des propositions
Aspects sémantiques Exemple : On considère : (¬p → q) ∧ (q ↔ r)
p q r ¬p ¬p → q q ↔ r (¬p → q) ∧ (q ↔ r) 00
00 00 00 11 11 11 11
00 00 11 11 00 00 11 11
00 11 00 11 00 11 00 11
11 11 11 11 00 00 00 00
00 00 11 11 11 11 11 11
11 00 00 11 11 00 00 11
00 00 00 11 11 00 00 11
1717
NB : on dit aussi que F est
NB : on dit aussi que F est inconsistante, inconsistante, contradictoire, ou encore insatisfiable.
contradictoire, ou encore insatisfiable.
Logique des propositions Logique des propositions
Aspects sémantiques Formules particulières
1818
Logique des propositions Logique des propositions
Aspects sémantiques Formules particulières
1919
Logique des propositions Logique des propositions
Aspects syntaxiques
p → q et ¬p p → q et ¬p ∨∨ q sont tautologiquement q sont tautologiquement équivalentes. On peut donc écrire :
équivalentes. On peut donc écrire : ├
├ (p → q) ↔ (¬p (p → q) ↔ (¬p ∨∨ q). q).
2020
Logique des propositions Logique des propositions
Aspects syntaxiques
Équivalences tautologiques bien connues
2121
Logique des propositions Logique des propositions
Aspects syntaxiques
Équivalences tautologiques bien connues
2222
Logique des propositions Logique des propositions
Aspects syntaxiques
Équivalences tautologiques bien connues
2323
Logique des propositions Logique des propositions
Aspects syntaxiques
Équivalences tautologiques bien connues
2424
Logique des propositions Logique des propositions
Aspects syntaxiques Formes normales
NB : si dans chaque Hi figurent toutes les variables ou NB : si dans chaque Hi figurent toutes les variables ou leur négation, on parle de forme canonique
leur négation, on parle de forme canonique
2525
Logique des propositions Logique des propositions
Aspects syntaxiques Forme normale disjonctive
A faire pour le TD
2626
Logique des propositions Logique des propositions
Aspects syntaxiques Forme normale conjonctive
A retenir : La forme normale conjonctive est aussi appelée forme A retenir : La forme normale conjonctive est aussi appelée forme
clausale clausale
2727
Logique des propositions Logique des propositions
Aspects déductifs Notion de conséquence
NB : Une conséquence logique de est une tautologie∅
2828
Logique des propositions Logique des propositions
Aspects déductifs Notion de conséquence
2929
Logique des propositions Logique des propositions
Aspects déductifs Systèmes formels
3030
Logique des propositions Logique des propositions
Aspects déductifs
Systèmes formels : Démonstrations et théorèmes
NB : Différence entre conséquence logique et démonstration
3131
Logique des propositions Logique des propositions
Aspects déductifs Prise en compte d’hypothèses
NB : On dit aussi que J est un modèle de A.
3232
Logique des propositions Logique des propositions
Aspects déductifs Principales règles d’inférences
3333
Logique des propositions Logique des propositions
Aspects déductifs
Propriétés d’un système formel : théorèmes
Un système formel est Un système formel est correctcorrect ssi ssi si
si AA alors alors AA
– tout ce qui est démontrable est vraitout ce qui est démontrable est vrai
Un système formel est Un système formel est completcomplet ssi ssi si
si AA alors alors AA
– tout ce qui est vrai est démontrabletout ce qui est vrai est démontrable
3434
Logique des propositions Logique des propositions
Aspects déductifs Limites du calcul propositionnel
3535
Logique des propositions Logique des propositions
Aspects déductifs
Être plus proche du langage naturel
NB : dans un langage du second ordre, on peut aussi quantifier les NB : dans un langage du second ordre, on peut aussi quantifier les relations et les fonctions
relations et les fonctions
3636
Calcul des prédicats Calcul des prédicats
Comment écrire les formules ?Comment écrire les formules ?
– Aspects syntaxiquesAspects syntaxiques
Comment déterminer la valeur de vérité d’une Comment déterminer la valeur de vérité d’une formule ?
formule ?
– Aspects sémantiquesAspects sémantiques
Comment démontrer de nouveaux résultats ? Comment démontrer de nouveaux résultats ? Aspects déductifs
Aspects déductifs
Logique du premier ordre Logique du premier ordre
3737
Une modélisation Une modélisation
– Les chandelles sont faites pour éclairerLes chandelles sont faites pour éclairer
– Quelques chandelles éclairent très malQuelques chandelles éclairent très mal
– Quelques objets qui sont faits pour éclairer le Quelques objets qui sont faits pour éclairer le font très mal
font très mal
) ( )
(
, chandelle x éclaireMal x
x
) ( )
(
, chandelle x éclaire x
x
) ( )
(
, éclaire x éclaireMal x
x
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
3838
Syntaxe Syntaxe
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
Alphabet
3939
Syntaxe Syntaxe
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
Alphabet
4040
Vocabulaire Vocabulaire
Les Les termestermes
– les les variables variables et les et les constantesconstantes sont des sont des termestermes – f(tf(t11, …, t, …, tnn) est un terme si ) est un terme si
les les ttii sont des sont des termestermes
ff est un symbole de est un symbole de fonctionfonction d’arité n d’arité n
Les Les atomesatomes
– R(tR(t11, …, t, …, tnn) est un atome si ) est un atome si
les tles tii sont des sont des termestermes
RR est un symbole de est un symbole de relationrelation d’arité n d’arité n
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
4141
Formules Formules
Un atome est une Un atome est une formuleformule
Si Si FF et et GG sont des formules et sont des formules et xx une une
variable, alors les expressions suivantes variable, alors les expressions suivantes
sont des
sont des formulesformules
((FF))
– ((FF) ) ( (GG) et () et (FF) ) ( (GG) ) – ((FF) ) ( (GG) et () et (FF) ) ( (GG))
xx ( (FF) et ) et xx ( (GG))
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
4242
Formules Formules
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
4343
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
4444
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
4545
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
4646
Occurrence d’une variable Occurrence d’une variable
Une Une occurrenceoccurrence d’une variable d’une variable x x dans une dans une formule
formule FF est un est un endroitendroit où où xx apparaît dans apparaît dans FF sans être immédiatement précédée par sans être immédiatement précédée par ou ou
Une occurrence Une occurrence libre libre de de xx dans dans F F est est définie :
définie :
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
4747
Occurrence libre Occurrence libre
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
4848
Caractéristiques des variables Caractéristiques des variables
Une variable est dite Une variable est dite librelibre dans une formule dans une formule F F si elle a au moins une occurrence libre si elle a au moins une occurrence libre
(sinon on dit qu’elle est
(sinon on dit qu’elle est liéeliée))
Une formule n’ayant pas de variable libre Une formule n’ayant pas de variable libre est dite
est dite closeclose
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
4949
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
5050
Logique du premier ordre Logique du premier ordre
Suite en TD
5151
Logique du premier ordre Logique du premier ordre
Notion de substitution
5252
Aspects sémantiques Aspects sémantiques
InterprétationInterprétation
Formules universellement validesFormules universellement valides
Le théorème de HerbrandLe théorème de Herbrand
Principe de résolution adapté au calcul Principe de résolution adapté au calcul des prédicats
des prédicats
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
5353
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
Vers la notion de modèle Vers la notion de modèle
5454
Vers la notion de modèle Vers la notion de modèle
Soit Soit LL le langage du calcul des prédicats le langage du calcul des prédicats
– une une interprétation interprétation de de L L c’est la donnée de :c’est la donnée de :
un ensemble un ensemble E E non vide appelé non vide appelé ensemble de baseensemble de base
pour chaque symbole de prédicat pour chaque symbole de prédicat R R d’arité d’arité nn, d’un sous-ensemble , d’un sous-ensemble R’ R’ de Ede Enn
pour chaque symbole de fonction pour chaque symbole de fonction ff d’arité d’arité nn, d’une application , d’une application f’ f’
de de EEnn vers vers E E (y compris pour les constantes)(y compris pour les constantes)
– on peut alors calculer la on peut alors calculer la valeurvaleur de tout terme clos (c’est de tout terme clos (c’est un élément de
un élément de EE))
– on peut donc associer une on peut donc associer une valeur de vérité valeur de vérité à tout atome à tout atome et donc par extension à toute
et donc par extension à toute formule closeformule close
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
5555
Exemple d’interprétation Exemple d’interprétation
xxyyz (P(x,y) z (P(x,y) Q(y,z) Q(y,z) R(x,z)) R(x,z))
xxy ( (M(x,y) y ( (M(x,y) P(x,y) P(x,y) Q(x,y)) Q(x,y))
M(a,b) M(a,b) P(c,b) P(c,b) P(d,a) P(d,a) P(e,c) P(e,c)
E = E =
P’ =P’ =
a’ =a’ =
anne b’ = bernard c’ = charles d’ = didier e’= éric
est le père de
M’ = est la mère de Q’ = est un parent de R’ = est le grand-père de
{ anne, bernard, …}
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
5656
Modèle Modèle
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
NB : on dit aussi que F est une tautologie.
5757
Preuve et démonstration Preuve et démonstration
Comment Comment prouverprouver une formule du calcul une formule du calcul des prédicats ?
des prédicats ?
– Prouver qu’elle est vraieProuver qu’elle est vraie
passer en revue passer en revue toutes les interprétations !toutes les interprétations !
– Prouver qu’elle est fausseProuver qu’elle est fausse
trouvertrouver une interprétation qui invalide la formule une interprétation qui invalide la formule
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
5858
Toutes les interprétations ? Toutes les interprétations ?
Une représentation utile des formulesUne représentation utile des formules
– forme forme clausaleclausale
Un théorème qui simplifie la vieUn théorème qui simplifie la vie
– théorème de théorème de HerbrandHerbrand
Principe de résolution pour le calcul des Principe de résolution pour le calcul des prédicats
prédicats
– vers une automatisation des démonstrationsvers une automatisation des démonstrations
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
5959
Transformation de formule Transformation de formule
Forme normale Forme normale prénexeprénexe
– quantificateurs quantificateurs enen tête tête de la formulede la formule
– formule sous forme formule sous forme normale conjonctivenormale conjonctive
Forme standard de Forme standard de SkolemSkolem
– formule sous forme formule sous forme normale prénexenormale prénexe – quantificateurs existentiels quantificateurs existentiels précédantprécédant
quantificateurs universels quantificateurs universels
Toute formule du calcul des prédicats est équivalente à une formule sous forme standard de Skolem
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
6060
Mise sous forme normale prénexe Mise sous forme normale prénexe
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
6161
Mise sous forme normale prénexe Mise sous forme normale prénexe
Éliminer les connecteurs Éliminer les connecteurs et et
Transporter les Transporter les devant les atomes devant les atomes
– en utilisant (en utilisant ( F F F) et les lois de De Morgan F) et les lois de De Morgan
Transporter les quantificateurs en tête de la Transporter les quantificateurs en tête de la formule
formule
Ne pas hésiter à renommer les variables Ne pas hésiter à renommer les variables pour pouvoir utiliser les propriétés des
pour pouvoir utiliser les propriétés des quantificateurs.
quantificateurs.
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
6262
Transport des quantificateurs Transport des quantificateurs
x F x F
F x
x F
F H
x H
x F
x
H F
x H
x F
x
F x y F
y x
F x y F
y x
si H ne contient aucune occurrence de x
xx FF HH xxFFHH xx HH HH
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
6363
Mise sous forme normale prénexe Mise sous forme normale prénexe
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
6464
Mise sous forme normale prénexe Mise sous forme normale prénexe
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
En TD
6565
Forme de Skolem Forme de Skolem
Logique du premier ordre Logique du premier ordre
NB : lorsque les quantificateurs universels précèdent les quantificateurs existentiels, on parle de forme de Herbrand
6666
Inversion de
Inversion de et de et de Skolemisation
Skolemisation
Lorsqu’on aLorsqu’on a
on remplace on remplace yy par une fonction par une fonction gg qui à qui à x x associe
associe yy
y x
f y
x
( )
) ( )
(x g x
f x
g
Skolemisation = expliciter l’implicite
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
NB : On dit aussi qu’on « Skolémise » la variable y
6767
Forme standard de Skolem Forme standard de Skolem
Logique du premier ordre Logique du premier ordre
6868
Une représentation utile des Une représentation utile des
formules : Forme clausale formules : Forme clausale
p(x, y) q(z, y, x)
z y
x
p(a, y1) ; q(z1, y2,a)
Calcul des prédicats
6969
Une représentation utile des Une représentation utile des
formules : Forme clausale formules : Forme clausale
Calcul des prédicats
En TD
7070
Une représentation utile des Une représentation utile des
formules : Forme clausale formules : Forme clausale
7171
Univers de Herbrand Univers de Herbrand
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
NB : si aucune constante n’apparaît dans C, on pose H0 = {a}.
7272
Univers de Herbrand Univers de Herbrand
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
7373
Univers de Herbrand Univers de Herbrand
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
7474
Univers de Herbrand Univers de Herbrand
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
7575
Univers de Herbrand Univers de Herbrand
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
7676
Théorème de Herbrand Théorème de Herbrand
ThéorèmeThéorème Un ensemble Un ensemble SS de clauses est de clauses est insatisfaisable
insatisfaisable si et seulement si il existe un si et seulement si il existe un ensemble
ensemble S’ S’ d’instances de base d’instances de base insatisfaisable
insatisfaisable
CorollaireCorollaire Un ensemble de clauses est Un ensemble de clauses est satisfaisable
satisfaisable si et seulement si tout ensemble si et seulement si tout ensemble fini
fini d’instances de base est satisfaisabled’instances de base est satisfaisable
Calcul des prédicats
Logique du premier ordre Logique du premier ordre
7777
Principales applications du théorème Principales applications du théorème
de Herbrand de Herbrand
Preuve qu’une formule est universellement Preuve qu’une formule est universellement valide → on montre que sa négation est
valide → on montre que sa négation est insatisfiable.
insatisfiable.
Validation de raisonnement → on montre Validation de raisonnement → on montre que les prémisses et la négation de la
que les prémisses et la négation de la
conclusion forment un ensemble de clauses conclusion forment un ensemble de clauses
insatisfiable insatisfiable
7878
7979
8080
8181
8282
8383
8484
8585
8686
8787
Principe de résolution pour le calcul Principe de résolution pour le calcul
des prédicats des prédicats
NB : c’est le théorème de Herbrand qui nous permet ces transformations
8888
Vocabulaire Vocabulaire
8989
Vocabulaire Vocabulaire
9090
Vocabulaire Vocabulaire
9191
Principe de résolution Principe de résolution
9292
Principe de résolution Principe de résolution
9393
Principe de résolution Principe de résolution
9494
Principe de résolution Principe de résolution
9595
Principe de résolution Principe de résolution
9696
Principe de résolution Principe de résolution
9797
Principe de résolution Principe de résolution
9898
Principe de résolution Principe de résolution
9999
Principe de résolution Principe de résolution
100100
Principe de résolution Principe de résolution
101101
Principe de résolution Principe de résolution
102102
Principe de résolution Principe de résolution