TP : autre salle que d’habitude ? ? Dispos.... MAT1500 1 of 35 Rappel. Soit P et Q deux formules logiques qui dépendent de propositions logiques p, q, r , . . .. On dit que P et Q sont logiquement équivalentes si P et Q ont toujours la même valeur de vérité, n’importe les valeurs de vérité des composantes p, q, r , . . .. On écrit P⇔Q Avec les équivalences on a le droit de manipuler algébriquement des formules logiques. MAT1500 2 of 35 Aussi : Il faut adopter les notations du cours ! Exemples : Il faut utiliser ¬p (et pas p). Et Vraie (ou V) et Fausse (ou F) (et pas 1 et 0). Et ⇔ (et pas ≡). Et pas confondre ⇔ et ↔. Et pas confondre ∨ et ∪, ou ∧ et ∩. Et ⇒ n’est pas défini encore, donc éviter d’utiliser. MAT1500 3 of 35 A propos des ( et ). Nous avons montré l’associativité : p ∨ (q ∨ r ) ⇔ (p ∨ q) ∨ r . Logiquement il n’y a pas de confusion possible : on a le droit d’écrire p ∨ q ∨ r . Aussi p ∧ q ∧ r est sans ambiguité. MAT1500 4 of 35 Mais p ∨ q ∧ r est ambigue ! Parce que (p ∨ q) ∧ r ou p ∨ (q ∧ r ) sont deux choses logiquement différentes (non-équivalentes). Nous ne posons pas de convention de priorité entre ∨ et ∧ ! Il faut continuer d’utiliser les (, ) dans ce cours ! MAT1500 5 of 35 Seulement : par convention ¬ aura plus haute priorité que les autres opérations logiques. Par exemple : ¬p → q veut dire (¬p) → q et non ¬(p → q). Ce sont les seules convention de ce cours a propos de priorité d’opérations logiques. Pour le reste il faut utliser les (, ). MAT1500 6 of 35 Une équivalence utilisée souvent : (P ↔ Q) ⇔ ((P → Q) ∧ (Q → P)) . En mots : P ↔ Q est vraie si et seulement si P → Q et sa réciproque Q → P sont vraies. Preuve par une vérification par tableau. P V V F F MAT1500 Q V F V F P↔Q V F F V P→Q V F V V Q→P V V F V ((P → Q) ∧ (Q → P)) V F F V 7 of 35 Deux autres exemples d’équivalence, très importante pour nous : (P → Q) ⇔ (¬Q → ¬P) (une implication est équivalente à sa contraposé) et (P → Q) ⇔ (¬P ∨ Q) Preuve : P V V F F MAT1500 Q V F V F P→Q V F V V ¬Q F V F V ¬P F F V V (¬Q) → (¬P) V F V V (¬P ∨ Q) V F V V 8 of 35 À la place d’utiliser un tableau pour vérifier une équivalence logique, on peut aussi utiliser les petites (ou grandes) équivalences déjà montrées, comme en algèbre. Un exemple suffit pour comprendre, peut-être. MAT1500 9 of 35 Disons P := ((¬q) ∧ (p ∨ r )) → p et Q := (p ∨ (q ∨ (¬r ))) sont équivalentes : P ⇔ (¬((¬q) ∧ (p ∨ r ))) ∨ p (Car (p → q) ⇔ ((¬p) ∨ q)) ⇔ (¬(¬q) ∨ ¬(p ∨ r ))) ∨ p (Selon De Morgan) ⇔ (q ∨ ¬(p ∨ r ))) ∨ p (Double négation) ⇔ (q ∨ ((¬p) ∧ (¬r ))) ∨ p (Selon De Morgan) ⇔ q ∨ (((¬p) ∧ (¬r )) ∨ p) (Assoc. pour ∨) ⇔ q ∨ (p ∨ ((¬p) ∧ (¬r ))) (comm. pour ∨) ⇔ q ∨ ((p ∨ (¬p)) ∧ (p ∨ (¬r ))) (Distrib.) ⇔ q ∨ (V ∧ (p ∨ (¬r ))) (Selon (p ∨ (¬p)) ⇔ V ) ⇔ q ∨ (p ∨ (¬r )) (Selon (V ∨ p) ⇔ p) ⇔ (q ∨ p) ∨ (¬r )(Assoc. de ∨) ⇔ (p ∨ q) ∨ (¬r ) (Commut. de ∨) ⇔ Q (Assoc. de ∨) MAT1500 10 of 35 L’algèbre (de Boole) est utilisé en programmation... Seulement les équivalences logiques simples sont utilisées dans les preuves mathématiques. Nous allons donner des exemple d’utilisation. MAT1500 11 of 35 Soient P et Q deux proposition logiques en mathématiques. Supposons on veut montrer : Théorème P→Q C.-à-d., on veut montrer que cette proposition logique P → Q est vraie. À cause d’une équivalence, il suffit de montrer que l’implication (¬Q → ¬P) est vraie (preuve indirecte), ou que la proposition (¬P ∨ Q) est vraie. Donc il y plusieurs façons de montrer le théorème. MAT1500 12 of 35 Preuve directe typique : Si P est fausse, l’implication P → Q est automatiquement vraie et il y aura rien à faire (Cette phrase est souvent omise). Supposons P est vraie. Puis (avec cette hypothèse et avec de l’aide des théorèmes déjà montrés), on montre que Q serait en conséquence aussi vraie. Ainsi on aura montré que P → Q est vraie. En math : si on écrit "On veut montrer P" ça veut dire "On veut montrer que la proposition logique P est vraie." MAT1500 13 of 35 Preuve indirecte typique : Il suffit de montrer la contraposé (¬Q) → (¬P). Si ¬Q est faux (c.-à-d., Q est vraie), l’implication est automatiquement vraie. (Cette phrase est souvent omise). Supposons Q est fausse. Puis (avec cette hypothèse et avec de l’aide des théorèmes déjà montrés), on montre que P sera aussi fausse. On aura montré que P → Q est vraie. Différence : avec une preuve directe on peut travailler avec l’hypothèse que P est vraie pour montrer qu’alors Q est aussi vraie. Avec une preuve indirecte on peut travailler avec l’hypothèse que Q est faux pour montrer qu’alors P est aussi faux. MAT1500 14 of 35 Fausse preuve typique : Il suffit de montrer (¬P) → (¬Q) est vraie. Si ¬P est faux (ou P est vraie), l’implication est automatiquement vraie. Supposons P est fausse. Puis (avec cette hypothèse et avec de l’aide des théorèmes déjà montrés), on montre que Q sera aussi fausse. On aura montré que P → Q est vraie. Une telle FAUSSE preuve est inacceptable (car P → Q n’est pas équivalent à ¬P → ¬Q !). Ca vaut 0 points dans un examen. On est averti ! (Ce qu’on montre en fait est la réciproque q → p). MAT1500 15 of 35 Revisitons l’exemple suivant. Proposition Soit A, B deux ensembles finis et F : A → B une fonction donnée par la notation "deux-lignes" (sans répétitions dans la première ligne). Cette fonction est injective si et seulement si chaque élément de B se trouve au maximum une fois sur la 2-ième ligne. MAT1500 16 of 35 Démonstration. Montrons par une preuve directe que l’hypothèse que chaque élément de B se trouve au maximum une fois sur la deuxième ligne implique que la conclusion que F est injective. Soient a et a0 des éléments de A tels que b = F (a) = F (a0 ). Ces deux éléments a et a0 se trouvent sur la première ligne, c’est à dire ils existent i et j tels que a = ai et a0 = aj et donc F (a) = F (ai ) = fi , F (a0 ) = f (aj ) = fj . Nous avons que b = fi = fj . Mais b se trouve au maximum une fois sur la 2-ième ligne. Ça veut dire i = j et donc a = ai = aj = a0 . Alors nous avons montré que F est injective (si chaque élément de B se trouve au maximum une fois sur la deuxième ligne). MAT1500 17 of 35 Démonstration. Nous allons montrer par une preuve indirecte que si on suppose que F est injective alors chaque élément de B se trouve au maximum une fois sur la deuxième ligne. Supposons b ∈ B se trouve au moins deux fois sur la 2-ième ligne, disons à positions i et j (i 6= j). Donc b = fi = fj . Mais fi = F (ai ) et fj = F (aj ), alors F (ai ) = F (aj ) et ai 6= aj . Donc F n’est pas injective. On conclut la preuve indirecte que si F est injective alors chaque élément de B se trouve au maximum une fois sur la deuxième ligne. Ça finit la preuve de la proposition. MAT1500 18 of 35 Analyse logique. P :=" La fonction F est injective " et Q :="Chaque élément de B se trouve au maximum une fois sur la 2-ième ligne". Il faut montrer P ↔ Q est vraie. Parce que (P ↔ Q) ⇔ ((P → Q) ∧ (Q → P)) il suffit de montrer que P → Q et Q → P sont vraies. On montre les deux implications. Q → P par une preuve directe et P → Q par une preuve indirecte. MAT1500 19 of 35 Pour la preuve Q → P : On suppose que Q est vraie. Sous sette hypothèse on montre que P n’est pas fausse, donc vraie. Donc sous l’hypothèse que Q est vraie, on a montré que P serait nécessairement vraie aussi. Ainsi Q → P est montré. Pour la preuve P → Q : On suppose que Q est fausse. Sous cette hypothèse que Q est fausse on montre que P est fausse aussi. Ainsi P → Q est montré. MAT1500 20 of 35 Il faut remarquer plus. Dans la preuve Q → P on suppose Q vraie. Puis on suppose P fausse. en utilisant ça on montre Q fausse. Mais Q ne peut pas être simultanément vraie et fausse : absurde, impossible ! Donc (sous l’hypothèse que Q vraie, ce n’est pas possible que P est fausse. Donc P vraie. Ceci est une preuve "par l’absurde" d’un sous-résultat (ou un lemme si vous voulez). MAT1500 21 of 35 Si en supposant qu’une proposition P soit fausse, on peut argumenter qu’une autre proposition est simultanément vraie et fausse (une contradiction). Dans ce cas P est nécessairement vraie ! ! C’est une preuve par l’absurde, ou une preuve par contradiction. MAT1500 22 of 35 Règles d’inférence Si P et Q sont deux formules logiques telles que P → Q est une tautologie, on dit que c’est une règle d’inférence et on écrit P⇒Q alors si P est vraie alors AUTOMATIQUEMENT aussi Q est vraie. Mais si P est fausse, nous ne pouvons rien conclure a propos Q. Par exemple, proposition logique : (p ∧ (p → q)) ⇒ q une règle d’inférence appelée classiquement modus ponens. MAT1500 23 of 35 Règles d’inférence déjà utilisés correctement par vous tous les jours : p ⇒ (p ∨ q) (p ∧ q) ⇒ p (p ∨ q) ∧ (¬p) ⇒ q. MAT1500 24 of 35 Un peu d’attention, mais bien "connues" aussi : (p ∧ (p → q)) ⇒ q (modus ponens) et (¬q ∧ (p → q) ⇒ ¬p (modus tollens) et (p → q) ∧ (q → r ) ⇒ (p → r ) (syllogisme par hypothèse) MAT1500 25 of 35 Pour montrer modus tollens, commençons avec modus ponens (p ∧ (p → q)) ⇒ q Faisons les substitutions p par ¬q et q par ¬p (on a le droit !) : (¬q ∧ (¬q → ¬p)) ⇒ ¬p. Puis utilisons l’équivalence logique (¬q → ¬p) ⇔ (p → q) nous obtenons modus tollens : (¬q ∧ (p → q) ⇒ ¬p. MAT1500 26 of 35 On peut combiner des règles d’inférence et les équivalences logiques : Si P ⇒ Q et Q ⇒ R alors aussi P ⇒ R. Et P ⇔ Q si et seulement si P ⇒ Q et Q ⇒ P. Exemple : [(p ∨ q) → r ] ⇔ (p → r ) ∧ (q → r ) implique la règle d’inférence [(p → r ) ∧ (q → r )] ⇒ [(p ∨ q) → r ] MAT1500 27 of 35 Preuve algébrique de l’équivalence logique [(p ∨ q) → r ] ⇔ (p → r ) ∧ (q → r ). [(p ∨ q) → r ] ⇔ ¬(p ∨ q) ∨ r ( Car p → q ⇔ ¬p ∨ q) ⇔ (¬p ∧ ¬q) ∨ r ( Par De Morgan) ⇔ (¬p ∨ r ) ∧ (¬q ∨ r ) ( Par distr.) ⇔ (p → r ) ∧ (q → r ) ( Car p → q ⇔ ¬p ∨ q) MAT1500 28 of 35 Qu’est-ce que vous en pensez : q → p est une sorte d’opposé de p → q (sa réciproque) et l’opposé de (q → p) est ¬(q → p) et donc p → q est la même chose que ¬(q → p). Ou, dans la langue de la semaine passée, ça semble que (p → q) ⇔ ¬(q → p). Raisonable ? Logique ? MAT1500 29 of 35 Vous avez des doutes ? Vérifions : p V V F F q V F V F p→q V F V V q→p V V F V ¬(q → p) F F V F (q → p) ↔ (¬(q → p)) F V V F NON, c’est une contre-vérité ! Il faut aiguiser le sens critique. En effet : q → p n’est pas l’opposé de p → q. MAT1500 30 of 35 Qu’est-ce que vous en pensez : E : "...... on a déjà montré que p implique q.... alors q est vraie et ......" P : "Non, on n’a pas le droit" E : "Mais, en supposant que p est vraie j’ai montré que q est vraie, n’est-ce pas ? Alors q est vraie, non ?" P : "Non !" MAT1500 31 of 35 On a p → q est vraie si p est fausse. Donc ça montre : (”0 = 1”) → "Dieu existe". Il suit que "Dieu existe" ? ! Non. Il suit que "Dieu n’existe pas" ? ! Non. MAT1500 32 of 35 Mais " .....on a montré p et que ça implique q, donc q est vraie ...." ou "...... on a déjà montré que p implique q, et p est vraie.... alors q est vrai et ......" est une raisonnement logique, basée sur la tautologie : (p ∧ (p → q)) → q (c.-à-d, toujours vraie, n’importe p et q). MAT1500 33 of 35 (p ∧ (p → q)) → q est une proposition logique toujours vraie, n’importe les propositions p et q. Preuve par tableau : p q p → q p ∧ (p → q) V V V V V F F F F V V F F F V F MAT1500 [p ∧ (p → q)] → q V V V V 34 of 35 Soit p(u) une fonction propositionnelle avec domaine de discours U. Rappelons : "∀u p(u)" est fausse si et seulement s’il existe au moins un u tel que p(u) est fausse. Traduction : ¬(∀u p(u)) ⇔ ∃u (¬p(u)) Et "∃u p(u)" est fausse si et seulement si pour chaque u on a que p(u) est fausse. Traduction : ¬(∃u p(u)) ⇔ ∀u (¬p(u)) MAT1500 35 of 35