|
Many Boolean Algebra problems can be
solved using more then one formula, just like most Algebra problems. For
example...

___________ D = A * (B + C) [given formula]
_ _______ _______ _ _ D = A
+ (B + C) [DeMorgan (A * B) = A + B] _ _
_ _______ _ _ D = A + (B * C)
[DeMorgan (A + B) = A * B] _ _ _ _ D =
(A + B) * (A + C) [A + (B * C) = (A + B) * (A +
C)] _______ _______ _______ _ _
D = (A * B) * (A * C) [DeMorgan (A * B) = A + B]
_________________ _______ _ _ D = (A * B) + (A *
C) [DeMorgan (A + B) = A * B]
Manipulation rule number 5 could have been
used to go from the first step to the last one in a single move. However, using
DeMorgan's Theorem, the problem turns into something that manipulation rule
number 6 can then be used on instead. DeMorgan's Theorem changes the logic of
the formula.
Boolean Algebra can also be used to
confirm the correct logic in a circuit. For example, take the following
case...

_____________ _______ C = (B + (A * B))
[given formula]
_ ======= _______ _ _ C = B * (A
* B) [DeMorgan (A + B) = A * B]
_ = C = B * (A * B) [A = A
{double negative}] _ C = (A * B) *
B [A * B = B * A] _ C = A * (B *
B) [(A * B) * C = A * (B * C)]
_ C = A * 0 [A * A = 0]
C = 0 [0 * A = 0]
Using Boolean Algebra, the above formula
is proven to always result in a logical 0 output. No matter what A and B are, C
is always a logical 0.
This next example is very important in
digital logic, and is often times called a logical function itself.

___________________ ======= _______ C = ((A *
B) + (A + B)) [given formula]
___________________ _______ =
C = ((A * B) + (A + B)) [A = A {double negative}]
_______ ======= _______ _ _ C =
(A * B) * (A + B) [DeMorgan (A + B) = A * B]
_______ = C = (A * B) * (A + B)
[A = A {double negative}] _ _
_______ _ _ C = (A + B) * (A + B) [DeMorgan (A * B) = A +
B] _ _ _ _ C = ((A + B) * A) +
((A + B) * B) [A * (B + C) = (A * B) + (A *
C)] _ _ _ _ C = (A * (A +
B)) + (B * (A + B)) [A * B = B * A] _
_ _ _ C = ((A * A) + (A * B)) + ((B * A) + (B *
B)) [A * (B + C) = (A * B) + (A * C)]
_ _ C = ((0 + (A * B)) + ((B *
A) + 0) _ [A
* A = 0] _ _ C = (A * B) + (B *
A) [0 + A = A]
This formula indicates that C is true if A
is true and B is false, or when B is true and A is false. This function is
called the XOR (exclusive OR). Remember that in an OR gate, one input true will
create a true output, and that if both inputs are true the output is still true.
The XOR function will give a false output if both inputs are true as well as
both false, and will only give a true output when the inputs are
different.
|