1
1
7. Logique des propositions (fin)
2
Résolution
C’est une méthode automatisable permettant de déduire des
propositions à partir d’autres. Autrement dit, c’est de la
démonstration automatique.
C’est une méthode purement syntaxique qui fut mise au point en 1965
par Robinson.
C’est sur cette méthode que repose le principe du langage de
programmation logique Prolog, inventé à Marseille en 1972.
Restreinte à la logique des propositions (logique d’ordre 0), cette
méthode s’appelle la zéro-résolution (ZR).
Cette méthode nest pas complète. Pour toute tautologie, on n’aura
pas forcément de preuve dans ZR (il y a moyen de contourner ce manque).
Par ailleurs, cette méthode est correcte : ce que l’on prouve dans
ZR est forcément toujours vrai.
On note une déduction.
^
ZR
3
Vocabulaire
Un littéral est une variable booléenne ou sa négation.
On appellera clause toute formule mise sous forme de disjonction de
littéraux.
Théorème Toute formule peut être mise sous Forme Normale Conjonctive
i.e sous la forme de conjonctions de clauses.
(admis : la démonstration se ferait par récurrence sur le nombre de connecteurs)
Soient A et B deux clauses avec
A = l l1 lp, p0 et B = ÿl k1 kq, q0.
Le résolvant de A et B pour l et ÿl est ainsi défini :
R ( A, B , l, ÿl) = l1 lp k1 kq
On a le droit d’y enlever toute répétition.
On peut donc voir apparaître la clause vide, ce que l’on
interprètera comme labsurde.
4
Zéro-Résolution
Une preuve dans le système formel ZR de S c où S est un
ensemble de clauses {c1, … , cn}n0 et c une clause est une
suite de clauses D1, …, Dr, r1, telles que :
- Dr = c
-pour tout i, 1ir, une des propriétés suivantes est
vraie :
1. Di ΠS
2. Di = R ( Dj, Dk, l, ÿl) avec j<i, k<i
3. Di = Dj avec j<i, à une répétition près.
On note une telle preuve {c1, … cn}n0 c
On obtient une preuve que c est une conséquence de S.
^
ZR
2
5
Exemple 1
On part de S = {ÿp ÿq r, ÿp q, p, ÿr}. On veut montrer
que S ® .
On pourrait procéder avec la table de vérité. On trouverait
dans chaque cas 0 comme valeur de vérité.
Preuve dans le système formel ZR :
vD1 = ÿp ÿq r
vD2 = ÿp q
vD3 = R ( D1, D2, q, ÿq) = ÿp r ÿp
vD4 = ÿp r
vD5 = p
vD6 = R ( D4, D5, p, ÿp) = r
vD7 = ÿr
vD8 = R ( D6, D7, r, ÿr) = ®
On a ainsi montré que ( ((pŸq) Æ r) Ÿ (pÆq) Ÿ p ) Æ r.
^
ZR
6
Exemple 2
On veut montrer dans ZR la transitivité de l’implication.
A-t-on : {p Æ q, q Æ r} p Æ r ?
On part de S = {p Æ q, q Æ r, ÿ (p Æ r) }. On montre que S ®.
On met les éléments de S sous forme de clause :
S = {ÿp q, ÿq r, p, ÿr }
Preuve dans ZR :
vD1 = ÿp q
vD2 = ÿq r
vD3 = R ( D1, D2, q, ÿ q) = ÿp r
vD4 = ÿr
vD5 = R ( D3, D4, r, ÿ r) = ÿp
vD6 = p
vD7 = R ( D5, D6, ÿp, p) = ®
On en déduit que {p Æ q, q Æ r} p Æ r. Cette dernière
implication est bien une conséquence des deux premières.
^
ZR
^
ZR
7
Commentaires
Le problème de cette méthode est de ne pas être complet. Cela se
traduit par le fait que chaque tautologie n’a pas de démonstration
directe par ZR.
Exemple :
p Æ ( p q )
Il faut partir de ÿ ( p Æ ( p q ) ).
En fait, ÿ ( p Æ ( p q ) ) p Ÿ ÿ( p q ) p Ÿ ÿp Ÿ ÿq
Ensuite, on peut prouver que {p, ÿp, ÿq} ®
C’est pour cela que l’on dit que la ZR est un détecteur absolu de
contradictions.
On avance ici «#à l’aveuglette#» : c’est ce que l’on appelle le chaînage
avant. C’est le chaînage arrière qui est utilisé en programmation logique.
^
ZR
8
Limite de la logique des propositions
Le calcul des propositions est simple mais ne peut pas
rendre compte de la totalité des raisonnements.
Par exemple, il ne permet pas faire allusion aux propriétés
d’une variable.
Il ne permet pas non plus de décrire des relations entre
plusieurs variables.
Il leur reconnaît simplement deux états : elles sont vraies
ou elles sont fausses.
On va donc étudier comment généraliser le calcul des
propositions afin de mieux formaliser le raisonnement.
On définit le calcul des prédicats (logique du 1er ordre).
3
9
8. Logique des prédicats
10
Informatique et logique du 1er ordre
Parmi les innombrables usages de la logique du 1er ordre en
informatique, citons-en deux importants :
Les langages de programmation peuvent être typés ou
fortement typés.
On a besoin de la logique du 1er ordre pour décrire le
principe même du typage.
Les bases de données et particulièrement des langages comme
SQL se fondent sur le calcul des prédicats.
11
Calcul des prédicats
En bref,
Un prédicat p est une fonction d’un nombre fini de variables ou de
constantes dans .
Les constantes et les variables sont issues d’un même ensemble
appelé le domaine.
Exemple
si p signifie «#être pair#». Sur le domaine des entiers, p(2) est vrai mais
p(3) est faux.
Une interprétation sera la définition d’un domaine et de prédicats
sur ce domaine.
Apparaissent les quantificateurs, lun existentiel, noté $ et
l’autre universel, noté ".
" x p(x)
$ x p(x)
BI
12
Calcul des prédicats : syntaxe
On dispose :
d’un ensemble dénombrable de variables V = {x,y,w,v,v1,… }
sur un domaine D
d’un ensemble dénombrable de constantes C = {c1,c2, … } Õ D
des symboles {n, ® , $, ", ÿ,, Ÿ, Æ, ´, (, ) }.
On se donne un ensemble fini de prédicats P définis sur le même
domaine.
Exemple :
Une variable peut représenter n’importe quel étudiant, une constante représente
précisément l’un d’eux, un prédicat pourrait être le fait d’être admis à un diplôme.
Les variables et les constantes t1, t2, … tJ seront appelées les
termes d’un prédicat p d’arité j dans l’expression p(t1, t2, … tJ ).
p(t1, t2, … tJ ) est appelé un atome.
4
13
Calcul des prédicats : syntaxe
Définition inductive de lensemble des formules F du calcul des
prédicats :
(B) Les atomes sont des formules de F
(I) si F ΠF, alors
(ÿ F) Œ F
si F, FΠF, alors
( F Ÿ F’ ) Œ F
( F F’ ) Œ F
( F Æ F’ ) Œ F
( F ´ F’ ) Œ F
si F est une formule et x une variable, alors
( $ x) F ΠF
si F est une formule et x une variable, alors
( " x) F ΠF
14
Variables libres ou liées
Chacune des fois où une variable x apparaît dans une formule F est
appelée une occurrence de x dans F.
On dit qu’une occurrence de x dans F est liée si un quantificateur
porte sur cette occurrence de x.
Dans le cas contraire, on parle d’occurrence libre.
On peut construire les arbres d’expression de ces formules pour
s’y retrouver entre occurrence liée et libre.
Une variable est libre si toutes ses occurrences sont libres, une
variable est liée si elle a au moins une occurrence liée.
On parle aussi de variable muette dans ce dernier cas.
Précédence des opérateurs (du plus prioritaire au moins prioritaire)
ÿ " $
Ÿ
Æ ´
15
Exemples
1.
( " x) ( $ y) ( p ( x,y) Æ ( $ x) q ( x,y,c) )
Toutes les occurrences de x et y dans p ou q sont liées mais
celles de x ne sont pas toutes liées au même quantificateur.
2.
( " x) ( p ( x,y) Æ ( $ x) ( $ y) q ( x,y,c) )
Toutes les occurrences de x dans p ou q sont liées, celles de y
dans p est libre.
3.
( " x) ( u ( x) ( $ x ) w ( x) )
L’occurrence de x dans u est liée au ", celle de x dans w est liée
seulement au $.
On a l’équivalence :
( " x) ( u ( x) ( $ x ) ( w ( x)) )
( " x) ( u ( x) ( $ y ) ( w ( y)) )
16
Calcul des prédicats : sémantique
Une interprétation I est la donnée :
d’un domaine non vide D éventuellement infini
d’une évaluation dans D de chaque variable (susceptibles
d’occurrences libres)
d’un ensemble P de prédicats. Un prédicat d’arité i sera
défini sur Di.
d’applications : à chaque prédicat p de P d’arité i,
correspond une application de Di dans .
La valeur (de vérité) de la formule F sous l’interprétation I
est notée
v (I,F)
Pour l’instant, seuls les atomes A ont une valeur fixée par I
v (I,A)
BI
5
17
Calcul des prédicats : sémantique (suite)
La valeur de
vérité de F est donnée par v (I,F) ainsi définie :
on étend à toutes les formules la valuation v (I,A)finie pour l’instant que
pour les atomes A :
si F = A, v (I,F) = v (I,A) Œ
si F = ÿF’, v (I,F) = v (I,F’)
si F = F’ Ÿ F", v (I,F) = v (I,F’) . v (I,F")
si F = F’ F", v (I,F) = v (I,F’) + v (I,F")
si F = F’ Æ F", v (I,F) = v (I,F’) + v (I,F")
si F = F’ ´ F", v (I,F) = ( v (I,F’) + v (I,F") ) . (v (I,F") + v (I,F’) )
appelons Gxd la formule G où toutes les occurrences libres de x ont été
remplacées par d fixé dans D :
si F = " x G, v (I,F) = 1 si pour tout d de D, v (I,
Gxd) = 1
v (I,F) = 0 sinon
si F = $ x G, v (I,F) = 1 s’il existe un d de D tel que
v (I, Gxd) = 1
v (I,F) = 0 sinon.
BI
18
Vocabulaire (rappel)
Une formule F est valide si, pour toute interprétation I :
v (I,F) = 1
* On dit aussi que F est une tautologie.
Une formule F est satisfiable si il existe une interprétation I telle
que :
v (I,F) = 1
* On dit que I satisfait F et on le note : I F.
* Une telle interprétation I est appelée un modèle pour F.
Une formule F est insatisfiable si, pour toute interprétation I on a:
v (I,F) = 0
* On dit que F est une antilogie.
Soient F et F deux formules, F et F sont équivalentes et on note
F F’
ssi, pour toute interprétation I, on a : v (I,F) = v (I,F).
19
Exemple
" x " y ( p( x,y) Æ $ z ( p( x,z) Ÿ p(z,y) ) )
Appelons F la formule entière et G limplication, on a F : " x " y ( G ).
Première interprétation I1 pour F
le domaine D1 de I1 est l’ensemble des réels
le prédicat binaire p est l’ordre <
ÿsi p( x,y) est faux, G est vraie.
ÿsi p( x,y) est vrai, alors x<y. Posons z = ( x+y)/2. Alors, p( x,z)
est vrai et p( z,y) aussi.
ÿen conclusion, v (I1,F) = 1 et I1 constitue un modèle pour F.
Deuxième interprétation I2 pour F
le domaine D2 de I2 est l’ensemble des entiers naturels
le prédicat binaire p est encore l’ordre <
ÿsi p( x,y) est faux, G est vraie.
ÿsi p( x,y) est vrai, alors x<y. Il n’existe pas d’entiers entre x
et y dès lors que x et y sont consécutifs. G peut être fausse.
ÿen conclusion, v (I2,F) = 0. F ne saurait être valide.
20
gation et quantifications
Que deviennent les négations des formules quantifiées ?
ÿ ( " x F ) $ x ( ÿ F )
ÿ ( $ x G ) " x ( ÿ G )
Démonstration de la première équivalence :
Il faut démontrer que ÿ ( " x F ) ´ $ x ÿ F est valide.
Commençons par montrer que ÿ ( " x F ) Æ $ x ÿ F est valide.
Supposons que F est une tautologie, " x F est aussi une tautologie.
Alors, ÿ ( " x F ) est une antilogie. Et l’implication
ÿ ( " x F ) Æ $ x ÿ F est bien une tautologie.
Supposons que F n’est pas une tautologie. Il existe une interprétation
I pour laquelle F est fausse. Alors, $ x ÿ F est une tautologie. Et
l’implication ÿ ( " x F ) Æ $ x ÿ F est une tautologie.
Reste à donner une démonstration analogue pour la réciproque.
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !