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.
Socrate est un homme.
Donc Socrate est mortel.
Ce qui est rare est cher.
Un 4x4 bon marché est rare.
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
"QT 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
A B
¬ A B
1
1
1
1
0
0
0
1
1
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
¬ (((¬ A B C) ^ A) (D ^ ¬ C)) ^ B Voir table de vérité
¬ (((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
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 :
C1 : T
E1 est faux
Il n’y a pas de princesse
C2 : P
Contradiction
Hypothèse 2 :
C1 : T
E1 est faux
Il n’y a pas de princesse
C2 : T
E2 est vrai
Il y a une princesse dans C1
Hypothèse 3 :
C1 : P
E1 est vrai
Il y a une princesse
C2 : P
E2 est faux
Il n’y a pas une princesse dans C1
Hypothèse 4 :
C1 : P
E1 est vrai
Il y a une princesse
C2 : T
E2 est vrai
Il y a une princesse dans C1
Illogique, donc
on retire
(A B) (A B) ^ (B A)
(¬A B) ^ (¬B A)
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 à :
A0 : (TC1 PC1) ^ ¬(TC1 ^ PC1) ^ (TC2 PC2) ^ ¬(TC2 ^ PC2)
On a alors :
A1 :
PC1 PC1 PC2
¬PC1 (PC1 PC2)
A2 :
TC1 ¬ (PC1 PC2)
¬TC1 ¬(PC1 PC2)
A3 :
PC2 ¬PC1
¬PC2 ¬PC1
A4 :
TC2 PC1
¬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)
Vrai tout le temps on peut l’ignorer
A2 :
PC1 ¬(PC1 PC2)
PC1 PC1 ^ ¬PC2)
(PC1 ¬PC1) ^ (PC1 ¬PC2)
PC1 ¬PC2
Factorisation
A3 :
¬PC2 ¬PC1
A4 :
¬TC2 PC1
PC2 PC1
On a donc :
(PC1 ¬PC2) ^ (¬PC2 ¬PC1) ^ (PC2 PC1)
(PC1 ¬PC2) ^ (¬PC2 ¬PC1) ^ (PC2 PC1) On choisit PC1
PC1 ^ ¬PC2 ^ PC1
PC1 ^ ¬PC2
PC1 ^ TC2
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
A B ¬A B
1 / 3 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 !