Ce que vous décrivez est l'exhaustivité fonctionnelle .
Ceci décrit un ensemble d'opérateurs logiques qui sont suffisants pour "exprimer toutes les tables de vérité possibles". Votre ensemble d'opérateurs Java, { ||
, !
}, est suffisant; il correspond à l'ensemble {∨, ¬}, qui est répertorié dans la section "Ensembles d'opérateurs fonctionnellement minimaux".
L'ensemble de toutes les tables de vérité signifie tous les ensembles possibles de 4 valeurs booléennes qui peuvent être le résultat d'une opération entre 2 valeurs booléennes. Puisqu'il y a 2 valeurs possibles pour un booléen, il y a 2 4 ou 16 tables de vérité possibles.
A B | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
----+------------------------------------------------
T T | T T T T T T T T F F F F F F F F
T F | T T T T F F F F T T T T F F F F
F T | T T F F T T F F T T F F T T F F
F F | T F T F T F T F T F T F T F T F
Voici un tableau des numéros de table de vérité (0-15), les combinaisons ||
et !
qui le produisent, et une description.
Table | Operation(s) | Description
-------+----------------------------------+-------------
0 | A || !A | TRUE
1 | A || B | OR
2 | A || !B | B IMPLIES A
3 | A | A
4 | !A || B | A IMPLIES B
5 | B | B
6 | !(!A || !B) || !(A || B) | XNOR (equals)
7 | !(!A || !B) | AND
8 | !A || !B | NAND
9 | !(A || !B) || !(!A || B) | XOR
10 | !B | NOT B
11 | !(!A || B) | NOT A IMPLIES B
12 | !A | NOT A
13 | !(A || !B) | NOT B IMPLIES A
14 | !(A || B) | NOR
15 | !(A || !A) | FALSE
Il existe de nombreux autres ensembles fonctionnellement complets, y compris les ensembles d'éléments {NAND} et {NOR}, qui n'ont pas d'opérateurs uniques correspondants en Java.