Introduction à la logique

publicité
Informatique théorique
Introduction à la logique
La logique peut servir à formaliser le raisonnement humain, les sciences ou à démontrer des
théories. Il faut cependant ce montré méfiant face à un raisonnement pouvant sembler logique,
comme avec le syllogisme par exemple :
Tous les hommes sont mortels.
Ce qui est rare est cher.
Socrate est un homme.
Un 4x4 bon marché est rare.
Donc Socrate est mortel.
Donc un 4x4 bon marché est cher.
 Le problème vient du quantificateur qui n’a pas été précisé (« Ce », « tout »), le
raisonnement peut également être erroné si l’assertion de départ est fausse.
Rappels :
∨
OU
^
ET
⇒ IMPLICATION
¬ NEGATION
Pour démontrer quelque chose on peut remplacer les axiomes (proposition indémontrable,
utilisée comme base d’un raisonnement) d’un problème par des lettes et utiliser un procédé de
démonstration syntaxique déductif noté |-.
P ∨ T, P ⇒ Q
Q∨T
ou
P ∨ T, P ∨ Q |- Q ⇒ T
"Q∨T se déduit syntaxiquement de P ∨ T et P ⇒ Q"
Si la preuve syntaxique est vraie, le raisonnement n’est vrai que si les axiomes sont vrais
dans le contexte (où les preuves s’appliquent).
 Il faut prouver dans le monde réel une façon de raisonner (sémantique) et démontrer
dans le monde logique avec des règles (syntaxe).
Exemples/TD F0 :
Vrai ou faux ?
1. Si x est un nombre pair alors x + 1 est un nombre impair.
Soit pair(x) ⇒ impair(x+1)
Vrai, si on est dans le contexte où « + » signifie addition.
2. Si x est un nombre pair alors x + 1 est un nombre pair.
Faux, si dans le même contexte (incompatible avec le 1.).
3. Si la lune est verte à pois bleus alors 3 = 2.
Vrai, dans le contexte où la lune n’est pas verte (voir table de vérité).
Tables de vérité
A
B
A⇒B
¬A∨B
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
On voit que si A est faux alors A implique B est toujours vrai.
A⇒B
¬A∨B
Une table de vérité « grossit » très vite, pour x axiomes on a 2x lignes.
Forme normale
Conjonctions ou disjonctions, avec éventuellement des négations mais
uniquement sur une variable (pas d’imbrications) :
Passage en forme normale de :
1. ¬ ((((A ⇒ B) ∨ C) ^ A) ∨ (D ^ ¬ C)) ^ B
Illogique, donc
¬ (((¬ A ∨ B ∨ C) ^ A) ∨ (D ^ ¬ C)) ^ B
Voir table de vérité
on retire
¬ (((A ^ ¬ A) ∨ (A ^ B) ∨ (A ^ C) ∨ (D ^ ¬ C)) ^ B Distributivité
(¬ A ∨ ¬ B) ^ (¬ A ∨ ¬ C) ^ (¬ D ∨ C) ^ B
Négation
On peut même simplier, vu que B est forcément vraie (^ B), ¬ B
devient illogique :
(¬ A ∨ ¬ B) ^ (¬ A ∨ ¬ C) ^ (¬ D ∨ C) ^ B
¬ A ^ (¬ A ∨ ¬ C) ^ (¬ D ∨ C) ^ B
Vu qu’on a ¬A
¬ A ^ (¬ D ∨ C) ^ B
(A  B) (A ⇒ B) ^ (B ⇒ A)
(¬A ∨ B) ^ (¬B ∨ A)
2. (A  B) ∨ ¬((C ^ D) ∨ (¬D ∨ A))
(A  B) ∨ ((¬ C ∨ ¬D) ^ (D ^ ¬ A))
((A  B) ∨ (¬ C ∨ ¬D)) ^ ((A  B) ∨ (D ^ ¬ A))
(((¬A ∨ B) ^ (¬B ∨ A)) ∨ (¬ C ∨ ¬D)) ^ (((¬A ∨ B) ^ (¬B ∨ A)) ∨
(D ^ ¬ A))
((¬A ∨ B) ∨ (¬ C ∨ ¬D)) ^ ((¬B ∨ A) ∨ (¬ C ∨ ¬D)) ^ ((¬A ∨ B) ∨
(D ^ ¬ A)) ^ (¬B ∨ A) ∨ (D ^ ¬ A))
(¬A ∨ B ∨ ¬C ∨ ¬D) ^ (¬B ∨ A ∨ ¬C ∨ ¬D) ^ (¬A ∨ B ∨ D) ^ (¬A
∨ D ∨ ¬A) ^ (¬B ∨ A ∨ D) ^ (¬B ∨ A ∨ ¬A)
Chercher la princesse
On a deux cellules, il faut en ouvrir une. Dans chaque cellule il y a soit un tigre, soit une
princesse. Sur chaque porte de cellule il y a un écriteau (E1 sur la cellule 1 et E2 sur la cellule
2) où est inscrit :
- E1 : il y a au moins une princesse
- E2 : il y a une princesse dans l’autre cellule
On sait que :
- s’il y a une princesse dans la cellule 1 alors E1 est vrai (A1)
- s’il y a un tigre dans la cellule 1 alors E1 est faux (A2)
- s’il y a une princesse dans la cellule 2 alors E2 est faux (A3)
- s’il y a un tigre dans la cellule 2 alors E2 est vrai (A4)
Hypothèse 1 :
Hypothèse 2 :
Hypothèse 3 :
Hypothèse 4 :
C1 : T
E1 est faux
⇒Il n’y a pas de princesse
C1 : T
E1 est faux
⇒Il n’y a pas de princesse
C1 : P
≠
E1 est vrai
⇒Il y a une princesse
C1 : P
E1 est vrai
⇒Il y a une princesse
C2 : P
≠ Contradiction
≠
C2 : T
E2 est vrai
⇒Il y a une princesse dans C1
C2 : P
E2 est faux
⇒Il n’y a pas une princesse dans C1
C2 : T
E2 est vrai
⇒Il y a une princesse dans C1
La bonne hypothèse est la 4ème, cependant on ne peut pas gérer chaque hypothèse pour tous les
problèmes, si on avait ne serait-ce que 5 cellules le nombre d’hypothèse sera colossale.
Formalisation :
Dans chaque cellule, il y a soit un tigre, soit une princesse correspond à :
A ⇒ B ¬A ∨ B
A0 : (TC1 ∨ PC1) ^ ¬(TC1 ^ PC1) ^ (TC2 ∨ PC2) ^ ¬(TC2 ^ PC2)
On a alors :
A1 :
PC1 ⇒ PC1 ∨ PC2
¬PC1 ∨ (PC1 ∨ PC2)
¬TC1 ∨ ¬(PC1 ∨ PC2)
A2 :
TC1 ⇒ ¬ (PC1 ∨ PC2)
¬PC2 ∨ ¬PC1
A3 :
PC2 ⇒ ¬PC1
¬TC2 ∨ PC1
A4 :
TC2 ⇒ PC1
Si TC1 ¬PC1 et TC2 ¬PC2 :
A0 : (¬PC1 ∨ PC1) ^ ¬(¬PC1 ^ PC1) ^ (¬PC2 ∨ PC2) ^ ¬(¬PC2 ^ PC2)
Vrai
Vrai
Vrai
Vrai
Vu que A0 est vrai on peut considérer que TC1 ¬PC1 et TC2 ¬PC2
On remplace alors dans les axiomes :
A1 :
TC1 ∨ (¬TC1 ∨ ¬TC1)
PC1 ∨ ¬(PC1 ∨ PC2)
PC1 ∨ (¬PC1 ^ ¬PC2)
A2 :
(PC1 ∨ ¬PC1) ^ (PC1 ∨¬PC2)
PC1 ∨¬PC2
A3 :
¬PC2 ∨ ¬PC1
¬TC2 ∨ PC1
A4 :
PC2∨ PC1
On a donc :
(PC1 ∨¬PC2) ^ (¬PC2 ∨ ¬PC1) ^ (PC2∨ PC1)
(PC1 ∨¬PC2) ^ (¬PC2 ∨ ¬PC1) ^ (PC2∨ PC1)
PC1 ^ ¬PC2 ^ PC1
PC1 ^ ¬PC2
PC1 ^ TC2
Vrai tout le temps on peut l’ignorer
Factorisation
On choisit PC1
Finalement on a bien PC1 ^ TC2 soit une princesse dans la cellule 1 et un tigre dans la 2 comme
dans la première résolution.
On aurait très bien pu choisir ¬PC2 dans la simplification finale :
(PC1 ∨¬PC2) ^ (¬PC2 ∨ ¬PC1) ^ (PC2∨ PC1)
(PC1 ∨¬PC2) ^ (¬PC2 ∨ ¬PC1) ^ (PC2∨ PC1)
¬PC2 ^ ¬PC2 ^ PC1
Téléchargement