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