1 / 46

CSE 460: Switching Theory

CSE 460: Switching Theory. David M. Zar Computer Science and Engineering Washington University Spring 2010 dzar@wustl.edu http://classes.engineering.wustl.edu/cse460. Boolean Algebras. Sets, Relations and Functions Orders Boolean Functions Properties of Boolean Algebras

ray
Télécharger la présentation

CSE 460: Switching Theory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE 460: Switching Theory David M. Zar Computer Science and Engineering Washington University Spring 2010 dzar@wustl.edu http://classes.engineering.wustl.edu/cse460

  2. Boolean Algebras Sets, Relations and Functions Orders Boolean Functions Properties of Boolean Algebras Boole’s Expansion Theorem Intervals and Don’t Cares Read HS 77-108

  3. What is a Boolean Algebra? • Boolean algebras are defined over sets • Two-valued Boolean algebra defined over {0,1} or {TRUE, FALSE} • Boolean algebras can be much more general and can be defined over much larger sets • We will soon define Boolean algebras over sets of functions • We need to define some terms and look at how they help us to define a Boolean algebra • Sets form the underlying structures of Boolean algebra • Relations that characterize relationships between elements of a set • Equivalence Relations that characterize the elements that are equivalent to one another for a specific purpose • We will eventually be interested in the collection of all Boolean formulas that are equivalent to a given formula

  4. Sets • Some definitions: • A set is an unordered collection of objects, referred to as elements or members of the set, such that each element occurs exactly once in the collection Sets are generally denoted by a matching pair of curly braces surrounding a list of the elements or some rule specifying the elements.For example {1,2,3} or {(x,y):x2 +y2 = 1} • A multi-set is an unordered collection of elements in which each element may appear one or more timesFor instance, {1,1,2,3} which is equivalent to{1,2,3,1} (unordered collection), but not equivalent to {1,2,3} • An ordered set is a collection of elements in which each element may appear one or more times and in which ordering is significant (as in a vector); usually denoted with parenthesis as in (2,1,3) • The cardinality of a set A, written|A|, is the number of elements in A • The empty or null set, written {} or Ø, is the set with no elements • The universal set or universe of discourse, commonly denoted , is the set which contains all possible elements under consideration

  5. Predicates • A predicate is a variable statement which may be true or false depending on the values of the variablesFor example, x > 1 is a predicate P(x) which is true for some x in the universe of discourse and false for othersOr, x2 + y2  0 is a predicate P(x,y) which is true for all real x but not true for some complex x • Commonly used predicates involving sets: • Membershipa  A is an assertion that a is an element in the set A • Inclusion A  B is an assertion that all the elements in set A are also in set B; A is said to be a subset of B • Proper InclusionA  B is an assertion that all the elements in set A are also in set B but that B contains some elements not in A; A is said to be a proper subset of B • Equality A =B is an assertion that sets A and B contain the same elements; equivalent to an assertion that A  B and B  A

  6. Operations on Sets • Union A  B is the set of elements in A or in B • IntersectionA  B is the set of elements in A and in B • Complement A’ is the set of elements from the universal set which are not in A • Difference A - B is the set of elements in A but not in B; equivalent to A  B’ • Power Set 2A is the set of all subsets of A; that is, 2A = {B  A}For example: let A = {1,2,3}, then 2A = {Ø,{1},{2},{3},{1,2},{1,3},{2,3},{1,2,3}}The notation is due to the fact that |2A| = 2|A| By definition, A  2A and Ø  2A • Cartesian Product A x B is the set of all ordered sets of two elements, the first of which is some element of A and the second of which is an element of B That is, A B= {(a,b):aA and b B}For example, if A = {1,2} and B = {1,2,3}, then A x B={(1,1),(1,2),(1,3),(2,1),(2,2),(2,3)} Notation: A2 =AA, and An =A A A … A

  7. Collections of Sets • A collection of sets A1, A2, …, An is said to be mutually exclusive or pairwise disjoint if Ai Aj = Ø for i  jThat is, if A1, A2, …, An are mutually exclusive, then a Ai implies that a Aj unless i =jFor example, let Ai, I = 0, 1,… ,9 be the set of numbers congruent to i modulo 10. Then 11 A1 precludes it from being in any of the other sets • A partition of a set  is a collection of mutually exclusive subsets A1, A2, … , An   such that A1 A2 ··· An =That is, if a  , then a  Ai for exactly one value of iA partition P is a set of sets; P = {A1, A2, …, An} where Ai  For example, the set of rational numbers and the set of irrational numbers partition the set of real numbers • A partition P1 of  is a refinement of partition P2 of  if every element of P2 is partitioned by a subset of P1For example, the sets of integers, nonintegral rationals, and irrationals partition  and are a refinement of the partition rationals and irrationals

  8. Relations A binary relation, R, between two sets, A and B, is a subset of A x B • If (x,y)  R, we write xRy • If R  {-2,-1,0,1,2} x {0,1,2} represents “of lesser magnitude,” then R = {(-1,2),(0,1),(0,2),(1,2)} • For finite |A| and |B|, a relation can be represented as a |A| x |B| matrix in which a nonzero value at (r,c) implies that the corresponding pair is an element of the relation • Relations are commonly defined over the Cartesian product of a set with itself, R  A2. An example is the “” relationship over the set of real numbers. For finite A, the relation can be represented as a directed graph (digraph) with nodes representing the elements A and edges from node a to node b indicating aRb • The elements of a relation are ordered and for relation R  A x B we sometimes call A the domain and B the range of R . • Note: despite the terminology, R is not a function from A to B because an element of A may be related to more than one element of B • The inverse of relation R A x B is a relation R-1 B x A defined as R-1= {(b,a):(a,b)  R}

  9. Classes of Relations • A relation R A2 is reflexive if xRx for every x A • For example the relation “” defined over  is reflexive because every number is less than or equal to itself, x  x • A matrix representation of a reflexive relation has nonzero elements in all diagonal entries (and possibly elsewhere) • A digraph representation of a reflexive relation has edges from every node to itself • A relationR A2 is symmetric if xRy implies yRx • For example, the relation “=“ defined over  is symmetric because every number is equal to itself • Also, the relation “ (mod n)” (congruence modulo n) defined over the set of integers is symmetric • A matrix representation of a symmetric relation is a symmetric matrix • A digraph representation of a symmetric relation has an edge from node b to node a corresponding to every edge from node a to node b • A relation R A2 is antisymmetric if xRy and yRx together imply that x= y • For example “” defined over  is antisymmetric because xy and yx imply x=y • On the other hand, “ (mod n)” is not antisymmetric because “5 3 (mod 2)” and “3 5 (mod 2)” but 3  5. • A matrix representation of an antisymmetric relation has a zero in element (j,i) if element (i,j) is nonzero, unless i=j (along the diagonal) • A digraph representation of an antisymmetric relation has no edge from node a to b if there is an edge from b to a, unless the edge loops from a node to itself

  10. More Classes of Relations • A relation R A2 is transitive if xRy and yRz together imply xRz • For example the relation “<” defined over  is transitive since x < y and y <z implies x<z • Also, the relation “ (mod n)” is a transitive relation over the integers • An equivalence relation is a relation that is reflexive, symmetric, and transitive • For example, the relation “ (mod 2)” is an equivalence relation and has the interpretation that, if    (mod 2) then a rotation by an amount  yields the same location as a rotation by  • The relation “has the same grandfather” is not an equivalence relation since it is not transitive • An equivalence relation R A2 induces a partition of A into sets of elements that are equivalent • The set of elements of A that are equivalent to a A is called the equivalence class of a and is denoted [a] • For example, congruence modulo 5 partitions the set of integers into the equivalence classes [0], [1], [2], [3], and [4] • A compatibility relation is a relation that is reflexive and symmetric but not transitive • The relation “has the same grandfather” is a compatibility relation

  11. Functions • A function (or mapping) is a relation f A x B such that: • (a,b)  f and (a,c) f implies that b = c • For each a A there is some b B such that (a,b)  f • That is, every element of A is paired with exactly one element B in the relation • As with other relations, A is called the domain of f and B is called the range or co-domain of f • If (a,b) f, then b is said to be the image of a under f and we write b =f(a) • Definition: If C A, then the image of C under f is the set {bB:aC b = f(a)} • Definition: If D B, then the preimage of D under f is the set {aA:bD b =f(a)} • Definition: A function f is said to be injective or one-to-one if a1  a2 implies that f(a1)  f(a2) • Definition: A function f is said to be surjective or onto if b  B, aA b =f(a) • Definition: A function f that is both one-to-one and onto is called bijective or invertible; in this case, the inverse relation is also a function and we denote it as f-1

  12. Algebras • Our goal is to define a Boolean algebra in terms of a universal set of elements that have some ordering relation defined on them • First, some more definitions: • An n-ary operation on a set A is a function f:An  A • An algebraic system (or simply algebra) consists of a set of elements called the carrier of the algebra, a set of operations on the carrier, and, optionally, a set of relations on the carrierAs an example, arithmetic is an algebra with the carrier , operations {-(unary), +,} and the relation “<“ • A Boolean Algebra is a lattice and a lattice is a partial order, so let’s look at what these things are

  13. Partial Orders • A partial order on a set P is a relation  P2 that is • reflexive (x x) • Antisymmetric (x y and y x implies x =y) • transitive (x y and y z implies x z) • The set P is called the ground set of the pair (P,  ) which is referred to as a partially ordered set or poset • As an example, the set 2 is a poset if for any two points x, y  2 we define the relation  4 as xy means x1 y1 and x2y2 • Definition: Two elements a and b of a poset are said to be comparable if either a b or b  a • Definition: We say that ycoversx if x < y and there exists no element z such that x< z < y • If a is an element of a poset P and a  b for every b P, then a is said to be the least member of P • If a is an element of a poset P and b  a for every b P, then a is said to be the greatest member of P • Not every poset has a least or greatest member but if one exists then it is unique

  14. Hasse Diagrams • An element a is said to be a minimal member of a poset P if no element b exists such that b < a • An element a is said to be a maximal member of P if no element b exists such that a < b • We can represent a partial order by a directed graph with nodes representing the elements of the poset and with a directed edge from node a to b representing a < b • A Hasse diagram is a digraph representation of a partial order with implied edge directions • If a b, then b is drawn higher in the graph than a and an edge connects them • Unrelated nodes have no edge between them and can be placed anywhere relative to one another • Edges are not explicitly drawn if they are implied by transitivity • Self-loops are not explicitly drawn

  15. {a,b,c} Q: P: (2,3) (1,3) (2,2) {a,c} {a,b} {b,c} (1,2) (2,1) {a} {b} {c} (1,1) Ø Example Hasse Diagrams • As an example, let P={(1,1),(1,2),(1,3),(2,1),(2,2),(2,3)} and let (x1,x2)  (y1,y2) whenever x1  y1 and x2 y2. This relation can be represented in the following Hasse diagram : • Another example, let Q=2{a,b,c} and for x,y Q let x  y mean that x  y. Then Q is a poset and we can draw the Hasse diagram for Q.

  16. Meet and Join • Definition: An element m of a poset P is a lower bound of elements a,b  P if m  a and m b. Further, m is the greatest lower bound or meet of a and b if m’ m for any other lower bound m’ • We write a×b = m or aÙb = m to denote that m is the meet of a and b • Definition: An element m of a poset P is a upper bound of elements a,bÎP if m³a and m³b. Further, m is the least upper bound or join of a and b if m m’ for any other upper bound m’ • We write a + b = m or aÚb = m to denote that m is the join of a and b • The meet and join of two elements are unique when they exist • Two elements may or may not have a lower (upper) bound and even if they do, they may not have a meet (join) because it can be the case that none of the bounds is greatest (lowest) • It is an immediate consequence of the definitions that in any poset, if x and y have a meet, then (x×y) £ x. Dually, if x and y have a join, x £ (x+y)

  17. Meet and Join Theorem • Theorem: In any poset, x £ y if and only if both x×y=x and x+y=y • Proof: Clearly, if x £ y then x is a lower bound of x and y.Suppose x were not the meet of x and y. Let any other lower bound be denoted by m. If m were the meet of x and y, then x £ m because, by assumption, x is not the greatest lower bound. However by the definition of meet, m £ x and since the relation is antisymmetric, m = x which is a contradiction. So, x must be the meet. Ü If x×y = x, then by definition, x £ x and x £ y. • Similar arguments hold for join:Ü If x+y = y, then by definition, y y and y  x.

  18. Well-Ordered Sets • Definition: If all pairs of elements in a poset are comparable, then the poset is called a chain and is said to be totally ordered. • An antichain is a poset in which no two elements are comparable. • As an example, the set of real numbers is totally ordered under the relation “£” • Definition: If every nonempty subset of a totally ordered set has a smallest element, then the set is said to be well ordered. • As an example, the set of negative integers is well-ordered, but the set of real numbers is not.

  19. Lattices • Definition: A lattice is a poset (A,£) in which any two elements have both a meet and a join • All lattices have the following properties for x,y,zÎA: • These properties follow directly from the definition of a poset. As an example,Proof of P4: If A is a lattice, then all pairs of elements have a meet and join, by definition. Thus, x+y exists and x×(x+y) exists. By definition, x £ (x+y) so that x×(x+y) = x because x×z = x if x£z.

  20. More Lattices • Theorem: In any lattice (A,£) with x,y,zÎA (x×y)+(x×z)£x×(y+z) (1)Proof: By definition, x×y£x and x×y£y£y+z so that x×y is a lower bound for both x and y+z. The meet is the greatest lower bound, so x×y£x×(y+z). Similarly, x×z£x×(y+z). Thus, x×(y+z) is an upper bound of both x×y and x×z. The join is the least upper bound, so the theorem statement follows. • A lattice is defined as a poset, that is a set with a relation • All relations have inverses • The pair (A,£) is the dual of the pair (A,³) where ³ is the inverse of relation £ • The result is a lattice (A,³) • The join of two elements x,yÎA under (A,³) is equal to the meet under (A,£) • The meet of two elements x,yÎA under (A,³) is equal to the join under (A,£) • As a result, the 0 and 1 elements under (A,³) are equal to the 1 and 0 elements under (A,£), respectively

  21. Duality The principle of duality states that every lattice identity can be transformed into another by interchanging: • + with ×, and vice-versa • £ with ³, and vice-versa • 0 with 1, and vice-versa • As an example, each of the lattice properties P0 through P4 has a dual • Another example, a dual to the previous theorem exists that states that in any lattice (A,£), (x+y)×(x+z)³x+(y×z) (2)

  22. 1 1 c d e f g a b 0 0 Complement of a Lattice • Definition: Given x,y which are elements of a lattice (A,£), x is a complement of y (written y’) if x+y = 1 and x×y =0. A lattice is said to be complemented if all elements have a complement • Complements within a lattice are not necessarily unique • As an example, the left lattice below is not complemented because, although c and b are complements, d has no complement. The right lattice below is complemented and e has two complements, namely f and g.

  23. {a,b,c} {a,c} {a,b} {b,c} {a} {b} {c} Ø Dristributive Lattice • Definition: A lattice is said to be distributive if the two distributive properties hold for all x,y,zx(y+z) = (xy)+(xz) and x+(yz) = (x+y)(x+z) (3) • As an example, the lattice representing the subset relation shown below is distributive:

  24. Boolean and Switching Algebras • Definition: A Boolean algebra is a lattice that is distributive and complemented • As an example, the lattice (2A, )is a Boolean algebra with the join and meet of x,y2A given by xÈy and xÇy, respectively. • It is distributive since xÈ(yÇz)=(xÈy)Ç(xÈz) and xÇ(yÈz)=(xÇy)È(xÇz) • It is complemented since x and A-x are complements • Definition: A switching algebra is a Boolean algebra whose carrier consists of two elements. This is the Boolean algebra with which you are probably already familiar: • Carrier B={0,1} • Relation £={(0,0),(0,1),(1,1)} • Join: 0+0=0, 0+1=1+0=1, 1+1=1 • Meet: 0×0=0, 0×1=1×0=0, 1×1=1

  25. Isomorphism • Definition: Two Boolean algebras (A,£) and (B, ¹) are isomorphic if there exists a bijection f from A to B such that • f(a1+£a2) = f(a1) + ¹ f(a2) • f(a1£a2) = f(a1) ¹ f(a2) where a1, a2 A, and + £and£are join and meet operations defined under the partial order £, and + ¹and¹ are join and meet operations defined under the partial order ¹ • Any result obtained for a Boolean algebra also applies to all Boolean algebras to which it is isomorphic • As an example, a switching algebra is isomorphic to the Boolean algebra (2A,) where |A|= 1

  26. Stone’s Theorem • Stone’s Representation Theorem: It can be shown that every finite Boolean algebra with n elements is isomorphic to (2A,) for any set A such that |A|= log2n. • The only relevant difference among various Boolean algebras is the number of elements in the carriers • An immediate consequence of Stone’s representation theorem is that all finite Boolean algebras have 2nelements for some integer n

  27. Properties of Boolean Algebras • Theorem: Complementation in a Boolean algebra is uniqueProof: Suppose both x0 and y are complements of x. Then, x+x0=x+y=1 and xx0=xy=0. It follows that • Theorem: In a Boolean algebra, (x0)0=xProof: By the definition of complement, xx0 =0 and x+x0=1. Both meet and join are commutative, so x0x =0 and x0+x=1. So x is the complement of x0. • Theorem: In a Boolean algebra, Proof: From the absorptive property of all lattices, x+x0y = x+xy+x0y = x+(x+x0)y = x+y. The other equality follows from the principle of duality.

  28. More Properties of Boolean Algebras • Theorem (isotone property): In a Boolean algebra: • Proof: A Boolean algebra is a poset and we have by theorem that x·y,x=xy. So, x·y,x=xy,xz=xyz=xyzz=(xz)(yz) ,xz·yz.The other implication follows from the principle of duality. • Theorem: In a Boolean algebra: • Proof: x·y,xy0·yy0,xy0·0,xy0=0The other equality follows from the principle of duality.

  29. DeMorgan’s Laws and Consensus • Theorem (Demorgan’s Laws): In a Boolean algebra: Proof: x0y0(x+y)=0 and (x+y)+x0y0=1, so x0y0=(x+y)0 since aa0 =0 and a+a0 =1. • Theorem(Consensus): In a Boolean algebra: • Proof: Apply the distributive property to see that yz(x0+y0)(x+z0) = 0. Application of DeMorgan's law twice yields yz(xy+x0z)0 = 0. Which, from the above theorem, implies yz·xy+x0z. From the isotone property, xy+x0z +yz·xy+x0z. However, for any poset, a · a+b so xy+x0z ·xy+x0z+yz. Hence, xy+x0z = xy+x0z+yz. The other equality follows from the principle of duality.Note that the consensus theorem provides a means to simplify expressions

  30. Boolean formulas • A formula is an equation or expression that yields the value of a function in terms of its parameters • For any given function, there are an infinite number of formulas that yield the functional relationship • We have a particular interest in a class of formulas known as Boolean formulas • Definition: Let (B,·) be a Boolean algebra and let x1, x2, ..., xn be variables taking values on B. • Then the set of Boolean formulas are defined as: • The elements of B are Boolean formulas • The symbols x1, x2, ..., xn are Boolean formulas • If g and h are Boolean formulas, then so are • (g)+(h) • (g) ¢ (h) • (g)0 • An expression is a Boolean formula if and only if it can be derived by finite application of the previous rules

  31. Boolean formulas Example • As an example, if B ={0,a,b,c,a0,b0,c0,1} and x1, x2, ..., xn are variables taking values in B, then the following are all Boolean formulas • a+b¢ c • x1+x2¢(x3+x4) • (x1+x2¢(x3+x4))0¢ a+b¢ c

  32. Boolean Functions • A Boolean formula is a string that represents a sequence of join, meet, and complement operations on elements of a Boolean algebra B • Informally, a Boolean function is a relation from Bn to B that can be represented as a Boolean formula • Definition: Let (B,·) be a Boolean algebra and let x1, x2, ..., xn be variables taking values on B. Then the set of Boolean functions on x1, x2, ..., xn consist of: • The constant functions f(x1, x2, ..., xn)=b for any element b2B • The projection functions f(x1, x2, ..., xn)=xi for any i=1,2,...,n • If g and h are Boolean functions on x1, x2, ..., xn, then so are • (g+h)(x1, x2, ..., xn) = g(x1, x2, ..., xn)+h(x1, x2, ..., xn) • (g¢ h)(x1, x2, ..., xn)=g(x1, x2, ..., xn)¢h(x1, x2, ..., xn) • (g0)(x1, x2, ..., xn)=(g(x1, x2, ..., xn))0 • A function is a Boolean function on x1, x2, ..., xn if and only if it can be derived by finite application of the previous rules • Definition: The set of Boolean functions f:{0,1}n! {0,1} are called switching functions

  33. Cofactors • Definition: If f(x1, x2, ..., xn) is a Boolean function on the Boolean algebra (B,·), then the positive cofactor of f with respect to xi is the Boolean function in n-1 variablesSimilarly, the negative cofactor of f with respect to xiis the function

  34. Boole’s Expansion Theorem • If f(x1, x2, ..., xn) is a Boolean function on the Boolean algebra (B,·), then • Proof: Proceed by induction for each of the items 1 through 3 in the definition of a Boolean function.

  35. Boole’s Expansion Theorem Proof

  36. Boole’s Expansion Thm. Proof (cont.) Where the last equality follows from the consensus property of Boolean algebras. The other equality follows from duality. • We can apply the expansion recursively and represent any Boolean function as a Boolean formula • Conversely, every Boolean formula is an expansion of some Boolean function

  37. Canonical Form • We will often be interested in whether two Boolean formulas implement the same Boolean function • Note that a given Boolean function may be represented by an infinite number of Boolean formulas • We can restrict the form of a formula so that there is only one formula for each function • The resulting form is called canonical • We arrive at the minterm canonical form by recursive application of the expansion theorem

  38. Minterm Canonical Form • The minterm canonical form for a Boolean function f(x1,x2,...,xn) is • The values f(0,0,...,0), etc. are elements of B and are called the discriminants of f. The products x10x20...xn-10xn0, etc. are called minterms.

  39. Maxterm Canonical Form • The maxterm canonical form for a Boolean function f(x1,x2,...,xn) is dually defined as • The sums x1+ x2+ ... + xn-1+ xn, etc. are called maxterms.

  40. Example of Canonical Form • As an example, let B={0,a,b,1} be the carrier of a Boolean algebra and let f(x1,x2)=x1x2 + ax20. Then the minterm canonical form for f is • It is a consequence of Boole's expansion theorem that each Boolean function has a unique minterm and unique maxterm canonical form • A Boolean function is uniquely specified by its discriminants • Since there are 2n discriminants and each has one of |B| values, there are Boolean functions • In a switching algebra, there are Boolean functions of two variables • In a switching algebra, there are Boolean functions of three variables • The remaining possible functions of n variables are not Boolean functions

  41. The Boolean Algebra of Boolean Functions • The set of Boolean functions in n variables defined over a Boolean algebra (B,·) form a Boolean algebra (B,¹) • The partial order ¹ is defined for two n-variable Boolean functions f2B and g2B as f(x1,x2,...,xn)¹g(x1,x2,...,xn) means that the value of f is less than or equal to the value of g for every assignment of values to x1,x2,...,xn • The constant function f0(x1,x2,...,xn)=02B is the least element in the function algebra • The constant function f1(x1,x2,...,xn)=12B is the greatest element in the function algebra • The meet of two functions g(x1,x2,...,xn)2B and h(x1,x2,...,xn)2B is g(x1,x2,...,xn)¢h(x1,x2,...,xn) where ¢ is the meet operation under (B,·) • The join of two functions g(x1,x2,...,xn)2B and h(x1,x2,...,xn)2B is g(x1,x2,...,xn)+ h(x1,x2,...,xn) where + is the join operation under (B,·) • The complement of a function g(x1,x2,...,xn)2B is the function g(x1,x2,...,xn)0 where 0 denotes complementation under (B,·)

  42. Hasse Diagram of the Boolean Algebra • For example, the Boolean algebra of two variable switching functions has Hasse diagram • All properties of Boolean algebras, lattices, and posets can be applied to the Boolean algebra (B,¹) • Logic minimization algorithms are methods of systematically applying these properties

  43. Atoms of a Boolean Algebra • Definition: The atoms of a Boolean algebra are its minimal nonzero elements. That is, the set A of atoms of a Boolean algebra (B,·) is A={x2B:x0 and y· x)y=08y2B} • Since all finite Boolean algebras are isomorphic to a power set with the same number of elements: • a Boolean algebra with carrier B and atoms a2A has|B|=2|A| elements • a Boolean algebra is uniquely determined (up to element names) by its set of atoms • Because the atoms are defined as minimal, nonzero elements the following properties hold for all a,b2A: • a¢b = 0 • a+bA • a2A a = 1 • The set A of atoms of the Boolean function algebra (B,¹) of n-variable functions over the Boolean algebra (B,·) with atoms A is given by the cross product of the set of n-variable minterms and the set A • The set of atoms of the Boolean algebra of n-variable switching functions is the set of n-variable minterms

  44. Example of Atoms of a BA • Consider the atoms of the Boolean algebra (B,¹) of two variable Boolean functions defined over the Boolean algebra (2{a,b,c},µ) • The set of minterms of two variable Boolean functions is • The set of atoms of the Boolean algebra (2{a,b,c},µ) is • The set of atoms of the Boolean function algebra (B,¹) is • Any element e of a Boolean algebra E can be uniquely characterized by the set of atoms which, when combined with the join operator, yield the element e • An element e is greater than or equal an element f if and only if the set of atoms representing e contains the set of atoms representing f

  45. Intervals in Boolean Algebras • Definition: An interval [L,U] in a Boolean algebra B is the subset of B defined by • By construction, an interval in a Boolean algebra is itself a Boolean algebra, ([L,U],·) • The least element is L • The greatest element is U • It is characterized by its atoms • We can define an interval in any Boolean algebra. Particularly they can be defined for Boolean function algebras. • Since all elements in an interval are greater than or equal to L the set of atoms representing them must contain the set of atoms representing L • In some cases, the value of a Boolean function for certain combinations of inputs is irrelevant. We say that the value of the function is don't care (denoted -) for these inputs. • Satisfiability don't cares arise when it is known that certain input combinations will never occur • Observability don't cares arise when the output is known to be irrelevant to successive circuits for certain inputs • The don't care conditions (the set of inputs for which the function is don't care) can be described by the set of minterms whose discriminant is irrelevant

  46. Don’t Cares • Looking back at the minterm canonical form, we can represent a Boolean function f over a Boolean algebra (B,·) as the joinwhere fa is the join of all minterms with corresponding discriminant equal to a, etc. • A set of don't care conditions corresponds to an additional function f- equal to the join of minterms for which the function f is don't care • A function with don't care values corresponds to an interval [L,U] in the Boolean function algebra whereand • Given an interval of functions, the minterms for which the function is don't care is given by the set of minterms of U with discriminant 1 minus the set of minterms of L with discriminant 1.

More Related