Chapitre 117 minDébutant
Propositions, connecteurs et tables de vérité
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- reconnaître une proposition et donner sa valeur de vérité ;
- utiliser la négation, la conjonction, la disjonction et le ou exclusif ;
- dresser la table de vérité d'une formule à deux ou trois variables ;
- appliquer les priorités des connecteurs et repérer une tautologie.
6 exercices corrigés1 schéma
Une proposition logique est un énoncé qui est soit vrai, soit faux, jamais les deux. Les connecteurs logiques (non, et, ou, ou exclusif) combinent des propositions pour en former de nouvelles, et une table de vérité donne la valeur du résultat pour chaque combinaison possible de valeurs. Ce chapitre pose ces trois outils, sur lesquels repose tout le reste du cours.
C'est quoi une proposition logique ?
Une proposition est une phrase déclarative dont on peut dire, sans ambiguïté, si elle est vraie ou fausse. Cette réponse s'appelle sa valeur de vérité : V (vrai) ou F (faux). En informatique et dans la suite du cours, on écrit aussi 1 pour vrai et 0 pour faux.
| Énoncé | Proposition ? | Valeur de vérité |
|---|---|---|
| « Le port 22 est le port par défaut de SSH. » | Oui | V |
| « 192.168.1.300 est une adresse IPv4 valide. » | Oui | F (un octet ne dépasse pas 255) |
| « 1011 en binaire vaut 11 en décimal. » | Oui | V (8 + 2 + 1 = 11) |
| « Redémarre le serveur. » | Non : c'est un ordre | Aucune |
| « Le serveur est-il à jour ? » | Non : c'est une question | Aucune |
| « x est supérieur à 5. » | Non tant que x n'est pas connu | Dépend de x |
La dernière ligne est importante. « x > 5 » n'est ni vrai ni faux tant qu'on ne sait pas ce que vaut x : c'est un prédicat, une phrase à trou qui devient une proposition dès qu'on remplace x par une valeur (« 7 > 5 » est vraie, « 2 > 5 » est fausse). Les prédicats ont leur propre chapitre : calcul des prédicats et quantificateurs.
Le calcul propositionnel repose sur deux principes que tu appliques sans y penser :
- non-contradiction : une proposition n'est jamais vraie et fausse à la fois ;
- tiers exclu : une proposition est toujours vraie ou fausse, il n'y a pas de troisième valeur.
On désigne une proposition quelconque par une lettre majuscule : P, Q, R. Ces lettres sont des variables propositionnelles : chacune peut valoir V ou F, et le but du calcul est de savoir ce que vaut une formule pour chaque cas.
La négation : non P
La négation de P, notée non P, ¬P ou P̅ (P surmonté d'une barre), est vraie quand P est fausse et fausse quand P est vraie.
| P | ¬P |
|---|---|
| V | F |
| F | V |
Nier une proposition, c'est écrire son contraire exact, pas son opposé intuitif.
- La négation de « le disque est plein » est « le disque n'est pas plein », pas « le disque est vide ».
- La négation de « x > 5 » est « x ≤ 5 », pas « x < 5 » : le cas x = 5 doit rester couvert.
- La négation de « le mot de passe fait au moins 12 caractères » est « le mot de passe fait au plus 11 caractères ».
La conjonction : P et Q
La conjonction de P et Q, notée P et Q ou P ∧ Q, est vraie seulement quand P et Q sont vraies toutes les deux.
| P | Q | P ∧ Q |
|---|---|---|
| V | V | V |
| V | F | F |
| F | V | F |
| F | F | F |
Exemple : un compte peut se connecter si « le mot de passe est correct » et « le compte n'est pas verrouillé ». Une seule condition fausse suffit à refuser la connexion.
La disjonction : P ou Q
La disjonction de P et Q, notée P ou Q ou P ∨ Q, est vraie dès qu'au moins une des deux propositions est vraie. Elle n'est fausse que si P et Q sont fausses toutes les deux.
| P | Q | P ∨ Q |
|---|---|---|
| V | V | V |
| V | F | V |
| F | V | V |
| F | F | F |
Ce « ou » est inclusif : il accepte le cas où les deux sont vraies. C'est celui des mathématiques et de tous les langages de programmation. Quand le site d'un hébergeur annonce « paiement par carte ou par virement », rien ne t'interdit d'avoir les deux moyens de paiement.
Le ou exclusif (XOR)
En français courant, « ou » est parfois exclusif : « fromage ou dessert » sur un menu veut dire l'un ou l'autre, pas les deux. Le ou exclusif, noté P ⊕ Q (en anglais XOR, exclusive or), est vrai quand exactement une des deux propositions est vraie.
| P | Q | P ⊕ Q |
|---|---|---|
| V | V | F |
| V | F | V |
| F | V | V |
| F | F | F |
Le ou exclusif n'est pas un connecteur de base : il s'écrit avec les autres. « Exactement un des deux » se dit « l'un ou l'autre, mais pas les deux » :
P ⊕ Q ≡ (P ∨ Q) ∧ ¬(P ∧ Q)
Il sert énormément en informatique : chiffrement, contrôle de parité, RAID 5. Ses propriétés sont détaillées au chapitre portes logiques, XOR, NAND et NOR.
Récapitulatif des notations
Chaque discipline a ses notations. Le programme du BTS demande de reconnaître les principales ; dans les sujets d'E3, la notation booléenne (dernière colonne mathématique) est la plus fréquente.
| Connecteur | Se lit | Logique | Algèbre de Boole | Python | C#, Java, JavaScript, PHP | SQL |
|---|---|---|---|---|---|---|
| Négation | non P | ¬P | a̅ | not p | !p | NOT p |
| Conjonction | P et Q | P ∧ Q | a · b ou ab | p and q | p && q | p AND q |
| Disjonction | P ou Q | P ∨ Q | a + b | p or q | p || q | p OR q |
| Ou exclusif | P ou exclusif Q | P ⊕ Q | a ⊕ b | p != q (booléens) | p ^ q (C#, Java) ; p !== q (JavaScript) ; $p xor $q (PHP) | p XOR q (MySQL) |
Construire une table de vérité pas à pas
Une formule est une combinaison de variables et de connecteurs, comme ¬P ∨ (P ∧ Q). Sa table de vérité donne sa valeur pour chaque combinaison de valeurs des variables. La méthode ne change jamais :
- Compter les lignes. Avec n variables, il y a 2ⁿ combinaisons : 4 lignes pour 2 variables, 8 pour 3, 16 pour 4. Chaque variable double le nombre de cas.
- Remplir les colonnes des variables dans un ordre systématique, pour n'oublier aucun cas. La méthode la plus sûre : compter en binaire de 000 à 111. La dernière variable alterne une ligne sur deux, l'avant-dernière deux lignes sur deux, la précédente quatre lignes sur quatre.
- Ajouter une colonne par sous-formule, de l'intérieur vers l'extérieur : d'abord les négations des variables, puis les parenthèses, puis la formule entière.
- Calculer colonne par colonne, en appliquant la table du connecteur à deux colonnes déjà remplies.
Exemple à deux variables : ¬P ∨ (P ∧ Q). Deux variables, donc quatre lignes. On calcule ¬P, puis P ∧ Q, puis la disjonction des deux colonnes obtenues.
| P | Q | ¬P | P ∧ Q | ¬P ∨ (P ∧ Q) |
|---|---|---|---|---|
| F | F | V | F | V |
| F | V | V | F | V |
| V | F | F | F | F |
| V | V | F | V | V |
La formule n'est fausse que sur la ligne P = V, Q = F. C'est exactement la table de l'implication P ⇒ Q, que tu verras au chapitre suivant : deux formules différentes peuvent avoir la même table.
Exemple à trois variables : (P ∨ Q) ∧ ¬R. Trois variables, donc huit lignes.
| P | Q | R | P ∨ Q | ¬R | (P ∨ Q) ∧ ¬R |
|---|---|---|---|---|---|
| F | F | F | F | V | F |
| F | F | V | F | F | F |
| F | V | F | V | V | V |
| F | V | V | V | F | F |
| V | F | F | V | V | V |
| V | F | V | V | F | F |
| V | V | F | V | V | V |
| V | V | V | V | F | F |
La formule est vraie sur trois lignes : celles où R est faux et où P ou Q est vrai.
Priorité des connecteurs
Comme × passe avant + en arithmétique, les connecteurs ont un ordre de priorité :
- la négation ¬ s'applique d'abord, à ce qui la suit immédiatement ;
- la conjonction ∧ ensuite ;
- la disjonction ∨ en dernier (et ⊕, ⇒, ⇔ après elle).
Ainsi ¬P ∧ Q se lit (¬P) ∧ Q, et P ∨ Q ∧ R se lit P ∨ (Q ∧ R). Ce n'est pas un détail : avec P vraie, Q fausse et R fausse, P ∨ (Q ∧ R) vaut V alors que (P ∨ Q) ∧ R vaut F.
Les langages de programmation suivent la même règle (not avant and avant or en Python, ! avant && avant || en C#, Java, JavaScript et PHP), comme SQL (NOT avant AND avant OR). Le piège classique en SQL :
-- Faux : se lit statut = 'ouvert' OR (statut = 'en cours' AND priorite = 'haute')
SELECT * FROM ticket WHERE statut = 'ouvert' OR statut = 'en cours' AND priorite = 'haute';
-- Juste : les tickets ouverts ou en cours, de priorité haute
SELECT * FROM ticket WHERE (statut = 'ouvert' OR statut = 'en cours') AND priorite = 'haute';
Tautologie, contradiction et formules équivalentes
Certaines formules ont une table de vérité particulière.
- Une tautologie est vraie sur toutes les lignes, quelles que soient les valeurs des variables. Exemple : P ∨ ¬P (« le serveur répond ou il ne répond pas »).
- Une contradiction (ou antilogie) est fausse sur toutes les lignes. Exemple : P ∧ ¬P.
- Une formule ni toujours vraie ni toujours fausse est dite contingente : c'est le cas de la plupart des formules, comme P ∧ Q.
| P | ¬P | P ∨ ¬P | P ∧ ¬P |
|---|---|---|---|
| V | F | V | F |
| F | V | V | F |
Deux formules sont logiquement équivalentes quand elles ont la même valeur de vérité sur chaque ligne de leur table. On le note avec ≡ (ou ⇔ entre les deux formules). Tu viens d'en voir un exemple : ¬P ∨ (P ∧ Q) ≡ P ⇒ Q. Démontrer une équivalence par une table de vérité est la méthode la plus sûre : tu calcules les deux colonnes et tu vérifies qu'elles sont identiques ligne par ligne.
Exercices
Exercice 1 sur 6 Proposition ou pas ? Réussi À revoir
Pour chaque énoncé, dis s'il s'agit d'une proposition. Si oui, donne sa valeur de vérité.
- « 255 s'écrit FF en hexadécimal. »
- « Ferme ta session avant de partir. »
- « Le masque 255.255.255.0 correspond à un préfixe /24. »
- « n est un nombre premier. »
- « 2³ = 6. »
- « Ce mot de passe est-il robuste ? »
Voir la réponseMasquer la réponse de l'exercice 1
- Proposition vraie : 255 = 15 × 16 + 15, et 15 s'écrit F.
- Pas une proposition : c'est un ordre.
- Proposition vraie : 255.255.255.0 compte 24 bits à 1.
- Pas une proposition tant que n n'est pas connu : c'est un prédicat. Avec n = 7, il devient une proposition vraie ; avec n = 9, une proposition fausse.
- Proposition fausse : 2³ = 8.
- Pas une proposition : c'est une question.
Tu avais trouvé ?
Exercice 2 sur 6 Table à deux variables Réussi À revoir
Dresse la table de vérité de ¬(P ∧ ¬Q). Que remarques-tu en la comparant à la table de ¬P ∨ (P ∧ Q) vue plus haut ?
Voir la réponseMasquer la réponse de l'exercice 2
| P | Q | ¬Q | P ∧ ¬Q | ¬(P ∧ ¬Q) |
|---|---|---|---|---|
| F | F | V | F | V |
| F | V | F | F | V |
| V | F | V | V | F |
| V | V | F | F | V |
La formule n'est fausse que pour P = V et Q = F, exactement comme ¬P ∨ (P ∧ Q). Les deux formules sont donc équivalentes, et toutes deux équivalentes à P ⇒ Q. « Il est faux que P soit vraie et Q fausse » est une autre façon de dire « si P, alors Q ».
Tu avais trouvé ?
Exercice 3 sur 6 Table à trois variables Réussi À revoir
Dresse la table de vérité de F = (P ∧ Q) ∨ (¬P ∧ R), puis décris en une phrase ce que vaut F selon la valeur de P.
Voir la réponseMasquer la réponse de l'exercice 3
| P | Q | R | ¬P | P ∧ Q | ¬P ∧ R | F |
|---|---|---|---|---|---|---|
| F | F | F | V | F | F | F |
| F | F | V | V | F | V | V |
| F | V | F | V | F | F | F |
| F | V | V | V | F | V | V |
| V | F | F | F | F | F | F |
| V | F | V | F | F | F | F |
| V | V | F | F | V | F | V |
| V | V | V | F | V | F | V |
Quand P est vraie, F a la valeur de Q (lignes 5 à 8) ; quand P est fausse, F a la valeur de R (lignes 1 à 4). F se lit donc « si P alors Q, sinon R » : c'est l'instruction Q if P else R de Python, ou l'opérateur ternaire P ? Q : R de C# et de JavaScript.
Tu avais trouvé ?
Exercice 4 sur 6 Priorités Réussi À revoir
On suppose P vraie, Q fausse et R vraie. Donne la valeur de chaque formule.
- ¬P ∨ Q ∧ R
- ¬(P ∨ Q) ∧ R
- P ∧ ¬Q ∨ ¬R
- ¬P ∨ ¬Q ∧ R
Voir la réponseMasquer la réponse de l'exercice 4
- Se lit (¬P) ∨ (Q ∧ R) = F ∨ (F ∧ V) = F ∨ F = F.
- ¬(V ∨ F) ∧ V = ¬V ∧ V = F ∧ V = F.
- Se lit (P ∧ ¬Q) ∨ ¬R = (V ∧ V) ∨ F = V ∨ F = V.
- Se lit (¬P) ∨ (¬Q ∧ R) = F ∨ (V ∧ V) = F ∨ V = V.
Tu avais trouvé ?
Exercice 5 sur 6 Ou inclusif ou exclusif ? Réussi À revoir
Dans chaque phrase, le « ou » est-il inclusif ou exclusif ? Écris la condition avec P et Q.
- « L'accès est accordé aux membres du service informatique ou aux administrateurs. » (P : membre du service informatique ; Q : administrateur)
- « Le poste démarre soit sur le disque interne, soit sur la clé USB. » (P : démarre sur le disque ; Q : démarre sur la clé)
- « Pour réinitialiser ton mot de passe, il faut ton adresse mail ou ton numéro de téléphone. » (P : tu donnes l'adresse ; Q : tu donnes le numéro)
Voir la réponseMasquer la réponse de l'exercice 5
- Inclusif : un administrateur qui est aussi au service informatique a évidemment accès. Condition : P ∨ Q.
- Exclusif : un poste démarre sur un seul support à la fois. Condition : P ⊕ Q, c'est-à-dire (P ∨ Q) ∧ ¬(P ∧ Q).
- Inclusif : donner les deux ne bloque rien. Condition : P ∨ Q.
Tu avais trouvé ?
Exercice 6 sur 6 Tautologie ? Réussi À revoir
Montre par une table de vérité que P ∨ ¬(P ∧ Q) est une tautologie.
Voir la réponseMasquer la réponse de l'exercice 6
| P | Q | P ∧ Q | ¬(P ∧ Q) | P ∨ ¬(P ∧ Q) |
|---|---|---|---|---|
| F | F | F | V | V |
| F | V | F | V | V |
| V | F | F | V | V |
| V | V | V | F | V |
La dernière colonne ne contient que des V : la formule est une tautologie. Explication : si P est vraie, la formule est vraie ; si P est fausse, P ∧ Q est fausse, donc ¬(P ∧ Q) est vraie.
Tu avais trouvé ?