Skip to content

Exercice 1 : Tables de vérité

Problème guidé : Analyse sémantique et normalisation de formules par tables de vérité

Section titled “Problème guidé : Analyse sémantique et normalisation de formules par tables de vérité”

Matière : Informatique (Filière MP2I)
Chapitre: ** Logique propositionnelle et Logique de Hoare
Thème : Tables de vérité, équivalence logique et formes normales


Dans le cadre des épreuves d’informatique en CPGE MP2I, la maîtrise de la logique propositionnelle est fondamentale tant pour la vérification de programmes (correction, logique de Hoare) que pour la conception de circuits combinatoires.

Ce problème propose d’étudier l’évaluation de formules propositionnelles, de construire et d’exploiter leurs tables de vérité, puis d’aborder des notions de formes normales et de satisfaisabilité, tout en adoptant la rigueur exigée aux concours.


Partie I : Préliminaires et Définitions (15 minutes)

Section titled “Partie I : Préliminaires et Définitions (15 minutes)”

Soit P\mathcal{P} un ensemble de variables propositionnelles. On considère les connecteurs logiques usuels : la négation (¬\neg), la conjonction (∧\land), la disjonction (∨\lor), l’implication (→\to) et l’équivalence (↔\leftrightarrow).

  1. Rappel de cours : Définir formellement ce qu’est une tautologie et une formule satisfaisable.
  2. Implication matérielle : Exprimer la formule P→QP \to Q en utilisant uniquement les connecteurs ¬\neg et ∨\lor. Justifier à l’aide d’une table de vérité que (P→Q)≡(¬P∨Q)(P \to Q) \equiv (\neg P \lor Q).
  1. Une formule ϕ\phi est une tautologie si elle est évaluée à Vrai\text{Vrai} (ou 11) pour toutes les affectations possibles de ses variables propositionnelles. Elle est satisfaisable s’il existe au moins une affectation pour laquelle ϕ\phi s’évalue à Vrai\text{Vrai}.
  2. Table de vérité de P→QP \to Q et ¬P∨Q\neg P \lor Q :
PPQQ¬P\neg PP→QP \to Q¬P∨Q\neg P \lor Q
VVFVV
VFFFF
FVVVV
FFVVV

Les colonnes de P→QP \to Q et ¬P∨Q\neg P \lor Q sont strictement identiques, ce qui prouve l’équivalence logique.


Partie II : Étude d’une formule complexe (30 minutes)

Section titled “Partie II : Étude d’une formule complexe (30 minutes)”

On considère la formule Φ\Phi à trois variables propositionnelles P,Q,RP, Q, R définie par : Φ=((P∧Q)→R)∧(P→(Q→R))\Phi = ((P \land Q) \to R) \land (P \to (Q \to R))

  1. Construction de la table de vérité :
    Reproduire et compléter la table de vérité de Φ\Phi pour toutes les 23=82^3 = 8 lignes possibles.

  2. Exploitation :

    • La formule Φ\Phi est-elle une tautologie ? Une antilogie (contradiction) ? Justifier.
    • Donner la Forme Normale Disjonctive (FND) de Φ\Phi directement à partir de sa table de vérité.
  1. Table de vérité de Φ\Phi :
LignePPQQRRP∧QP \land Q(P∧Q)→R(P \land Q) \to RQ→RQ \to RP→(Q→R)P \to (Q \to R)Φ\Phi
1VVVVVVVV
2VVFVFFFF
3VFVFVVVV
4VFFFVVVV
5FVVFVVVV
6FVFFVFVV
7FFVFVVVV
8FFFFVVVV
  1. Exploitation :
    • Φ\Phi n’est pas une tautologie car la ligne 2 donne la valeur Faux\text{Faux}. Elle est cependant satisfaisable (lignes 1, 3, 4, 5, 6, 7, 8).
    • La Forme Normale Disjonctive (FND) s’obtient en disjoignant les minterms pour lesquels Φ\Phi vaut Vrai\text{Vrai} : ΦFND=(P∧Q∧R)∨(P∧¬Q∧R)∨(P∧¬Q∧¬F)∨(¬P∧Q∧R)∨(¬P∧Q∧¬R)∨(¬P∧¬Q∧R)∨(¬P∧¬Q∧¬R)\Phi_{\text{FND}} = (P \land Q \land R) \lor (P \land \neg Q \land R) \lor (P \land \neg Q \land \neg F) \lor (\neg P \land Q \land R) \lor (\neg P \land Q \land \neg R) \lor (\neg P \land \neg Q \land R) \lor (\neg P \land \neg Q \land \neg R) Remarque de simplification : On observe que Φ\Phi est fausse si et seulement si P et Q et ¬RP \text{ et } Q \text{ et } \neg R. Par conséquent, par loi de De Morgan, Φ≡¬(P∧Q∧¬R)≡¬P∨¬Q∨R\Phi \equiv \neg(P \land Q \land \neg R) \equiv \neg P \lor \neg Q \lor R.

Partie III : Connexion avec la Logique de Hoare (15 minutes)

Section titled “Partie III : Connexion avec la Logique de Hoare (15 minutes)”

En programmation impérative, on s’intéresse à la validité de triplets de Hoare {P}S{Q}\{P\} S \{Q\}. Supposons que l’on souhaite vérifier si l’affirmation logique suivante est un invariant valide dans un contexte d’affectation : Soit II la condition (x>0)(x > 0). Après l’exécution de l’instruction x:=x+1x := x + 1, la condition post-exécutée est x>1x > 1.

  1. Traduire cette condition de validité sous forme d’une implication logique entre les propositions.
  2. Évaluer cette implication à l’aide d’un raisonnement sémantique inspiré des tables de vérité (ou analyse de cas sur le domaine entier, assimilable ici à un univers fini pour les tests de borne).
  1. D’après la règle d’affectation de Hoare, la condition préalable la plus faible (wp) pour l’instruction x:=x+1x := x + 1 garantissant x>1x > 1 est (x+1)>1(x + 1) > 1, c’est-à-dire x>0x > 0. L’implication à vérifier est donc : (x>0)→(x>1) est-elle une tautologie ?(x > 0) \to (x > 1) \text{ est-elle une tautologie ?}
  2. Analyse critique : Si l’on teste cette proposition pour x=0.5x = 0.5 (dans R\mathbb{R}) ou x=0x = 0 (dans Z\mathbb{Z}), par exemple pour x=0x = 0, la prémisse 0>00 > 0 est Faux\text{Faux}, donc l’implication (0>0)→(0>1)(0 > 0) \to (0 > 1) est évaluée à Vrai\text{Vrai} (principe de l’implication matérielle : le faux implique n’importe quoi). Cependant, si x=0x = 0, la prémisse de notre triplet initial II était x>0x > 0. Si x=0x = 0, II est faux. Si x=1x = 1, 1>01 > 0 est Vrai\text{Vrai}, et l’affectation donne x=2x = 2, ce qui vérifie bien 2>12 > 1. L’implication générale Ppre→wp(S,Ppost)P_{\text{pre}} \to wp(S, P_{\text{post}}) est ici validée.

Analyse critique des résultats et pièges à éviter (Conseils de l’examinateur)

Section titled “Analyse critique des résultats et pièges à éviter (Conseils de l’examinateur)”
  1. Piège classique sur l’implication : Ne jamais oublier qu’une implication P→QP \to Q est fausse uniquement dans le cas où PP est vrai et QQ est faux. Une erreur fréquente des candidats en concours est de considérer qu’une implication est fausse lorsque la prémisse est fausse.
  2. Complexité des tables de vérité : Pour nn variables, une table de vérité comporte 2n2^n lignes. Sa construction exhaustive est inefficace en complexité temporelle (O(2n)\mathcal{O}(2^n)). C’est pourquoi, dès que n>4n > 4, les examinateurs privilégient l’utilisation de lois algébriques (Idempotence, Associativité, Distributivité, De Morgan) plutôt que le développement brutal par table de vérité, sauf mention explicite du sujet.