Download as pdf
Download as pdf
You are on page 1of 31
Page 224 Mathematical structures for Computer Science Gereting CHAPTER 7: Boolean Algebra and Computer Logic The Boolean algebra structure is presented in this chapter as an abstraction of the ‘common properties of propositional logic and set theory. It is the first example of a "metastructure" or a model. The theme of modeling runs throughout Chapter 8 as well Abstraction in notation is also used here, and it is worth pointing out (several times) that the "+" in a particular instance of a Boolean algebra may not be addition, and the "." may not be multiplication. Because of this tendency to see + as addition and - as, multiplication, and because some of the properties of a Boolean algebra agree with those of ordinary arithmetic, I like to highlight those properties that do NOT agree with ordinary arithmetic, such as property (3a) or the idempotent property. To transform a Boolean expression into an equivalent form requires that one be able to recognize when a particular Boolean algebra property is applicable. Thus the process is somewhat an exercise in pattern recognition, and therefore is similar to constructing proofs in propositional logic. By this time, however, the students are a bit more adept at this sort of thing. Graph isomorphism was defined in Section 5.1, where there was an easy geometric interpretation. An isomorphism between two Boolean algebras requires that the effects of operations be preserved, which is expressed as "operate and map equals map and operate." Here, and in the group theory section in Chapter 8, I draw many pictures of two circles and say "we're here, what is the operation? now we've mapped over here, what is the operation?” The translations between Boolean expressions, truth functions, and logic networks generally go smoothly. Building circuitry for binary addition is fun because it is such a practical application. Students cope well with Karnaugh maps, but find the Quine- ‘McCluskey procedure tedious. EXERCISES 7.1 ‘1 -|o 1a o}o 000 Jo laa alO aa 0 a} 0 a’ 0 a’ Gereting Mathematical structures for Computer Science Page 225 2a max(x, y) = max(y, x) _min(x, y) = min(y, x) max(max(x, y), z) = max(x, max(y, z)) = max(x, y, z) rmin(min(x, y), 2) = min(x, min(y, 2)) = min(x, y, 2) max(x, min(y, z)) = min(max(x, y),max(x, z)) min(x, max(y, z)) = max(min(x, y), min(x, z)) (The last two can be shown by taking cases: x

You might also like