Cours-TD1 - Nicolas Baudru

publicité
Polytech Marseille
Formation HUGO
Petite introduction
à la logique propositionnelle
Exercice 1.
Mon boss m’a dit !
"Si tu ne termines pas ce programme avant vendredi,
tu n’auras pas de promotion cette année !"
Qu’a donc voulu dire mon boss ? Examinons cette phrase plus en détail. Il y
a trois éléments importants :
Si tu ne termines pas à temps
alors
tu n’auras pas de promotion
tu ne termines pas à temps implique tu n’auras pas de promotion
P
⇒
Q
La phrase "Tu ne termines pas à temps", notée P , est une proposition élémentaire ou assertion. C’est un énoncé pouvant prendre deux valeurs, vrai (V)
ou faux (F), appelées valeurs de vérité. On représente une assertion et ses
valeurs par une table de vérité :
P
V
F
"Tu n’auras pas de promotion", notée Q, est aussi une proposition prenant
comme valeur vrai ou faux. De nouvelles propositions, ou formules propositionnelles, peuvent être construites à partir d’une ou plusieurs propositions élémentaires à l’aide de connecteurs logiques. Par exemple, dans l’exemple précédent,
le symbole ⇒ représente l’implication. Elle relie logiquement deux propositions
1
(ici, élémentaires). L’ensemble P ⇒ Q constitue une nouvelle proposition qui
peut donc être vraie ou fausse, en fonction des valeurs des propositions P et Q
qui la constituent.
Par exemple, si P est vraie (i.e. si je n’ai pas terminé mon travail à temps) et
si Q est fausse (i.e. si j’ai eu une promotion), alors cela signifie que mon boss
n’a pas fait ce qui était annoncé : la formule P ⇒ Q est fausse.
Inversement, si P est vraie (i.e. si je n’ai pas terminé mon travail à temps) et
si Q est vraie (i.e. si je n’ai pas eu une promotion), alors cela signifie que mon
boss a fait ce qui était annoncé : la formule P ⇒ Q est vraie.
Il est intéressant de remarquer que si P est fausse (i.e. si j’ai terminé mon
travail à temps) et si Q est vraie (i.e. si je n’ai pas eu de promotion), alors la
formule P ⇒ Q est tout de même vraie. En effet, mon boss n’a rien promis
dans le cas où je termine à temps. Il m’a juste assuré de ne pas me donner de
promotion si je ne terminais pas à temps.
Au final les valeurs prisent par la proposition P ⇒ Q dépendent des valeurs
de P et Q. Elles peuvent être représentées par la table de vérité suivante :
P Q P ⇒Q
V
V
F
F
V
F
V
F
V
F
V
V
Ce tableau se lit ligne par ligne. Par exemple pour la première ligne, il faut lire :
si P et Q sont vraies, la proposition P ⇒ Q est vraie.
2
Nous venons de voir un premier connecteur logique, l’implication, notée ⇒ .
Un autre connecteur important est la négation (non). La négation inverse simplement les valeurs (i.e. le sens) d’une proposition. Par exemple, "non P ", notée
¬P signifie "tu termines à temps" et ¬Q signifie "tu auras une promotion". Pour
la proposition élémentaire précédente P , on obtient donc la table de vérité :
P ¬P
V
F
F
V
Plus généralement, si A est une formule alors ¬A est vraie lorsque A est
fausse, et inversement, ¬A est fausse lorsque A est vraie.
Question(s).
1. Donnez la table de vérité de la proposition ¬¬P .
2. Donnez la table de vérité de la proposition ¬(P ⇒ Q).
3. La négation, pourtant logiquement simple, est source de bon nombre d’erreurs de raisonnement. Par exemple, quelles sont les négations de
(a) ce lapin est blanc ;
(b) f est la fonction nulle ;
(c) x ≤ 0 ;
(d) Pierre possède un chien et un chat.
Exercice 2.
Boss, pouvez-vous reformuler ?
La dernière phrase de l’exercice précédant met en œuvre un nouveau connecteur logique, le "ET", noté ∧. Par exemple, considérons les deux propositions
suivantes :
R : "tu mangeras"
et
3
S : "tu boiras".
La table de vérité de la proposition R ∧ S est :
R S R∧S
V
V
F
F
V
F
V
F
V
F
F
F
Ce qui signifie que la proposition R ∧ S est vraie lorsque R et S sont simultanément vraies, et uniquement dans ce cas là. Deux autres connecteurs classiques
sont le "OU", noté ∨, et l’équivalence, notée ⇔. Comme pour l’implication, ce
sont des connecteurs binaires ce qui signifie qu’ils connectent deux formules. Il
existe trois significations au "OU" en français. Réfléchissez au sens de ces trois
phrases :
– Une serveuse au restaurant vous propose : "fromage ou dessert ?" (OU
exclusif)
– D’après une étude récente : "tout parent a une fille ou un garçon." (OU
inclusif)
– Une mère dit à son fils : "Mange ta soupe, ou tu seras puni !" (OU conditionnel)
En informatique et mathématiques, le symbole ∨ représente le "ou inclusif".
L’équivalence ⇔ entre deux propositions est vraie lorsque les deux propositions
prennent les mêmes valeurs simultanément.
Question(s).
1. Donnez la table de vérité du "ou inclusif", du "ou exclusif" et de l’équivalence.
2. Montrez à l’aide des tables de vérité que la proposition P ⇔ Q peut être
réécrite à partir de P et Q avec deux implications et un opérateur ET.
3. Montrez que la proposition P ⇒ Q est équivalente à la proposition ¬P ∨Q.
4
4. En déduire une reformulation de la phrase du boss.
Exercice 3.
Excès de colère
Les connecteurs peuvent bien sûr être imbriqués afin d’obtenir des formules
plus complexes. Par exemple, Q ∧ (R ∨ S) signifie
"tu n’auras pas de promotion et, aux choix, ou tu mangeras ou tu boiras."
Cette formule contient 5 sous-formules :
– les trois propositions élémentaires Q, R et S ;
– la proposition R ∨ S ;
– et la formule complète Q ∧ (R ∨ S) (toujours considérée comme une sousformule).
La table de vérité de cette formule est :
Q R S R ∨ S Q ∧ (R ∨ S)
V
V
V
V
F
F
F
F
V
V
F
F
V
V
F
F
V
F
V
F
V
F
V
F
V
V
V
F
V
V
V
F
V
V
V
F
F
F
F
F
Revenons à notre boss. Dans un excès de colère, il a crié :
P ⇒ (Q ∧ ¬R)
5
Question(s).
1. Que signifie en langage naturel cette proposition ?
2. Énumérez toutes les sous-formules de cette proposition ?
3. Donnez sa table de vérité.
Exercice 4.
Équivalences remarquables
Nous avons déjà vu que ¬¬P est équivalent à P . D’autres équivalences
remarquables sont les lois de Morgan
¬(P ∧ Q) ⇔ ¬P ∨ ¬Q et ¬(P ∨ Q) ⇔ ¬P ∧ ¬Q
et les règles de distributivité :
(P ∧ Q) ∨ R ⇔ (P ∨ R) ∧ (Q ∨ R) et (P ∨ Q) ∧ R ⇔ (P ∧ R) ∨ (Q ∧ R).
Question(s).
2. Vérifiez que les lois de Morgan sont bien vraies.
3. Vérifiez que les règles de distributivité sont bien vraies.
4. Montrez que l’implication est transitive.
5. En utilisant les lois de Morgan, montrez que P ⇒ Q et P ⇔ Q peuvent
s’écrire avec des ∨ et ¬ uniquement.
6. Vérifiez votre réponse à l’aide d’une table de vérité.
A partir de ces résultats, on peut se convaincre que tout énoncé peut s’écrire
en utilisant seulement les deux connecteurs logiques ∨ et ¬.
6
Exercice 5.
Forme normale
Un littéral est une proposition élémentaire ou la négation d’une proposition
élémentaire (ex : P ; ¬Q). Une clause est une disjonction de littéraux (ex : P ∨
¬Q ∨ R). Une forme normale conjonctive (CNF) est une conjonction de clauses
(ex : (P ∨ ¬Q ∨ R) ∧ (Q ∨ S)). Un cube est une conjonction de littéraux (ex :
P ∧ ¬Q ∧ R). Une forme normale disjonctive (DNF) est une disjonction de cube
(ex : (P ∧ ¬Q ∧ R) ∨ (Q ∧ S)).
Théorème 0.1 Toute proposition admet une proposition en forme normale conjonctive (CNF) qui lui est équivalente.
Toute proposition admet une proposition en forme normale disjonctive qui
lui est équivalente.
Voici l’algorithme permettant de transformer une proposition en CNF.
AlgoCNF
1. Éliminer les connecteurs ⇔ et ⇒.
2. Appliquer les lois de Morgan.
3. Éliminer les doubles négations.
4. Appliquer les règles de distributivité.
Question(s).
1. Précisez comment réaliser les différentes étapes de AlgoCNF.
2. Mettez sous forme CNF les propositions suivantes :
– ¬(A ∨ B ⇒ C)
– P ⇒ (Q ⇒ R)
7
– ¬((P ⇒ Q) ∧ (R ⇒ S)).
3. Donnez l’algorithme permettant de mettre une formule en DNF.
4. Testez votre algorithme sur les exemples précédents.
Exercice 6.
Interprétation et satisfaisabilité
Nous avons vu qu’une formule est une combinaison logique de formules
plus petites. Les propositions élémentaires sont aussi appelées des propositions atomiques. L’évaluation d’une proposition (i.e. une ligne dans sa table de
vérité) dépend uniquement des valeurs affectées aux propositions atomiques.
Une affectation à vrai ou faux de l’ensemble des propositions atomiques est
appelée une interprétation.
Par exemple, considérons la formule Q ∧ (R ∨ S) et sa table de vérité :
Q R S R ∨ S Q ∧ (R ∨ S)
V
V
V
V
F
F
F
F
V
V
F
F
V
V
F
F
V
F
V
F
V
F
V
F
V
V
V
F
V
V
V
F
V
V
V
F
F
F
F
F
Lorsqu’on interprète Q à vrai, R à faux et S à vrai, la formule Q∧(R∨S) s’évalue
à vrai. Lorsqu’on considère l’interprétation (Q = F, R = V, S = V ), la formule
Q ∧ (R ∨ S) devient fausse.
Une proposition est satisfaisable ou cohérente lorsqu’il existe une interprétation qui la rend vraie. Une proposition est insatisfaisable ou incohérente lorsqu’il
n’existe pas d’interprétations qui la rendent vraie (donc toute interprétation la
rend fausse). Une formule qui est vraie pour toute interprétation est appelé une
8
tautologie. Une formule qui est fausse pour toute interprétation est appelé une
antilogie. Clairement, la négation d’une tautologie est une antilogie. Des tautologies bien connues sont (P ∧ P ) ⇔ P et (P ∨ P ) ⇔ P , ou encore les lois de
Morgan ¬(P ∧ Q) ⇔ ¬P ∨ ¬Q et ¬(P ∨ Q) ⇔ ¬P ∧ ¬Q.
On peut généraliser ces définitions pour des ensembles E de formules : E
est satisfaisable ou cohérente lorsqu’il existe une interprétation qui rend toutes
les formules de E vraies. Une proposition est insatisfaisable ou incohérente
lorsqu’il n’existe pas d’interprétations qui rendent simultanément toutes les formules de E vraies.
Enfin on dit qu’une formule P est une conséquence logique de E si chaque
interprétation rendant toutes les formules de E vraies rend aussi P vraie. On
écrit alors E |= P .
Théorème 0.2 E |= P si, et seulement si, E ∪ {¬P } est incohérent.
Question(s).
1. Les formules suivantes sont elles cohérentes ?
– (A ∨ ¬B) ∧ (¬A ∨ B) ∧ ¬(A ⇔ B).
– P ⇒ (¬Q ⇒ ¬(P ⇒ Q)).
2. L’ensemble de formules {P ∨ Q ∨ R, ¬P ∨ Q, ¬P ∨ R, ¬Q, ¬R} est-il satisfiable ?
3. ¬P est-il conséquence logique de (P ⇒ Q) ∧ (P ⇒ ¬Q).
Peut-on décider "informatiquement" si une formule est satisfaisable ? C’est
ce que nous allons voir dans l’exercice suivant.
Exercice 7.
Méthode de résolution
Plusieurs algorithmes permettent de décider si une formule est satisfaisable
ou non. Nous présentons ici l’algorithme de résolution de J. A. Robinson. Son
principe est le suivant. Soient deux clauses C1 ∨ X et C2 ∨ ¬X de S, où les C1
9
et C2 sont des clauses de littéraux. Alors on peut générer la clause résolvante
C1 ∨ C2 . On a alors que {C1 ∨ X, C2 ∨ ¬X} |= C1 ∨ C2 . Autrement dit, toute
interprétation qui rend vraies à la fois C1 ∨ X et C2 ∨ ¬X rend vraies C1 ∨ C2 , et
inversement. Ou encore (C1 ∨ X) ∧ (C2 ∨ ¬X) est satisfaisable si, et seulement
si, C1 ∨ C2 est satisfaisable.
D’autre part, si S est un ensemble de clauses contenant une clause unitaire,
i.e. composée d’un seul littéral, alors nous pouvons supprimer les clauses comprenant ce littéral, et enlever le littéral opposé des autres clauses. Par exemple
si S = {A ∨ B ∨ C, A, ¬A ∨ ¬B, B ∨ C}, alors S contient la clause unitaire A. On
peut donc simplifier S en {¬B, B ∨ C}. Ce processus s’appelle la propagation
des clauses unitaires.
On peut alors élaborer l’algorithme de résolution suivant. En entrée, nous
considérons un ensemble de clauses S représentant la formule. En sortie l’algorithme détermine si la formule est satisfaisable, ou non.
AlgoSAT
début
tant que S change et que S ne contient pas la clause vide faire
– propager les clauses unitaires de S.
si il existe dans S deux clauses C1 ∨X et C2 ∨¬X permettant de construire
une nouvelle résultante C1 ∨ C2 non encore contenu dans S
alors ajouter la clause C1 ∨ C2 à S
fin tant que
si S contient la clause vide
alors retourner insatisfaisable
sinon retourner satisfaisable
fin
10
Question(s).
1. Utilisez cet algorithme pour décider si l’ensemble {P ∨Q∨R, ¬P ∨Q, ¬P ∨
R, ¬Q, ¬R} est satisfiable.
2. Même question avec la formule ¬((P ⇒ Q) ∧ (R ⇒ S)).
Exercice 8.
Make it yourself !
Question(s).
1. Entrainez-vous avec les exercices de Odile Papini, enseignante à Polytech
Marseille.
http://odile.papini.perso.luminy.univ-amu.fr/sources/
MASTER2-RE-TC/TD-log-prop.pdf
2. Lisez et comprenez le cours de Georges Koepfler (MCF à Paris 5) sur la
logique booléenne et les simplifications de formules logiques sous forme
normal conjonctive à l’adresse suivante :
http://www.math-info.univ-paris5.fr/~gk/NumLog/CM/NL_CM8.pdf
Illustrez chaque concept par un exemple de votre invention.
Références web
– http://www.pcsi1.bginette.com/MSA/Logique_V2.pdf
– http://odile.papini.perso.luminy.univ-amu.fr/sources/LOG/cours-LOG-odile-cours-2.
pdf
– http://odile.papini.perso.luminy.univ-amu.fr/sources/MASTER2-RE/op-A.pdf
11
Téléchargement