What is Boolean algebra?
We’ve been doing arithmetic on base-10 numbers since grade school. We learned a few primitive operators—addition, subtraction, multiplication, division—and used them to manipulate operands. Digital logic follows the same idea in the base-2 realm. We can perform complex operations, like binary arithmetic, by chaining the primitive operators:
Operator | Operator Type | Rule | Examples | Algebraic Representation |
NOT | Unary | Invert the input | NOT 1 = 0 NOT 0 = 1 |
|
AND | Binary | True only if both operands are true; otherwise, false | 1 AND 1= 1 1 AND 0 = 0 |
|
OR | Binary | True if at least one of the operands is true; otherwise, false | 1 OR 1 = 1 1 OR 0 = 1 | |
NAND | Binary | Invert AND | 1 NAND 1 = 0 1 NAND 0 = 1 | |
NOR | Binary | Invert OR | 1 NOR 1 = 0 1 NOR 0 = 0 |
De Morgan’s Laws
It’s often convenient to reduce complex expressions–such as inverting a long sequence of logical statements–to ones that only invert input values. De Morgan’s laws make such simplifications possible.
Expression | Example |
Conveniently, De Morgan’s Laws allow us to express gates in terms of each other. and are the NOR and NAND gates, respectively. This means that NOR is the result of ANDing the inverted operands, and NAND is the result of ORing the inverted operands. In fact, by inverting the operands and the output, we can derive AND in terms of OR.
(This follows from the identity )
Challenge Problem
This problem was taken from this public ECE 2020 practice set.
Use De Morgan’s Laws to eliminate the outermost two bars and replace the inner OR operation with AND.
Then, apply De Morgan’s twice to simplify the and terms.