EnsSupRecPositions

publicité
Nadia KABACHI
Maître de Conférences
UFR d’Informatique
[email protected]
LOGIQUE ET
PROGRAMMATION LOGIQUE
1
PLAN
LE COURS DE LOGIQUE EST BASE SUR
LE COURS DE NARENDRA JUSSIEN
 INTRODUCTION
 LOGIQUE DES PROPOSITIONS
 LOGIQUE DU PREMIER ORDRE
 PROLOG
2
Définition
3
Historique
4
Logique des propositions
Notion de proposition
5
Logique des propositions
Notion de valeur de vérité
6
Logique des propositions
Étude du calcul propositionnel
Quatre étapes
 Comment écrire les formules?
Aspects syntaxiques
 Comment déterminer la valeur de vérité d’une
formule ? Aspects sémantiques
 Existe-t-il un lien entre logique et mathématique?
Aspects algébriques (Mr G. Boole)
 Comment démontrer (automatiquement) de nouveaux
résultats ? Aspects déductifs
7
Logique des propositions
Aspects syntaxiques
Les données
8
Logique des propositions
Aspects syntaxiques
F l’ensemble des formules du calcul propositionnel
K
9
Logique des propositions
Aspects syntaxiques
Règles d’élimination des parenthèses
 Supprimer les parenthèses entourant les
variables
 Tenir compte de la priorité des connecteurs
ordre standard : ¬, ∧, ∨, →, ↔
 Considérer qu’un opérateur unaire
l’«emporte» toujours sur un opérateur binaire
10
Logique des propositions
Aspects sémantiques
Valeurs de vérité
11
Logique des propositions
Aspects sémantiques
Table de vérités
12
Logique des propositions
Aspects sémantiques
13
Calcul propositionnel
( p  q)  (p  q)
p q
0
0
1
1
0
1
0
1
?
¬p
¬q
pq
¬(pq)
(¬ p  ¬ q)
F
1
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
 0 1
0 0 0
1 0 1
 0 1
0 0 1
1 1 1
 0 1
0 1 0
1 0 1
14
Logique des propositions
Aspects sémantiques
Formules particulières
 NB : on dit aussi que F est consistante.
15
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)
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
16
Logique des propositions
Aspects sémantiques
Formules particulières
NB : on dit aussi que F est inconsistante,
contradictoire, ou encore insatisfiable.
17
Logique des propositions
Aspects sémantiques
Formules particulières
18
Logique des propositions
Aspects syntaxiques
 p → q et ¬p ∨ q sont tautologiquement
équivalentes. On peut donc écrire :
├ (p → q) ↔ (¬p ∨ q).
19
Logique des propositions
Aspects syntaxiques
Équivalences tautologiques bien connues
20
Logique des propositions
Aspects syntaxiques
Équivalences tautologiques bien connues
21
Logique des propositions
Aspects syntaxiques
Équivalences tautologiques bien connues
22
Logique des propositions
Aspects syntaxiques
Équivalences tautologiques bien connues
23
Logique des propositions
Aspects syntaxiques
Formes normales
 NB : si dans chaque Hi figurent toutes les variables ou
leur négation, on parle de forme canonique
24
Logique des propositions
Aspects syntaxiques
Forme normale disjonctive
A faire pour le TD
25
Logique des propositions
Aspects syntaxiques
Forme normale conjonctive
A retenir : La forme normale conjonctive est aussi appelée
26
forme clausale
Logique des propositions
Aspects déductifs
Notion de conséquence
NB : Une conséquence logique de ∅ est une tautologie
27
Logique des propositions
Aspects déductifs
Notion de conséquence
28
Logique des propositions
Aspects déductifs
Systèmes formels
29
Logique des propositions
Aspects déductifs
Systèmes formels : Démonstrations et théorèmes
30
NB : Différence entre conséquence logique et démonstration
Logique des propositions
Aspects déductifs
Prise en compte d’hypothèses
NB : On dit aussi que J est un modèle de A.
31
Logique des propositions
Aspects déductifs
Principales règles d’inférences
32
Logique des propositions
Aspects déductifs
Propriétés d’un système formel : théorèmes
 Un système formel est correct ssi
si
A alors
A
– tout ce qui est démontrable est vrai
 Un système formel est complet ssi
si
A alors
A
– tout ce qui est vrai est démontrable
33
Logique des propositions
Aspects déductifs
Limites du calcul propositionnel
34
Logique des propositions
Aspects déductifs
Être plus proche du langage naturel
 NB : dans un langage du second ordre, on peut aussi quantifier les
35
relations et les fonctions
Logique du premier ordre
Calcul des prédicats
 Comment écrire les formules ?
– Aspects syntaxiques
 Comment déterminer la valeur de vérité d’une
formule ?
– Aspects sémantiques
 Comment démontrer de nouveaux résultats ?
Aspects déductifs
36
Calcul des prédicats
Logique du premier ordre
Une modélisation
– Les chandelles sont faites pour éclairer
x, chandelle ( x )  éclaire ( x )
– Quelques chandelles éclairent très mal
x, chandelle ( x )  éclaireMal ( x )
– Quelques objets qui sont faits pour éclairer le
font très mal
x, éclaire ( x )  éclaireMal ( x )
37
Calcul des prédicats
Logique du premier ordre
Alphabet
Syntaxe
38
Calcul des prédicats
Logique du premier ordre
Alphabet
Syntaxe
39
Calcul des prédicats
Logique du premier ordre
Vocabulaire
 Les termes
– les variables et les constantes sont des
termes
– f(t1, …, tn) est un terme si
 les ti sont des termes
 f est un symbole de fonction d’arité n
 Les atomes
– R(t1, …, tn) est un atome si
 les ti sont des termes
 R est un symbole de relation d’arité n
40
Calcul des prédicats
Logique du premier ordre
Formules
 Un atome est une formule
 Si F et G sont des formules et x une
variable, alors les expressions suivantes
sont des formules
– (F)
– (F)  (G) et (F)  (G)
– (F)  (G) et (F)  (G)
– x (F) et x (G)
41
Calcul des prédicats
Logique du premier ordre
Formules
42
Calcul des prédicats
Logique du premier ordre
43
Calcul des prédicats
Logique du premier ordre
44
Calcul des prédicats
Logique du premier ordre
45
Calcul des prédicats
Logique du premier ordre
Occurrence d’une variable
 Une occurrence d’une variable x dans une
formule F est un endroit où x apparaît dans
F sans être immédiatement précédée par 
ou 
 Une occurrence libre de x dans F est
définie :
46
Calcul des prédicats
Logique du premier ordre
Occurrence libre
47
Calcul des prédicats
Logique du premier ordre
Caractéristiques des variables
 Une variable est dite libre dans une formule
F si elle a au moins une occurrence libre
(sinon on dit qu’elle est liée)
 Une formule n’ayant pas de variable libre
est dite close
48
Calcul des prédicats
Logique du premier ordre
49
Logique du premier ordre
Suite en TD
50
Logique du premier ordre
Notion de substitution
51
Calcul des prédicats
Logique du premier ordre
Aspects sémantiques
 Interprétation
 Formules universellement valides
 Le théorème de Herbrand
 Principe de résolution adapté au calcul
des prédicats
52
Calcul des prédicats
Logique du premier ordre
Vers la notion de modèle
53
Calcul des prédicats
Logique du premier ordre
Vers la notion de modèle
 Soit L le langage du calcul des prédicats
– une interprétation de L c’est la donnée de :
 un ensemble E non vide appelé ensemble de base
 pour chaque symbole de prédicat R d’arité n, d’un sous-ensemble
R’ de En
 pour chaque symbole de fonction f d’arité n, d’une application f’
de En vers E (y compris pour les constantes)
– on peut alors calculer la valeur de tout terme clos (c’est
un élément de E)
– on peut donc associer une valeur de vérité à tout atome
et donc par extension à toute formule close
54
Calcul des prédicats
Logique du premier ordre
Exemple d’interprétation
 xyz (P(x,y)  Q(y,z)  R(x,z))
 xy ( (M(x,y)  P(x,y)  Q(x,y))
 M(a,b)  P(c,b)  P(d,a)  P(e,c)
 E=
 P’ =
 a’ =
{ anne, bernard, …}
est le père de
anne
M’ = est la mère de
Q’ = est un parent de
R’ = est le grand-père de
b’ = bernard c’ = charles
d’ = didier e’= éric
55
Calcul des prédicats
Logique du premier ordre
Modèle
NB : on dit aussi que F est une tautologie.
56
Calcul des prédicats
Logique du premier ordre
Preuve et démonstration
 Comment prouver une formule du calcul
des prédicats ?
– Prouver qu’elle est vraie
 passer en revue toutes les interprétations !
– Prouver qu’elle est fausse
 trouver une interprétation qui invalide la formule
57
Calcul des prédicats
Logique du premier ordre
Toutes les interprétations ?
 Une représentation utile des formules
– forme clausale
 Un théorème qui simplifie la vie
– théorème de Herbrand
 Principe de résolution pour le calcul des
prédicats
– vers une automatisation des démonstrations
58
Calcul des prédicats
Logique du premier ordre
Transformation de formule
 Forme normale prénexe
– quantificateurs en tête de la formule
– formule sous forme normale conjonctive
 Forme standard de Skolem
– formule sous forme normale prénexe
– quantificateurs existentiels précédant
quantificateurs universels
Toute formule du calcul des prédicats est équivalente
à une formule sous forme standard de Skolem
59
Calcul des prédicats
Logique du premier ordre
Mise sous forme normale prénexe
60
Calcul des prédicats
Logique du premier ordre
Mise sous forme normale prénexe
 Éliminer les connecteurs  et 
 Transporter les  devant les atomes
– en utilisant ( F  F) et les lois de De Morgan
 Transporter les quantificateurs en tête de la
formule
 Ne pas hésiter à renommer les variables
pour pouvoir utiliser les propriétés des
quantificateurs.
61
Calcul des prédicats
Logique du premier ordre
Transport des quantificateurs
x F   x F
x F   x F
xy F  yx F
xy F  yx F
x F  x H  x F  H 
x F  x H  x F  H 
si H ne contient aucune occurrence de x
x F   H
x F   H
 x F  H 
 x F  H 
x H  H
x H  H
62
Calcul des prédicats
Logique du premier ordre
Mise sous forme normale prénexe
63
Calcul des prédicats
Logique du premier ordre
Mise sous forme normale prénexe
En TD
64
Logique du premier ordre
Forme de Skolem
NB : lorsque les quantificateurs universels précèdent les
quantificateurs existentiels, on parle de forme de Herbrand
65
Calcul des prédicats
Logique du premier ordre
Inversion de  et de 
Skolemisation
 Lorsqu’on a
xy f ( x )  y
 on remplace y par une fonction g qui à x
associe y
gx f ( x )  g ( x )
Skolemisation = expliciter l’implicite
NB : On dit aussi qu’on « Skolémise » la variable y
66
Logique du premier ordre
Forme standard de Skolem
67
Calcul des prédicats
Une représentation utile des
formules : Forme clausale
xyz
p( x, y)  q( z, y, x)
p(a, y1 )
; q( z1, y2 , a)
68
Calcul des prédicats
Une représentation utile des
formules : Forme clausale
En TD
69
Une représentation utile des
formules : Forme clausale
70
Calcul des prédicats
Logique du premier ordre
Univers de Herbrand
NB : si aucune constante n’apparaît dans C, on
pose H0 = {a}.
71
Calcul des prédicats
Logique du premier ordre
Univers de Herbrand
72
Calcul des prédicats
Logique du premier ordre
Univers de Herbrand
73
Calcul des prédicats
Logique du premier ordre
Univers de Herbrand
74
Calcul des prédicats
Logique du premier ordre
Univers de Herbrand
75
Calcul des prédicats
Logique du premier ordre
Théorème de Herbrand
 Théorème Un ensemble S de clauses est
insatisfaisable si et seulement si il existe
un ensemble S’ d’instances de base
insatisfaisable
 Corollaire Un ensemble de clauses est
satisfaisable si et seulement si tout
ensemble fini d’instances de base est
satisfaisable
76
Principales applications du théorème
de Herbrand
 Preuve qu’une formule est universellement
valide → on montre que sa négation est
insatisfiable.
 Validation de raisonnement → on montre
que les prémisses et la négation de la
conclusion forment un ensemble de clauses
insatisfiable
77
78
79
80
81
82
83
84
85
86
Principe de résolution pour le calcul
des prédicats
NB : c’est le théorème de Herbrand qui nous permet ces
87
transformations
Vocabulaire
88
Vocabulaire
89
Vocabulaire
90
Principe de résolution
91
Principe de résolution
92
Principe de résolution
93
Principe de résolution
94
Principe de résolution
95
Principe de résolution
96
Principe de résolution
97
Principe de résolution
98
Principe de résolution
99
Principe de résolution
100
Principe de résolution
101
Principe de résolution
102
Téléchargement