next up previous contents
Next: Boucles itératives Up: Eléments de logique propositionnelle Previous: Equivalences logiques

Tables de vérité

Pour étudier l'équivalence entre deux expressions logiques on utilise souvent les tables de vérité. Une table de vérité permet d'établir la valeur de vérité qui prend une expression logique, et ceci pour toutes les valeurs possibles des symboles qui en font partie.

Pour construire une table de vérité on dessine une colonne pour chaque variable qui apparaît dans l'expression, et une ligne pour chaque valeur possible qu'on peut donner aux variables. La dernière colonne correspond à à l'expression qui nous intresse et à la valeur de vérité. Nous notons true par t, et false par f.

Table de vérité du and:

p q p and q
t t t
t f f
f t f
f f f


Table de vérité du or:

p q p or q
t t t
t f t
f t t
f f f


Pour établir l'équivalence entre deux expressions e1 et e2 on construit une table de vérité où figurent toutes les variables présentes dans les deux expressions, plus une colonne pour chacune des expressions e1,e2. Si pour toutes les lignes de la table les valeurs données à e1 et e2 sont à chaque fois les mêmes, alors, les deux expression sont équivalentes. En effet, cela veut dire que e1, e2 prennent la valeur vrai ou faux, exactement dans les mêmes cas.

Exemple: établissons l'équivalence suivante:

not(p or q) $\quad \equiv \quad$ not(p) and not(q)

p q not(p or q) not(p) and not(q)
t t f f
t f f f
f t f f
f f t t


Chaque ligne dans cette table donne la même valeur aux deux expressions. En conclusion: elles sont équivalentes.

Quelques équivalences utiles:

1.
Anihilation

2.
Elément neutre

3.
Idempotence

4.
Lois DeMorgan

5.
Simplification

6.
Elimination de négations

7.
Distribution


Exercices:

Utilisez les lois d'équivalence logique et/ou de factorisation, pour simplifier les conditionnelles et/ou les conditions suivantes. Indiquez à chaque fois la loi utilisée. Signalez des problèmes éventuels (p.e: des intructions jamais exécutées).

1.
if a or not(a) then B;
else C; 
end if;

2.
if a = true then p:=true; 
else p:= false;
end if;

3.
if a = false then p:=true; 
else p:= false;
end if;

4.
if x >= a or x < a then B;
else C; 
end if;

5.
if a and not(a) then B;
else C;
end if;

6.
if x >= a and x < a then B;
else C; 
end if;

7.
if a and not(a) then B; end if;

8.
if a or not(a) then B; end if;

9.
(a < b) or ((a < b) and ( c = d))

10.
(a < b) and ((a < b) and ( c = d))

11.
(a < b) or ((a $\geq$ b) and ( c = d))

12.
(a < b) and ((a $\geq$ b) or ( c = d))


next up previous contents
Next: Boucles itératives Up: Eléments de logique propositionnelle Previous: Equivalences logiques
Maria-Viginia Aponte
2001-11-21