TRIPLE TRUTH TABLE
Write code which prints a truth table involving 3 boolean variables,
to prove the larger DeMorgan's law:
!(a | b | c) == !a & !b & !c
// Does truth table of Big DeMorgan
// Using a while-true-break loop
boolean a, b, c;
a = false;
while (true) {
b = false;
while (true) {
c = false;
while (true) {
System.out.print (a + "\t");
System.out.print (b + "\t");
System.out.print (c + "\t");
System.out.print (!(a | b | c) + "\t");
System.out.println ( !a & !b & !c);
if (c) break;
c = ! c;
}//end while c
if (b) break;
b = ! b;
}//end while b
if (a) break;
a = ! a;
}//end while a
false
false
false
false
true
true
true
true
false
false
true
true
false
false
true
true
true
false
false
false
false
false
false
false
true
false
false
false
false
false
false
false // Does truth table of Big DeMorgan
// Using a loop: do while
boolean a, b, c;
boolean left, right;
a = false;
do {
b = false;
do {
c = false;
do {
left = !(a | b | c);
right= !a & !b & !c;
System.out.print (a + "\t");
System.out.print (b + "\t");
System.out.print (c + “\t”);
System.out.print (left + " ");
System.out.println(right);
c = ! c; }
while (c);
b = ! b; }
while (b) ;
a = ! a; }
while (a);
false
false
false
false
true
true
true
true
false
false
true
true
false
false
true
true
true true
false false
false false
false false
false false
false false
false false
false false
// Does truth table of Big DeMorgan
// Using no loops; just brute enumeration
boolean a, b, c;
boolean T = true, F = false;
System.out.println (“Equal”);
a = F; b = F; c = F;
System.out.println ( !(a | b | c) == (!a & !b & !c) );
a = F; b = F; c = T;
System.out.println ( !(a | b | c) == (!a & !b & !c) );
a = F; b = T; c = F;
System.out.println ( !(a | b | c) == (!a & !b & !c) );
a = F; b = T; c = T;
System.out.println ( !(a | b | c) == (!a & !b & !c) );
a = T; b = F; c = F;
System.out.println ( !(a | b | c) == (!a & !b & !c) );
a = T; b = F; c = T;
System.out.println ( !(a | b | c) == (!a & !b & !c) );
a = T; b = T; c = F;
System.out.println ( !(a | b | c) == (!a & !b & !c) );
a = T; b = T; c = T;
System.out.println ( !(a | b | c) == (!a & !b & !c) );
Output
Equal
true
true
true
true
true
true
true
true