1 section 10.1 boolean functions. 2 computers & boolean algebra circuits in computers have...

23
1 Section 10.1 Boolean Functions

Post on 21-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

1

Section 10.1

Boolean Functions

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

5

Example 1

Find the value of 1 . 0 + (0 + 1)

= 0 + 1

= 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)

23

Section 10.1

Boolean Functions