In this section, we will use our background from the previous sections and set theory to develop a procedure for simplifying Boolean expressions. This procedure has considerable application to the simplification of circuits in switching theory or logical design.
Let be any Boolean algebra, and let be variables in ; that is, variables that can assume values from . A Boolean expression generated by is any valid combination of the and the elements of with the operations of meet, join, and complementation.
Each Boolean expression generated by variables, , defines a function where . If is a finite Boolean algebra, then there are a finite number of functions from into . Those functions that are defined in terms of Boolean expressions are called Boolean functions. As we will see, there is an infinite number of Boolean expressions that define each Boolean function. Naturally, the “shortest” of these expressions will be preferred. Since electronic circuits can be described as Boolean functions with , this economization is quite useful.
In what follows, we make use of Exercise 7.1.5.5 in Section 7.1 for counting number of functions.
Example13.6.2.Two variables over .
Consider any Boolean algebra of order 2, . How many functions are there? First, all Boolean algebras of order 2 are isomorphic to so we want to determine the number of functions . If we consider a Boolean function of two variables, and , we note that each variable has two possible values 0 and 1, so there are ways of assigning these two values to the variables. Hence, the table below has rows. So far we have a table such as this one:
How many possible different functions can there be? To list a few:,,,,, etc. Each of these will fill in the question marks in the table above. The tables for and are
Two functions are different if and only if their tables are different for at least one row. Of course by using the basic laws of Boolean algebra we can see that . Why? So if we simply list by brute force all “combinations” of and we will obtain unnecessary duplication. However, we note that for any combination of the variables , and there are only two possible values for , namely 0 or 1. Thus, we could write different functions on 2 variables.
Now, let’s count the number of different Boolean functions in a more general setting. We will consider two cases: first, when , and second, when is any finite Boolean algebra with elements.
Let . Each function is defined in terms of a table having rows. Therefore, since there are two possible images for each element of , there are 2 raised to the , or different functions. We will show that every one of these functions is a Boolean function.
Now suppose that . A function from into can still be defined in terms of a table. There are rows to each table and possible images for each row. Therefore, there are raised to the power different functions. We will show that if , not every one of these functions is a Boolean function.
A Boolean expression generated by is in minterm normal form if it is the join of expressions of the form , where and is a minterm generated by . That is, it is of the form
We seem to require every minterm generated by , in (13.6.1), and we really do. However, some of the values of can be , which effectively makes the corresponding minterm disappear.
If , then each in a minterm normal form is either 0 or 1. Therefore, is either 0 or .
Let be a Boolean expression over B. There exists a unique minterm normal form that is equivalent to in the sense that e and M define the same function from into .
The uniqueness in this theorem does not include the possible ordering of the minterms in (commonly referred to as “uniqueness up to the order of minterms”). The proof of this theorem would be quite lengthy, and not very instructive, so we will leave it to the interested reader to attempt. The implications of the theorem are very interesting, however.
If , then there are raised to the different minterm normal forms. Since each different minterm normal form defines a different function, there are a like number of Boolean functions from into . If , there are as many Boolean functions (2 raised to the ) as there are functions from into , since there are raised to the functions from into . The significance of this result is that any desired function can be realized using electronic circuits having 0 or 1 (off or on, positive or negative) values.
More complex, multivalued circuits corresponding to boolean algebras with more than two values would not have this flexibility because of the number of minterm normal forms, and hence the number of boolean functions, is strictly less than the number of functions.
We will close this section by examining minterm normal forms for expressions over , since they are a starting point for circuit economization.
Example13.6.7.
Consider the Boolean expression . One method of determining the minterm normal form of is to think in terms of sets. Consider the diagram with the usual translation of notation in Figure 13.6.8. Then
The minterm normal form for can be obtained by taking the join of minterms that correspond to rows that have an image value of 1. If , then include the minterm where
if if
Or, to use alternate notation, include in the expression if and only if
The minterm normal form is a first step in obtaining an economical way of expressing a given Boolean function. For functions of more than three variables, the above set theory approach tends to be awkward. Other procedures are used to write the normal form. The most convenient is the Karnaugh map, a discussion of which can be found in any logical design/switching theory text (see, for example, [18]), on en.wikipedia.org/wiki/Karnaugh_map.
Let be a Boolean algebra of order 4, and let be a Boolean function of two variables on .
How many elements are there in the domain of f?
How many different Boolean functions are there of two, variables? Three variables?
Determine the minterm normal form of .
If , define a function from into that is not a Boolean function.
Answer.
The number of elements in the domain of is
With two variables, there are different Boolean functions. With three variables, there are different Boolean functions.
Consider , defined by ,,,, and , with the images of all other pairs in defined arbitrarily. This function is not a Boolean function. If we assume that it is Boolean function then can be computed with a Boolean expression . This expression can be put into minterm normal form:
Therefore, and so, using this formula, This contradicts , and so is not a Boolean function.
You have attempted 1 of 1 activities on this page.