Set Operators
Copyright © Peter Cappello Union Let A and B be sets. A union B, denoted A B, is the set A B = { x | x A x B }. Draw a Venn diagram to visualize this. Example –O = { x N | x is odd }. –S = { s N | x N s = x 2 }. –Describe O S.
Copyright © Peter Cappello Intersection Let A and B be sets. A intersection B, denoted A B, is the set A B = { x | x A x B }. Draw a Venn diagram to visualize this. Example –O = { x N | x is odd }. –S = { s N | x N s = x 2 }. –Describe O S. A and B are disjoint when A B = .
Copyright © Peter Cappello Difference Let A and B be sets. The difference of A and B, denoted A - B, is A – B = { x | x A x B }. Draw a Venn diagram to visualize this. Example –O = { x N | x is odd }. –S = { s N | x s = x 2 }. –Describe O – S.
Copyright © Peter Cappello Complement Let A be a set. The complement of A is { x | x A } = U – A. Draw a Venn diagram to visualize this. Example –O = { x N | x is odd}. –Describe the complement of O. Since I cannot overline in Powerpoint, I denote the complement of A as A.
Copyright © Peter Cappello Set Identities IdentityName of laws A = A A U = A Identity A U = U A = Domination A A = A A A = A Idempotent Complement of A = AComplementation A B = B A A B = B A Commutative
Copyright © Peter Cappello IdentityName of laws A (B C)= (A B) C A (B C)= (A B) C Associative A (B C) = (A B) (A C) A (B C) = (A B) (A C) Distributive A B = A B A B = A B De Morgan A (A B) = A A (A B) = A Absorption A A = U A A = Complement
Think like a mathematician: How much is new here? LogicSet x S S False TrueUniverse complement = Can you mechanically produce set identities from propositional identities via this translation? Example: ( x A false ) x A A = A Copyright © Peter Cappello 20118
9 Prove A B = A B Venn diagrams 1.Draw the Venn diagram of the LHS. 2.Draw the Venn diagram of the RHS. 3.Explain that the regions match.
Copyright © Peter Cappello Prove A B = A B Use set operator definitions 1.A B = { x | x A B } (defn. of complement) 2. = { x | (x A B) } (defn. of ) 3. = { x | (x A x B) } (defn. of ) 4. = { x | (x A x B) } (Propositional De Morgan) 5. = { x | (x A x B) } (defn. of complement ) 6. = A B (defn. of )
Copyright © Peter Cappello Prove A B = A B Membership Table AB A B AB A BA B FFFTTTT FTTFTFF TFTFFTF TTTFFFF AB Let x be an arbitrary member of the Universe. In the table below, each column denotes the proposition function “x is a member of this set.”
Think like a mathematician: Is membership table the analog of truth table? With 3 propositional variables, a truth table has 2 3 rows. With 3 sets, do we have 2 3 regions? Does this generalize to n sets? What is the analog of modus ponens? Copyright © Peter Cappello
Copyright © Peter Cappello Computer Representation of Sets There are many ways to represent sets. Which is best depends on the particular sets & operations. Let | U | = n, where n is not “too” large: U = { a 1, …, a n }. Represent set A as an n-bit string. If ( a i A ) bit i = 1; else bit i = 0. Operations , , _ are performed bitwise. Consider a Java set class, where | U | is a constructor parameter. (In Java, Set is the name of an interface.) –What data structures might be good? –What public methods might you want? –How would you implement them? –Java Set interfaceJava Set interface