81 Correction d'algorithmes 82 Correction de l'algorithme des ... - ULB

5 downloads 129 Views 391KB Size Report
81 Correction d'algorithmes. On va utiliser l'algorithme des tableaux sémantiques pour illustrer trois concepts fondamentaux de l'informatique et en particulier ...
INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

Tableaux s´ emantiques

Tableaux s´ emantiques

81

Correction d’algorithmes

82

Appliqu´es `a l’algorithme des tableaux s´emantiques (que l’on suppose r´epondre `a la question : est-ce que ma formule est non-satisfaisable ?) cela donne :

On va utiliser l’algorithme des tableaux s´emantiques pour illustrer trois concepts fondamentaux de l’informatique et en particulier de l’algorithmique. Soit A un algorithme de d´ecision (qui r´epond par oui ou non). On va se poser les questions suivantes : I

terminaison : est-ce que mon algorithme termine sur toute entr´ee ?

I

ad´equation : si mon algorithme r´epond oui, est-ce que la r´eponse `a l’instance de mon probl`eme est e↵ectivement oui ?

I

compl´etude : si la r´eponse `a l’instance de mon probl`eme est oui, est-ce que mon algorithme r´epond oui ?

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

Correction de l’algorithme des tableaux s´emantiques

I

terminaison : l’algorithme termine pour toutes les formules de la logique propositionnelle ;

I

ad´equation : si l’algorithme construit un arbre dont toutes les feuilles contiennent des paires de litt´eraux compl´ementaires, alors la formule de d´epart est non satisfaisable ;

I

compl´etude : pour toute formule de d´epart insatisfaisable, l’algorithme construit un arbre dont toutes les feuilles contiennent des paires de litt´eraux compl´ementaires.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

Tableaux s´ emantiques

Tableaux s´ emantiques

83

Arbres et ensembles satisfaisables

83

D´efinition (Ensemble satisfaisable) Un ensemble de formules E = { 1 ^ · · · ^ n l’est.

1, . . . ,

Arbres et ensembles satisfaisables D´efinition (Ensemble satisfaisable)

n}

est dit satisfaisable si

Un ensemble de formules E = { 1 ^ · · · ^ n l’est.

1, . . . ,

n}

est dit satisfaisable si

I

Ainsi pour satisfaire un ensemble, il faut satisfaire toutes les formules de l’ensemble avec la mˆeme interpr´etation.

I

Ainsi pour satisfaire un ensemble, il faut satisfaire toutes les formules de l’ensemble avec la mˆeme interpr´etation.

I

Si E est un ensemble de litt´eraux, E est satisfaisable ssi il ne contient pas de paire de litt´eraux compl´ementaires.

I

Si E est un ensemble de litt´eraux, E est satisfaisable ssi il ne contient pas de paire de litt´eraux compl´ementaires.

D´efinition (Arbre satisfaisable) Soit T un arbre construit par la m´ethode des tableaux s´emantiques pour une formule en entr´ee. On dit que T est satisfaisable s’il poss`ede une feuille dont l’´etiquette est satisfaisable, sinon on dit qu’il est insatisfaisable.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

Tableaux s´ emantiques

Tableaux s´ emantiques

84

Tableaux s´emantiques – Terminaison de l’Algorithme

85

D´efinition de la fonction Poids( ). On d´efinit d’abord cette fonction pour une formule par induction sur la structure de la formule.

On d´efinit 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 l’arbre. On montre que si m est un fils 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 finie et donc l’algorithme termine.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

Tableaux s´emantiques – Terminaison de l’Algorithme

I

Poids(p) = 1.

I

Poids(¬ ) = 1 + Poids( ) ;

I

Poids(

1

I

Poids(

1

I

Poids(

1

I

Poids(

1

! $

= 2 + Poids(

1)

+ Poids(

2) ;

2)

= 2 + Poids(

1)

+ Poids(

2) ;

2)

= 2 + Poids(

2)

= 2 ⇥ (Poids(

P

2

1)

+ Poids(

1)

+ Poids(

2) ; 2 ))

+5

Poids( ).

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique La Logique Propositionnelle

Tableaux s´ emantiques

Tableaux s´ emantiques

Tableaux s´emantiques – Terminaison

_

2)

et finalement, Poids( ) =

La Logique Propositionnelle

86

^

87

Tableaux s´emantiques – Ad´equation de l’algorithme. Soit T un arbre construit par l’algorithme pour une formule

Propri´et´es I

la fonction Poids() attribue un poids fini et strictement positif `a chaque formule ;

I

le poids de l’´etiquette d’un noeud l est toujours strictement sup´erieur aux poids des ´etiquettes de ses fils.

de d´epart.

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 :

Preuves laiss´ees comme exercices.

Lemme

Par cons´equent, l’algorithme termine.

Si un sous-arbre de T de racine l est insatisfaisable alors l’ensemble 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 d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

Tableaux s´ emantiques

Tableaux s´ emantiques

88

Tableaux s´emantiques – Ad´equation de l’Algorithme

89

Tableaux s´emantiques – Ad´equation de l’Algorithme Lemme Si un sous-arbre de T de racine l est insatisfaisable alors l’ensemble de formules Lab(l) est insatisfaisable.

Lemme

Preuve : Induction. Dans ce cas Prof(l) > 0, et l’algorithme a s´electionn´e 2 Lab(l). Deux cas sont alors possibles :

Si un sous-arbre de T de racine l est insatisfaisable alors l’ensemble de formules Lab(l) est insatisfaisable.

- Premier Cas : est une ↵-formule. Traitons le cas ⌘ ¬¬ . Dans ce cas, l a un fils 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.

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´efinition.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

Tableaux s´ emantiques

Tableaux s´ emantiques

90

Tableaux s´emantiques – Ad´equation de l’Algorithme

91

Tableaux s´emantiques – Compl´etude

Lemme Si un sous-arbre de T de racine l est insatisfaisable alors l’ensemble de formules Lab(l) est insatisfaisable. Preuve : Deuxi` eme Cas : est une -formule. Traitons le cas ⌘ 1 _ 2 . Dans ce cas, l a deux fils 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 l’algorithme : I

On doit montrer que “Si insatisfaisable’.

I

Prouver cette propri´et´e revient `a ´etablir la contrapos´ee : “Si T est satisfaisable alors la formule est satisfaisable”.

est non satisfaisable alors T est

Pour ´etablir cela, nous avons besoin de quelques notions suppl´ementaires.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

Tableaux s´ emantiques

Tableaux s´ emantiques

92

Tableaux s´emantiques – Compl´etude Un ensemble de formules suivantes sont v´erifi´ees :

1. pour toute proposition p, on a soit p 62 2. si ¬¬ 2 , alors 2 ; 3. si ↵ 2 , alors ↵1 2 et ↵2 2 2

4. si

, alors

1

2

Lemme Tout ensemble de formules satisfaisable.

a la propri´et´e de Hintikka ssi les propri´et´es

ou

2

2

ou ¬p 62

Preuve. On construit une valuation V de la fa¸con suivante :

;

V (p) = 1 si p 2

(lorsque ↵ est une ↵-formule) (lorsque

V (p) = 0 si ¬p 2

est une -formule)

(les formules ↵1 , ↵2 , 1 , 2 correspondent aux formules d´efinies dans les tableaux des ↵ et -r`egles).

et (arbitrairement) V (p) = 1 si p 2 / et ¬p 62 .

Lemme Tout ensemble de formules satisfaisable.

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 )

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, l’ensemble {(p ^ q) _ ¬r , p ^ q} n’a pas la propri´et´e de Hintikka.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

qui a la propri´et´e de Hintikka est

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

Tableaux s´ emantiques

Tableaux s´ emantiques

95

Tableaux s´emantiques – Compl´etude

CI : I

I I

= 1 _ 2. Par d´efinition 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.

On appelle l’ensemble des noeuds que l’on parcourt depuis la racine d’un arbre jusqu’`a une feuille l la branche de l ; on note Branche(T , l) la branche qui m`ene de la racine de l’arbre T `a la feuille l. On a le lemme suivant :

[[

Soit l une feuille satisfaisable de T alors S m2Branche(T ,l) Lab(m)

= 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.

les autres cas (qui sont similaires car se sont des formules logiquement ´equivalentes `a des conjonctions ou des disjonctions) sont laiss´es en exercice.

Lemme

est un ensemble de formules qui a la propri´et´e de Hintikka.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

Tableaux s´ emantiques

Tableaux s´ emantiques

Preuve Soit = v´erifi´ee :

97

S

m2Branche(T ,l)

Lab(m). On montre que chaque propri´et´e est

1. Pour tout p, p 2 / ou ¬p 2 / . En e↵et 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´efinition de l’algorithme ;

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´efinition de l’algorithme.

Tableaux s´emantiques – Compl´etude On obtient la preuve de compl´etude par le raisonnement suivant : Si T est satisfaisable alors il contient une feuille l qui est satisfaisable et donc S m2Branche(T ,l) Lab(m) est un ensemble de formules qui a la propri´et´e de Hintikka. Donc toutes les formules de S m2Branche(T ,l) Lab(m) sont satisfaisables par le lemme vu pr´ec´edemment, et en particulier S 2 m2Branche(T ,l) Lab(m). donc

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

est satisfaisable.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

Tableaux s´ emantiques

La d´ eduction naturelle

98

Tableaux S´emantiques : R´esum´e I la m´ ethode des tableaux s´ emantiques est un algorithme pour tester la

satisfaisabilit´ e d’une formule. I elle est bas´ ee sur la construction d’un arbre par applications successives de r` egles

de simplifications de formules (tableaux) I les formules ´ equivalentes ` a une disjonction (disjonction, implication, n´ egation

d’une conjonction, n´ egation d’une ´ equivalence) sont satisfaites si un des deux membres de la disjonction est satisfait : les deux choix sont repr´ esent´ es par du branchement (deux fils) dans l’arbre. I les formules ´ equivalentes ` a une conjonction (conjonction, ´ equivalence, n´ egation

d’une implication et d’une disjonction) sont satisfaites si les deux membres de la conjonction sont satisfaits : un seul fils est cr´ eer dans l’arbre. I les feuilles de l’arbres sont des ensembles de litt´ eraux (donc non simplifiables),

pour lesquels la satisfaisabilit´ e est facile ` a tester (absence de litt´ eraux compl´ ementaires). I dans le pire cas, l’arbre cr´ e´ e est exponentiellement plus grand que la formule I pour tester la validit´ e d’une formule, on peut tester la non satisfaisabilit´ e de se

n´ egation par la m´ ethode des tableaux s´ emantiques. I la m´ ethode des tableaux s´ emantiques est correcte : elle est ad´ equate et compl` ete.

La D´eduction Naturelle

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

100

Introduction

I I

I

101

L’algorithme 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.

Introduction I

Supposons donn´ee un ensemble de formules 1 , . . . , n que nous appelons pr´emisses et une formule que nous appelons conclusion .

I

Supposons que l’on d´esire montrer que peut ˆetre d´eriv´ee de ere 1 , . . . , n ; on notera cette intention 1 , . . . , n ` , cette derni` expression est appel´ee un s´equent .

I

La notion de d´erivation syntaxique est formalis´ee avec des r`egles de d´eduction.

I

Les r`egles de d´eduction permettent de faire le lien entre la syntaxe et la s´emantique, en e↵et, on aura :

1, . . . ,

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

`

ssi

1, . . . ,

n

|=

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

102

n

La conjonction

103

La conjonction Exemples d’utilisation de ces r`egles pour la conjonction : I

R`egles pour la conjonction : I

I

p ^ q, r `? q ^ r .

Introduction : ^

Elimination : ^

^ e1

1 2 3 4

^i ^

^ e2

Par exemple, la r`egle d’introduction se lit : si j’ai une preuve de preuve de , alors j’ai une preuve de ^ .

et une

I I I

(p ^ q) ^ r , s ^ t ` q ^ s ; p^q ` q^p;

(p ^ q) ^ r ` p ^ (q ^ r ) ;

p^q r q q^r

pr´emisse pr´emisse ^ e2 , 1 ^i , 3, 2

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

104

Double n´egation

105

R`egle pour l’´elimination de l’implication (Modus Ponens ) :

R`egles pour la (double) n´egation : I

I

Elimination de l’implication : Modus Ponens

!

Introduction :

Elimination :

¬¬ ¬¬

Exemple : p, ¬¬(q ^ r ) ` ¬¬p ^ r

¬i

Illustration 1. il pleut ;

¬e

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

2. si il pleut alors la route est mouill´ee. alors on peut d´eduire que la route est mouill´ee.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

106

Elimination de l’implication : Modus Ponens

107

Elimination de l’implication : Modus Ponens

Analogie avec les types de fonctions dans les langages de programmation I

I

I

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.

!e

Etant donn´ees les pr´emisses 1. p ; 2. p ! q ;

3. p ! (q ! r )

Peut-on d´eduire r ?

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

108

Contraposition ou Modus Tollens

109

Contraposition ou Modus Tollens

Prouvons le s´equent suivant : p ! (q ! r ), p, ¬r ` ¬q

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 : !

¬

¬

1 2 3 4 5

MT

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

Contraposition ou Modus Tollens

MT nous a permis de montrer : p ! q, ¬q ` ¬p et le s´equent

pr´emisse pr´emisse pr´emisse !e 1et2 MT 4, 3

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

110

p ! (q ! r ) p ¬r q!r ¬q

111

Introduction de l’implication Le raisonnement `a partir d’hypoth`eses : On sait que p ! q est vrai. Si on suppose (on fait l’hypoth`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. L’argument pour p ! q ` ¬q ! ¬p peut ˆetre r´esum´e de la fa¸con suivante :

p ! q ` ¬q ! ¬p semble d’une certaine fa¸con dire la mˆeme chose. Mais jusqu’`a pr´esent, nous n’avons pas de r`egles pour introduire le connecteur “implication”.

1 2 3 4

p!q ¬q ¬p ¬q ! ¬p

pr´emisse hyp. MT 1, 2, fin hyp.2 !i , 2 3

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

112

Introduction de l’implication

113

R`egle pour l’introduction de l’implication :

Prouvons le s´equent ¬q ! ¬p ` p ! ¬¬q :

hyp. · · ·

fin hyp. !

Introduction de l’implication

1 2 3 4 5

!i

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

pr´emisse hyp. ¬¬i , 2 MT , 1, 3, fin hyp.2 !i , 2 4

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

114

¬q ! ¬p p ¬¬p ¬¬q p ! ¬¬q

Introduction de l’implication

115

Introduction de l’implication

Preuves de formules vraies sans pr´emisse :

1 2 3

p ¬¬p p ! ¬¬p

hyp. ¬¬i , 1, fin 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

Pour toutes formules 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.

1, . . . , n

`

n,

,

ssi `

1

!

2

! ...

n

!

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

116

Introduction de l’implication

117

Introduction de la disjonction

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, fin hyp.3 !i 3 7, fin hyp.2 !i 2, 8, fin hyp.1

R`egle pour introduire la disjonction : _

_

_i2

!i 1, 9

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

118

_i1

Comment ´eliminer la disjonction ? Cette strat´egie de preuve est formalis´ee dans la r`egle suivante :

Imaginons que l’on puisse : 1. ´etablir une formule

sous hypoth`ese que

2. et que l’on puisse ´egalement ´etablir vrai, 3. et qu’il existe une preuve pour

1

alors on devrait pouvoir d´eduire .

_

1

est vrai,

sous hypoth`ese que

2

1 hyp.

est

2

Exemple Supposons que les faits suivant soient vrais : 1. si ma note d’´examen est excellente, j’irai boire un verre 2. si ma note d’´examen est bonne, j’irai boire un verre 3. ma note sera bonne ou excellente Je peux donc en d´eduire que j’irai boire un verre.

1

_

2

· · ·

fin hyp.

2 hyp.

· · ·

fin hyp.

_e

Attention : dans chacun des deux cas, on ne peut pas utiliser l’hypoth`ese temporaire faite pour l’autre cas, sauf si cette hypoth`ese a ´et´e ´etablie avant.

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

120

Elimination de la disjonction

121

D´eduction naturelle R`egle de copie pour conclure un raisonnement sous-hypoth`ese.

Prouvons le s´equent

copie p_q `q_p 1 2 3 4 5 6

p_q p q_p q q_p q_p

pr´emisse hyp. _i2 , fin hyp.2 hyp. _i1 , fin hyp.4 _e 1, 4 5, 2

Consid´erons le s´equent : ` p ! (q ! p) Et la preuve suivante :

1 2 3 4 5

3

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

R`egles pour la n´egation.

R`egles pour la n´egation.

Les contradictions sont des formules de la forme : ¬ ^ I

hyp. hyp. copie1, fin hyp.2 !i 2, 3, fin hyp.1 !i 1 4

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

122

p q p q!p p ! (q ! p)

ou



Notons qu’aucune valuation ne satisfait une contradiction. Donc on a ¬ ^ |= pour n’importe quel . Donc si la m´ethode de d´eduction est compl`ete, on devrait avoir : ¬ ^ ` pour n’importe quel .

I

intuition : si le faux est vrai, alors tout est vrai.

I

Toutes les contradictions sont logiquement ´equivalentes `a la formule ?.

Le fait que l’on peut tout d´eduire `a partir d’une contradiction est formalis´e par la r`egle suivante : ?

?e

Le fait que ? represente une contradiction est formalis´e par la r`egle suivante : ?

Comment introduire une n´egation ?

¬

¬e

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

125

Exemple avec la n´egation On est maintenant en mesure de prouver le sequent de l’exemple introductif (taxi-train-invit´e) :

Supposons que l’on fasse une hypoth`ese et que l’on arrive a d´eduire une contradiction, dans ce cas l’hypoth`ese est fausse. Ceci est formalis´e par la r`egle de preuve suivante :

p ^ ¬q ! r , ¬r , p ` q

hyp. · · · ? fin hyp. ¬

1 2 3 4 5 6 7 8 9

¬i

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

pr´emisse pr´emisse pr´emisse hyp. ^i 3, 4 !e 1, 5 ¬e 6, 2, fin hyp.4 ¬i 4 7 ¬¬e 8

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

126

p ^ ¬q ! r ¬r p ¬q p ^ ¬q r ? ¬¬q q

R`egles pour l’´equivalence

127

R`egles d´eriv´ees Notons que MT

1

!

2 1

2

$

2

!

! 1

($i )

$ 2 ($e1 ) 1 ! 2

1

$ 2 ($e1 ) 2 ! 1

1

¬

¬

MT

est une r`egle d´eriv´ee. En e↵et :

1 2 3 4 5 6

¬ ? ¬

!

pr´emisse pr´emisse hyp. !e 1, 3 ¬e 4, 2, fin hyp.3 ¬i 3 5

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

128

R`egles D´eriv´ees

129

Th´eor`emes

Autres r`egles d´eriv´ees :

¬ · · · ?

hyp. Th´eor`eme (Ad´equation) Pour tout

fin hyp.

RAA



n,

, si

1, . . . ,

n

` , alors

n

|= , alors

1, . . . ,

Pour tout

1, . . . ,

n,

, si

1, . . . ,

1, . . . ,

¬¬i

LEM

LEM : Law of the excluded middle. La loi du tiers exclu. (voir exercice pour la preuve que c’est une r`egle d´eriv´ee) INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

INFO-F-302, Cours d’Informatique Fondamentale Logique pour l’Informatique

La Logique Propositionnelle

La Logique Propositionnelle

La d´ eduction naturelle

La d´ eduction naturelle

130

Exercices

131

` p _ ¬p

D´emontrer les s´equents suivants en d´eduction naturelle : 1. ` p ! p

2. ` ¬(p ^ ¬p)

3. ` p ! (q ! p)

4. ` p ! ((p ! q) ! q) 5. p ^ q ` p _ r

6. p ^ q ` r ! p

7. p ! q ! r ` (p ^ q) ! r 8. p ! q ! r ` q ! p ! r 9. p !` ¬(p ^ ¬q)

10. p ! (q _ r ) ` ¬r ! (¬q ! ¬p) 11. p _ q, p ! r , ¬s ! ¬p ` r _ s

12. ` p _ ¬p (sans utiliser la r`egle LEM !)

n

|= .

Th´eor`eme (Compl´etude)

RAA :reductio ad absurdum. Cela s’appelle encore un raisonnement par l’absurde ou par contradiction. ¬¬

1, . . . ,

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)

n

` .