1 section 10.1 boolean functions. 2 computers & boolean algebra circuits in computers have...
Post on 21-Dec-2015
218 views
TRANSCRIPT
2
Computers & Boolean Algebra
• Circuits in computers have inputs whose values are either 0 or 1
• Mathematician George Boole set forth basic rules of logic, which subsequently were adapted to define basic circuits; these rules form basis of Boolean algebra
• Operation of a circuit is defined by a Boolean function that specifies the output for each set of inputs
3
Boolean algebra
• Boolean algebra provides operations and rules for working with set {0,1}
• Most common operations are:– complement (NOT)– Boolean sum (OR)– Boolean product (AND)
• Rules of precedence: 1) complement, 2) product, 3) sum
4
Notation for Boolean algebraComplement is denoted by bar: 0 = 1 and 1 = 0
Boolean sum is denoted by +:
1 + 1 = 1 1 + 0 = 1 0 + 1 = 1 0 + 0 = 0
Boolean product is denoted by .Symbol may be omitted
1 . 1 = 1 1 . 0 = 0 0 . 1 = 0 0 . 0 = 0
6
Boolean algebra & logical operations
• Boolean algebraic operations correspond to logical operations:– complement = – sum = – product = – 0 = F, 1 = T
• Results of Boolean algebra can be directly translated into results about propositions, and vice-versa
7
Boolean functions
• Let B = {0, 1}– a variable x is a Boolean variable if it assumes values
only from B
– a function from Bn = {(x1, x2, … xn) | xi B, 1<=i<= n} to B is a Boolean function of degree n
• Values of a Boolean function are often displayed in tables resembling truth tables
8
Boolean expressions
• Boolean functions can be represented using expressions made up from the variables and Boolean operations
• Boolean expressions in the variables x1, x2, … xn are defined recursively as:– 0, 1, x1, x2, …. ,xn are Boolean expressions;
– if E1 and E2 are Boolean expressions, then their complements, (E1E2) and (E1+E2) are Boolean expressions
• Each Boolean expression represents a Boolean function; values of the function are obtained by substituting 0 and 1 for variables in the expression
9
Example 2Find the values of the Boolean function represented byF(x,y,z) = xy + z
x y z xy z F(x,y,z)
1 1 1 1 0 11 1 0 1 1 11 0 1 0 0 01 0 0 0 1 10 1 1 0 0 00 1 0 0 1 10 0 1 0 0 00 0 0 0 1 1
10
Properties & Operations on Boolean Functions
• Boolean functions F and G of n variables are equal if and only if F(b1, b2, … bn) = G(b1, b2, … bn) whenever b1, b2, … bn B
• Boolean expressions that represent the same function are equivalent- e.g. xy, xy+0, xy.1
• Complement of a Boolean function F is the function F where F(x1,…,xn) = F(x1,…,xn)
11
Boolean sums & products of functions
• Let F and G be Boolean functions of degree n– Boolean sum F+G is defined by (F+G)(x1,…,xn)
= F(x1,…,xn) + G(x1,… ,xn)
– Boolean product FG is defined by (FG)(x1,…,xn) = F(x1,…,xn)G(x1,…,xn)
12
Boolean functions of degree n
• A Boolean function of degree 2 is a function from a set of 4 elements (pairs of elements from B={0,1}) to B, a set with 2 elements
• There are 16 different Boolean functions of degree 2:
x y f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f161 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 01 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 00 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 00 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
13
Identities of Boolean algebra
• Identities of Boolean algebra are analogous to logical equivalences
• These identities are useful in simplifying circuit design
• Each identity can be proven using a table
• Identities can be used to prove further identities
14
Boolean identities
Law of the double complement: x = x
Idempotent laws: x + x = x and x . x = x
Identity laws: x + 0 = x and x . 1 = x
Dominance laws: x + 1 = 1 and x . 0 = 0Commutative laws: x + y = y + x and xy = yxAssociative laws: x + (y + z) = (x + y) + z and x(yz) = (xy)zDistributive laws: x + yz = (x + y)(x + z) and x(y + z) = xy + xz
DeMorgan’s laws: (xy) = x + y and (x + y) = x . y
15
Example 3: Proof of DeMorgan’s first law
x y x y xy xy x + y
1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1
16
Example 4
Prove the absorption law: x(x + y) = x using the identities ofBoolean algebra
x(x + y) = (x + 0)(x + y) identity law for Boolean sum
= x + 0 . y distributive law of Boolean sum
over Boolean product = x + y . 0 commutative law for Boolean
product = x + 0 dominance law for Boolean product
= x identity law for Boolean sum
17
Duality
• Note that most identities come in pairs
• The relationship between the 2 identities in a pair can be explained using the concept of a dual: the dual of a Boolean expression is obtained by interchanging Boolean sums and Boolean products, and 1s and 0s
18
Example 5
Find the dual of x(y + 0)
Substitute . for + and + for .:
x + (y . 0)Substitute 0 for 1:
x + (y . 1)
19
Duality
• The dual of a Boolean function F represented by a Boolean expression is the function represented by the dual of the expression
• This dual function Fd, does not depend of the particular Boolean expression used to represent F; an identity between functions represented by Boolean expressions remains valid when the duals of both sides of the identity are taken
• This duality principle is useful for obtaining new identities
20
Example 6
• Construct an identity from the absorption law: x(x + y) = x
• Taking duals of both sides:– x + (x . y)– x
• Result is x + xy = x, also called the absorption law
21
Abstract definition of a Boolean algebra
• Most common way to define a Boolean algebra is to specify properties that operations must satisfy
• Next slide illustrates such a definition
22
Definition of a Boolean algebra
A Boolean algebra is a set B with two binary operations and ,
elements 0 and 1 and a unary operation _
such that the following
properties hold for all x, y and z in B:Identity laws: x 0 = x and x 1 = x
Domination laws: x x = 1 and x x = 0
Associative laws: (x y) z = x (y z) and(x y) z = x (y z)
Commutative laws: x y = y x and x y = y x
Distributive laws: x (y z) = (x y) (x z) andx (y z) = (x y) (x z)