Professional Documents
Culture Documents
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
81
Correction dalgorithmes
82
On va utiliser lalgorithme des tableaux s emantiques pour illustrer trois concepts fondamentaux de linformatique et en particulier de lalgorithmique. Soit A un algorithme de d ecision (qui r epond par oui ou non). On va se poser les questions suivantes :
I I I
terminaison : est-ce que mon algorithme termine sur toute entr ee ? ad equation : si mon algorithme r epond oui, est-ce que la r eponse ` a linstance de mon probl` eme est eectivement oui ? compl etude : si la r eponse ` a linstance de mon probl` eme est oui, est-ce que mon algorithme r epond oui ?
terminaison : lalgorithme termine pour toutes les formules de la logique propositionnelle ; ad equation : si lalgorithme construit un arbre dont toutes les feuilles contiennent des paires de litt eraux compl ementaires, alors la formule de d epart est non satisfaisable ; compl etude : pour toute formule de d epart insatisfaisable, lalgorithme construit un arbre dont toutes les feuilles contiennent des paires de litt eraux compl ementaires.
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
83
83
1, . . . ,
n}
Ainsi pour satisfaire un ensemble, il faut satisfaire toutes les formules de lensemble avec la m eme interpr etation. Si E est un ensemble de litt eraux, E est satisfaisable ssi il ne contient pas de paire de litt eraux compl ementaires.
Ainsi pour satisfaire un ensemble, il faut satisfaire toutes les formules de lensemble avec la m eme interpr etation. Si E est un ensemble de litt eraux, E est satisfaisable ssi il ne contient pas de paire de litt eraux compl ementaires.
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
84
85
On d enit une fonction de poids qui associe ` a chaque ensemble de formules un nombre naturel ; on note Poids(l ) le poids de l etiquette du noeud l de larbre. On montre que si m est un ls de l alors Poids(m) < Poids(l ). Vu que Poids() est une fonction des ensembles de formules vers les naturels alors la profondeur de tout tableau s emantique est nie et donc lalgorithme termine.
D enition de la fonction Poids( ). On d enit dabord cette fonction pour une formule par induction sur la structure de la formule.
I I I I I I
^ _
2) 2)
1) 1)
2) ; 2) ; 2) ; 2 ))
! $
2) 2)
1)
et nalement, Poids( ) =
= 2 (Poids(
+ Poids(
+5
Poids( ).
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
86
87
Propri et es
I I
Th eor` eme
Si T est insatisfaisable, alors est insatisfaisable. Pour tout noeud l de T , on note Lab (l ) l etiquette de ce noeud (Lab (l ) est donc un ensemble de formules). On va en fait montrer quelque-chose de plus fort, dont le th eor` eme pr ec edent sera une cons equence triviale :
la fonction Poids() attribue un poids ni et strictement positif ` a chaque formule ; le poids de l etiquette dun noeud l est toujours strictement sup erieur aux poids des etiquettes de ses ls.
Preuves laiss ees comme exercices. Par cons equent, lalgorithme termine.
Lemme
Si un sous-arbre de T de racine l est insatisfaisable alors lensemble de formules Lab(l ) est insatisfaisable. Pour etablir cette propri et e, on raisonne par induction sur la profondeur du sous-arbre.
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
88
89
Lemme
Si un sous-arbre de T de racine l est insatisfaisable alors lensemble de formules Lab(l ) est insatisfaisable. Preuve : Par induction sur la profondeur du sous-arbre. Cas de base. Si Prof (l ) = 0 alors T est r eduit ` a un seul noeud, donc un ensemble de litt eraux, et le r esultat est imm ediat par d enition.
Preuve : Induction. Dans ce cas Prof(l ) > 0, et lalgorithme a s electionn e 2 Lab(l ). Deux cas sont alors possibles : - Premier Cas : est une -formule. Traitons le cas . Dans ce cas, l a un ls m. On a Lab(m) = (Lab(l ) \ { }) [ { }. Comme le sous-arbre de racine l, on a que le sous-arbre de racine m est insatisfaisable. Par HI, on a que Lab(m) est non satisfaisable et donc pour toute valuation V , on a soit V 6|= Lab(l ) \ { } ou V 6|= . Donc pour chaque valuation V on sait que V 6|= Lab(l ) \ { } ou V 6|= . Par cons equent, nous avons bien que pour toute valuation V , V 6|= Lab(l ), donc Lab(l ) est non satisfaisable. Les autres cas sont laiss ees en exercice.
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
90
91
Lemme
Si un sous-arbre de T de racine l est insatisfaisable alors lensemble de formules Lab(l ) est insatisfaisable. Preuve : Deuxi` eme Cas : est une -formule. Traitons le cas 1 _ 2 . Dans ce cas, l a deux ls m et n. On a Lab(m) = Lab(l ) \ { 1 _ 2 } [ { 1 } et Lab(n) = Lab(l ) \ { 1 _ 2 } [ { 2 }. Par HI on sait que Lab(m) et Lab(n) sont non satisfaisables. Donc toute valuation V qui satisfait Lab(l ) \ { 1 _ 2 } ne satisfait ni 1 ni 2 , et donc ne satisfait pas 1 _ 2 . On a donc bien que Lab(l ) \ { 1 _ 2 } [ { 1 _ 2 } = Lab(l ) est non satisfaisable. Les autres cas sont laiss es en exercice. Compl etude de lalgorithme :
I I
Prouver cette propri et e revient ` a etablir la contrapos ee : Si T est satisfaisable alors la formule est satisfaisable.
Pour etablir cela, nous avons besoin de quelques notions suppl ementaires.
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
92
Lemme
Tout ensemble de formules satisfaisable. qui a la propri et e de Hintikka est
Preuve. On construit une valuation V de la fa con suivante : V (p ) = 1 si p 2 V (p ) = 0 si p 2 et (arbitrairement) V (p ) = 1 si p 2 / et p 62 . Montrons que toute formule 2 est satisfaite par V . On raisonne par induction sur la structure de : = p , [[ ]]V = V (p ) = 1 (p 2 ) CB : = p , [[ ]]V = V (p ) = 1 (p 2 )
(les formules 1 , 2 , 1 , 2 correspondent aux formules d enies dans les tableaux des et -r` egles).
ou
Lemme
Tout ensemble de formules satisfaisable. qui a la propri et e de Hintikka est
Par exemple, {(p ^ q ) _ r , p ^ q , p , q } a la propri et e de Hintikka. Il est satisfaisable par V (p ) = V (q ) = 1 et V (r ) = 0. Par contre, lensemble {(p ^ q ) _ r , p ^ q } na pas la propri et e de Hintikka.
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
95
CI :
I
I I
= 1 _ 2. Par d enition des ensembles de Hintikka on sait que soit 1 2 , soit 2 2 . Par HI, si 1 2 on a [[ 1 ]]V = 1, et si 2 2 on a [[ 2 ]]V = 1. Donc [[ 1 _ 2 ]]V = 1. [[ les autres cas (qui sont similaires car se sont des formules logiquement equivalentes ` a des conjonctions ou des disjonctions) sont laiss es en exercice. = 1 ^ 2 . On sait que 1 2 et 2 2 . Par HI on a 1 ]]V = [[ 2 ]]V = 1 et donc [[ 1 ^ 2 ]]V = 1.
On appelle lensemble des noeuds que lon parcourt depuis la racine dun arbre jusqu` a une feuille l la branche de l ; on note Branche(T , l ) la branche qui m` ene de la racine de larbre T ` a la feuille l . On a le lemme suivant :
Lemme
Soit l une feuille satisfaisable de T alors S m2Branche(T ,l ) Lab(m)
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
Preuve
Soit = v eri ee : S Lab(m). On montre que chaque propri et e est
97
m2Branche(T ,l )
1. Pour tout p , p 2 / ou p 2 / . En eet sinon, Lab (l ) contiendrait p et p et donc ne serait pas satisfaisable. 2. Si 2 est une -formule, alors on a appliqu e une -r` egle quelque-part sur la branche, donc 1 2 et 2 2 par d enition de lalgorithme ;
3. Si 2 est une -formule, alors on a appliqu e une -r` egle quelque-part sur la branche, donc 1 2 ou 2 2 par d enition de lalgorithme.
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle Tableaux s emantiques
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
98
dune conjonction, n egation dune equivalence) sont satisfaites si un des deux membres de la disjonction est satisfait : les deux choix sont repr esent es par du branchement (deux ls) dans larbre.
I les formules equivalentes ` a une conjonction (conjonction, equivalence, n egation
La D eduction Naturelle
dune implication et dune disjonction) sont satisfaites si les deux membres de la conjonction sont satisfaits : un seul ls est cr eer dans larbre.
I les feuilles de larbres sont des ensembles de litt eraux (donc non simpliables),
pour lesquels la satisfaisabilit e est facile ` a tester (absence de litt eraux compl ementaires).
I dans le pire cas, larbre cr e e est exponentiellement plus grand que la formule I pour tester la validit e dune formule, on peut tester la non satisfaisabilit e de se
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
100
Introduction
101
Introduction
I I
Supposons donn ee un ensemble de formules 1 , . . . , n que nous appelons pr emisses et une formule que nous appelons conclusion . Supposons que lon d esire montrer que peut etre d eriv ee de , . . . , ; on notera cette intention , . . . , ` , cette derni` ere 1 n 1 n expression est appel ee un s equent . La notion de d erivation syntaxique est formalis ee avec des r` egles de d eduction. Les r` egles de d eduction permettent de faire le lien entre la syntaxe et la s emantique, en eet, on aura :
I I
Lalgorithme des tableaux s emantique ne convient pas pour faire des raisonnements ` a la main sur des formules propositionnelles. Quand on fait des preuves en math ematique, on utilise des r` egles qui nous permettent, pas par pas, de d eduire des conclusions ` a partir de pr emisses. La d eduction naturelle est une formalisation de ce type de raisonnement.
I I
1, . . . ,
ssi
1, . . . ,
|=
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
102
La conjonction
103
La conjonction
Exemples dutilisation de ces r` egles pour la conjonction :
Introduction : ^ ^
Elimination :
^i
^
Par exemple, la r` egle dintroduction se lit : si jai une preuve de preuve de , alors jai une preuve de ^ .
^ e1
^ e2
et une
I I I
(p ^ q ) ^ r , s ^ t ` q ^ s ; p^q ` q^p; (p ^ q ) ^ r ` p ^ (q ^ r ) ;
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
104
Double n egation
105
Introduction :
Elimination :
i e
!e
Illustration
1. il pleut ; 2. si il pleut alors la route est mouill ee. alors on peut d eduire que la route est mouill ee.
Exemple : p , (q ^ r ) ` p ^ r
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
106
Elimination de limplication : Modus Ponens Analogie avec les types de fonctions dans les langages de programmation
I
107
Soient f une fonction d el ements de type t1 vers des el ements de type t2 , et e une valeur de type t1 , alors f (e ) est une valeur de type t2 . On note ceci f : t1 ! t2 , e : t1 et f (e ) : t2 . Une fonction f : t1 ! (t2 ! t3 ) est une fonction qui prend en argument un el ement de type t1 et retourne une fontion de type t2 ! t3 . Etant donn es deux elements e1 : t1 et e2 : t2 , on a f (e1 ) : t2 ! t3 et f (e1 )(e2 ) : t3 . Une application du Modus Ponens correspond a appliquer une fonction a son argument.
Peut-on d eduire r ?
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
108
109
Prouvons le s equent suivant : Supposons que p ! q et q soient vraies, si p est vrai alors par la r` egle du modus ponens on peut d eriver q ce qui est en contradiction avec le fait que q est vrai, donc on en d eduit que p est vrai. Ce raisonnement est r esum e dans la r` egle suivante, appel ee r` egle de Modus Tollens : ! p ! ( q ! r ) , p , r ` q 1 2 3 4 5 p ! (q ! r ) p r q!r q pr emisse pr emisse pr emisse !e 1et 2 MT 4, 3
MT
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
110
111
Introduction de limplication
Le raisonnement ` a partir dhypoth` eses : On sait que p ! q est vrai. Si on suppose (on fait lhypoth` ese) que q est vrai alors on peut d eduire gr ace ` a la r` egle MT que p est faux. Donc en supposant q on peut d eduire p donc q implique p , exprim e de mani` ere symbolique q ! p est d eduit. Largument pour p ! q ` q ! p peut etre r esum e de la fa con suivante :
MT nous a permis de montrer : p ! q , q ` p et le s equent p ! q ` q ! p semble dune certaine fa con dire la m eme chose. Mais jusqu` a pr esent, nous navons pas de r` egles pour introduire le connecteur implication.
1 2 3 4
p!q q p q ! p
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
112
Introduction de limplication
113
Introduction de limplication
hyp.
n hyp.
!
!i
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
114
Introduction de limplication
Preuves de formules vraies sans pr emisse :
115
Introduction de limplication
1 2 3
p p p ! p
hyp. i , 1, n hyp.1 !i , 1 2
Toute preuve de 1 , . . . , n ` est facilement transformable en un preuve de ` 1 ! 2 ! . . . n ! , on obtient donc le lemme suivant :
Lemme
1, . . . , n
n,
,
1
Donc on a etabli ` p ! p Note : les formules telles que ` sont appel ees th eor` emes. Comme on le verra dans la suite du cours, ` ssi |= et donc pour le syst eme de d eduction naturelle en logique propositionnelle, les th eor` emes coincident avec les formules valides.
ssi `
! ...
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
116
Introduction de limplication
Prouvons le s equent suivant : `? (q ! r ) ! ((q ! p ) ! (p ! r )) 1 2 3 4 5 6 7 8 9 10 q!r q ! p p p q q r p!r ( q ! p ) ! ( p ! r ) (q ! r ) ! ((q ! p ) ! (p ! r )) hyp. hyp. hyp. i , 3 MT 2, 4 e 5 !e 1, 6, n hyp.3 !i 3 7, n hyp.2 !i 2, 8, n hyp.1 !i 1, 9
117
Introduction de la disjonction
_i1
_i2
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
118
Cette strat egie de preuve est formalis ee dans la r` egle suivante : est vrai,
2
2. et que lon puisse egalement etablir vrai, 3. et quil existe une preuve pour alors on devrait pouvoir d eduire .
1
est
1 hyp.
2 hyp.
Exemple
Supposons que les faits suivant soient vrais : 1. si ma note d examen est excellente, jirai boire un verre 2. si ma note d examen est bonne, jirai boire un verre 3. ma note sera bonne ou excellente Je peux donc en d eduire que jirai boire un verre.
n hyp.
n hyp.
_e
Attention : dans chacun des deux cas, on ne peut pas utiliser lhypoth` ese temporaire faite pour lautre cas, sauf si cette hypoth` ese a et e etablie avant.
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
120
Elimination de la disjonction
Prouvons le s equent p_q `q_p 1 2 3 4 5 6 p_q p q_p q q_p q_p pr emisse hyp. _i2 , n hyp.2 hyp. _i1 , n hyp.4 _e 1, 4 5, 2
121
D eduction naturelle
R` egle de copie pour conclure un raisonnement sous-hypoth` ese.
copie
Consid erons le s equent : ` p ! (q ! p ) Et la preuve suivante :
1 2 3 4 5
p q p q!p p ! (q ! p )
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
122
ou
Notons quaucune valuation ne satisfait une contradiction. Donc on a ^ |= pour nimporte quel . Donc si la m ethode de d eduction est compl` ete, on devrait avoir : ^ ` pour nimporte quel . intuition : si le faux est vrai, alors tout est vrai. Toutes les contradictions sont logiquement equivalentes ` a la formule ?.
?e
Le fait que ? represente une contradiction est formalis e par la r` egle suivante : ?
I I
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
125
Supposons que lon fasse une hypoth` ese et que lon arrive a d eduire une contradiction, dans ce cas lhypoth` ese est fausse. Ceci est formalis e par la r` egle de preuve suivante :
hyp. ? n hyp.
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
126
127
!
1
2 1
! 1
($i )
MT
$ 2 ($e1 ) 1 ! 2 $ 2 ($e1 ) 2 ! 1
1 2 3 4 5 6
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
128
129
Th eor` emes
hyp.
Th eor` eme (Ad equation)
Pour tout
1, . . . , n,
, si
1, . . . ,
n hyp.
` , alors
1, . . . ,
|= .
RAA
RAA :reductio ad absurdum. Cela sappelle encore un raisonnement par labsurde ou par contradiction. _
, si
1, . . . ,
|= , alors
1, . . . ,
` .
LEM
LEM : Law of the excluded middle. La loi du tiers exclu. (voir exercice pour la preuve que cest une r` egle d eriv ee)
INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle INFO-F-302, Cours dInformatique Fondamentale Logique pour lInformatique La Logique Propositionnelle La d eduction naturelle
130
Exercices
D emontrer les s equents suivants en d eduction naturelle : 1. ` p ! p 2. ` (p ^ p )
131
` p _ p
3. ` p ! (q ! p ) 5. p ^ q ` p _ r
4. ` p ! ((p ! q ) ! q ) 6. p ^ q ` r ! p
7. p ! q ! r ` (p ^ q ) ! r 8. p ! q ! r ` q ! p ! r 9. p !` (p ^ q )
1. 2. 3. 4. 5. 6. 7. 8.
(p _ p ) p p _ p ? p p _ p ? p _ p
H1 H2 _i1 (2) e (1, 3), FIN H2 , i (2 4) _i2 (5) e (1, 6) FIN H1 RAA (1 7)