Computer Science 101
Boolean Algebra
What’s next?
A new type of algebra – Helps us
• With logical reasoning
• Understand and design circuits of a computer
The “innards” of a computer
• Basic circuits
• Major components and how they work together
• Low level instructions – machine language
• How data and instructions are stored in computer
George Boole
English mathematician
1815-1864
1854: Introduction to the Laws of Thought
Boolean algebra
• Logic
• Set Theory
• Circuits
• Programming: Conditions in “while” and “if”
Boolean Constants and
Variables
In Boolean algebra, there are only two
constants.
• True and False
• On and Off
• +5v and 0v
• 1 and 0
Boolean variables are variables that store
values that are Boolean constants.
Boolean Operator AND
If A and B are Boolean variables (or
expressions) then
A AND B
is True (1) if and only if both A and B have
values of True (1).
We denote the AND operation like
multiplication in ordinary algebra:
AB or A.B
Boolean Operator OR
If A and B are Boolean variables (or
expressions) then
A OR B
is True (1) if and only if at least one of A and B
has value of True (1).
We denote the OR operation like addition in
ordinary algebra:
A+B
Boolean Operator NOT
If A is a Boolean variable (or expression) then
NOT A
has the opposite value from A.
We denote the NOT operation by putting a bar
over the variable (or expression)
_
A
Boolean Expressions
As with ordinary algebra, a Boolean
expression is a well-formed expression
made from
• Boolean constants
• Boolean variables
• Operators AND, OR and NOT
• Parentheses
Example: _ ____
AB + (A+C)B
The value of a Boolean
expression
At any point, the value of a BE can be
computed using the current values of the
variables.
Unlike ordinary algebra, for a BE, there are
only finitely many possible assignments of
values to the variables; so, theoretically, we
can make a table, called a truth table that
shows the value of the BE for every possible
set of values of the variables.
Truth Table: _ ____
E = AB + (A+C)B
_ _ ____ ____
A B C B AB A+C A+C (A+C )B E
0 0 0 1 0 0 1 0 0
0 0 1 1 0 1 0 0 0
0 1 0 0 0 0 1 1 1
0 1 1 0 0 1 0 0 0
1 0 0 1 1 1 0 0 1
1 0 1 1 1 1 0 0 1
1 1 0 0 0 1 0 0 0
1 1 1 0 0 1 0 0 0
In Python!
Laws of Algebra?
In ordinary algebra, we have a distributive
law :
A(B+C) = AB + AC
What does it mean to say this is a law?
• The left side has parentheses, right side
doesn’t.
• The left side has one multiplication and the
right side has two.
Laws of Algebra?
A(B+C) = AB + AC
No matter what the numerical values of A,
B, and C are, the two indicated
computations will have the same value.
Laws of Boolean Algebra
Identity Zero Element
A+0=A, A.1=A A.0=0, A+1=1
Idempotent Commutative
A+A=A, AA=A A+B=B+A, AB=BA
Associative Distributive
(A+B)+C=A+(B+C) A(B+C)=AB+AC
(AB)C=A(BC) A+BC=(A+B)(A+C)
Laws of Boolean Algebra
Absorption DeMorgan
____ _ _
A+AB=A, A+B =_A B
___ _,
A(A+B)=A AB = A +B
Complement
_ _ Double
_ Complement
A+A =1, AA =0 A=A
Boolean Expression
Simplification
_ _ ____
(A+B )C + AC_ + (B+C _ ) _ _
= (A+B_ )C + AC + _ B_C (DeMorgan)
= (A+B_ )C + _(A+B )C (Distributive)
= (A+B_ )(C+C ) (Distributive)
= (A+B
_ )1 (Complement)
= A+B (Identity)
Boolean Expression
Simplification
_ _ _
A B + AB
_ _+ AB _ _
=A_ B_ + AB + AB
_ + AB (Idempotent)
=B_ (A +A) + A(B +B) (Distributive)
=B_ 1+A1 (Complement)
=B+A (Identity)