Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

University of Aberdeen, Computing Science CS3511 Discrete by wgv13363

VIEWS: 4 PAGES: 77

									Module #3 - Sets



              University of Aberdeen, Computing Science

                               CS3511
                      Discrete Methods
                      Kees van Deemter
                   Slides adapted from Michael P. Frank‟s
                          Course Based on the Text
                   Discrete Mathematics & Its Applications
                                (5th Edition)
                            by Kenneth H. Rosen


9/27/2010                   Michael P. Frank / Kees van Deemter   1
Module #3 - Sets




                      Module #3:
                   The Theory of Sets

                   Rosen 5th ed., §§1.6-1.7
                   ~43 slides, ~2 lectures


9/27/2010             Michael P. Frank / Kees van Deemter   2
Module #3 - Sets



        Introduction to Set Theory (§1.6)
       • A set is another type of structure, representing an
         unordered collection of zero or more distinct
         objects.
       • Set theory deals with operations between, relations
         among, and statements about sets.
       • Sets are ubiquitous in computer software systems.
       • All of mathematics can be defined in terms of
         some form of set theory.


9/27/2010               Michael P. Frank / Kees van Deemter    3
Module #3 - Sets



                    Intuition behind sets
       • Almost anything you can do with individual
         objects, you can also do with sets of objects. E.g.
         (informally speaking), you can
            – refer to them, compare them, combine them, …
       • You can also do some things to a set that you
         probably cannot do to an individual: E.g., you can
            – check whether one set is contained in another (?)
            – determine how many elements it has (?)
            – quantify over its elements (using it as u.d. for ,)


9/27/2010                    Michael P. Frank / Kees van Deemter      4
Module #3 - Sets



                   Basic notations for sets
       • For sets, we‟ll use variables S, T, U, …
       • We can denote a set S in writing by listing
         all of its elements in curly braces:
            – {a, b, c} is the set of whatever 3 objects are
              denoted by a, b, c.
       • Set builder notation: For any proposition
         P(x) over any universe of discourse,
         {x|P(x)} is the set of all x such that P(x).

9/27/2010                 Michael P. Frank / Kees van Deemter   5
Module #3 - Sets



                   Basic properties of sets
       • Sets are inherently unordered:
            – No matter what objects a, b, and c denote,
              {a, b, c} = {a, c, b} = {b, a, c} = …
       • Multiple listings make no difference:
            – {a, a, c, c, c, c}={a,c}.




9/27/2010                  Michael P. Frank / Kees van Deemter   6
Module #3 - Sets



                   Basic properties of sets
       • There exists a different mathematical
         construct, called bag or multiset, where
         this assumption does not hold. Using square
         brackets, we have
            – [a,a,c,c,c,c]=[a,c,a,c,c,c] [a,a,a,c]
       • Notation: if B is a bag then
         countB(e)=number of occurrences of e in B


9/27/2010                  Michael P. Frank / Kees van Deemter   7
Module #3 - Sets



             Definition of Set Equality
       • Two sets are equal if and only if they contain
         exactly the same elements.
       • It does not matter how the set is defined
       • For example:
         {1, 2, 3, 4} =
         {x | x is an integer where x>0 and x<5 } =
         {x | x is a positive integer whose square
                                         is >0 and <25}


9/27/2010               Michael P. Frank / Kees van Deemter   8
Module #3 - Sets



                        Infinite Sets
       • Sets may be infinite (i.e., not finite, without end,
         unending).
       • Symbols for some special infinite sets:
         N = {0, 1, 2, …} The Natural numbers.
         Z = {…, -2, -1, 0, 1, 2, …} The integers.
         R = The “Real” numbers, such as
         374.1828471929498181917281943125…
       • “Blackboard Bold” or double-struck font (ℕ,ℤ,ℝ)
         is also often used for these special number sets.
       • Infinite sets come in different sizes!
                         More on this after module #4 (functions).
9/27/2010                Michael P. Frank / Kees van Deemter         9
Module #3 - Sets



                   Venn/Euler Diagrams
                                                             John Venn
                                                             1834-1923




9/27/2010              Michael P. Frank / Kees van Deemter          10
Module #3 - Sets




       • Warning: such diagrams come in different
         flavours (e.g., Venn or Euler). We will „mix
         and match‟ flavours – This is ok as long as
         it‟s clear what we mean.




9/27/2010             Michael P. Frank / Kees van Deemter   11
Module #3 - Sets



            Basic Set Relations: Member of
       • xS (“x is in S”) is the proposition that
         object x is an lement or member of set S.
            – e.g. 3N, “a”{x | x is a letter of the alphabet}
       • Set equality is defined in terms of :
         S=T :def x: xS  xT
         “Two sets are equal iff they have
         the same members.”
       • Notation: xS :def (xS)

9/27/2010                 Michael P. Frank / Kees van Deemter     12
Module #3 - Sets



                   A set can be empty
       • Suppose we call a set S empty
         iff it has no elements: x(xS).
       • Prove that
         xy((empty(x)  empty(y)  x=y)

       • Note: this formula quantifies over sets!


9/27/2010             Michael P. Frank / Kees van Deemter   13
Module #3 - Sets



            There‟s only one empty set
       Prove that xy((empty(x) empty(y))  x=y)
       Proof by Reductio ad Absurdum:
       • Suppose there existed a and b
         such that empty(a) and empty(b).
       • Thus, x(xa)  x(xb)
       • Suppose ab. This would mean that either
         x(xa  xb) or x(xb  xa)
       • But the first case cannot hold, for x(xa). The
         second case cannot hold, for x(xb)
       • Contradiction, so QED

9/27/2010              Michael P. Frank / Kees van Deemter   14
Module #3 - Sets



                   The Empty Set
       • We have seen that there exists exactly one
         empty set, so we can give it a name:
       •  (“the empty set”) is the unique set that
         contains no elements whatsoever.
       •  = {} = {x|xx} = ... = {x|False}

       • Any set containing exactly one element is
         called a singleton

9/27/2010             Michael P. Frank / Kees van Deemter   15
Module #3 - Sets



            Subset and Superset Relations
       • ST (“S is a subset of T”) means that every
         element of S is also an element of T.
       • ST :def x (xS  xT)
       • What do you think about these?
            – S ?
            – SS ?



9/27/2010             Michael P. Frank / Kees van Deemter   16
Module #3 - Sets



            Subset and Superset Relations
       • ST (“S is a subset of T”) means that every
         element of S is also an element of T.
       • ST :def x (xS  xT)
       • What do you think about these?
            – S ? Yes
            – SS ? Yes



9/27/2010                 Michael P. Frank / Kees van Deemter   17
Module #3 - Sets



            Subset and Superset Relations
       • More notation:
       • ST (“S is a superset of T”) :def TS.
         Note S=T  ST ST.
       • S  T :def (ST), i.e. x(xS  xT)
           /




9/27/2010            Michael P. Frank / Kees van Deemter   18
Module #3 - Sets


            Proper (Strict) Subsets & Supersets

       • ST (“S is a proper subset of T”) means that
         ST but       T.  S
                          /
       Example:{1,2}  {1,2,3}
       We have {1,2,3}  {1,2,3},
                         but not {1,2,3}  {1,2,3}


9/27/2010              Michael P. Frank / Kees van Deemter   19
Module #3 - Sets



                   Sets Are Objects, Too!
       • The elements of a set may themselves be
         sets.
       • E.g. let S={x | x  {1,2,3}}
         then S = …




9/27/2010               Michael P. Frank / Kees van Deemter   20
Module #3 - Sets



                   Sets Are Objects, Too!
       • The objects that are elements of a set may
         themselves be sets.
       • E.g. let S={x | x  {1,2,3}}
         then S={,
                   {1}, {2}, {3},
                   {1,2}, {1,3}, {2,3},
                   {1,2,3}}
       • Note that 1  {1}  {{1}}
9/27/2010               Michael P. Frank / Kees van Deemter   21
Module #3 - Sets



             Cardinality and Finiteness
       • |S| (read “the cardinality of S”) is a measure
         of how many different elements S has.
       • E.g., ||=0, |{1,2,3}| = 3, |{a,b}| = 2,
               |{{1,2,3},{4,5}}| = ____
       • If |S|N, then we say S is finite.
         Otherwise, we say S is infinite.



9/27/2010             Michael P. Frank / Kees van Deemter   22
Module #3 - Sets



              The Power Set Operation
       • The power set P(S) of a set S is the set of all
         subsets of S. P(S) :≡ {x | xS}.
       • E.g. P({a,b}) = {, {a}, {b}, {a,b}}.
       • Sometimes P(S) is written 2S, because
          |P(S)| = 2|S|.
       • It turns out S:|P(S)|>|S|, e.g. |P(N)| > |N|.
         There are different sizes of infinite sets!

9/27/2010              Michael P. Frank / Kees van Deemter   23
Module #3 - Sets



            Review: Set Notations So Far
       • Set enumeration {a, b, c}
         and set-builder {x|P(x)}.
       •  relation, and the empty set .
       • Set relations =, , , , , , etc.
       • Venn diagrams.
       • Cardinality |S| and infinite sets N, Z, R.
       • Power sets P(S).
9/27/2010             Michael P. Frank / Kees van Deemter   24
Module #3 - Sets



                     Axiomatic set theory
       • Various axioms, e.g., saying that the union of two sets is
         also a set
       • One key axiom: Given a Predicate P, construct a set. The
         set consists of all those elements x such that P(x) is true.
       • But, the resulting theory turns out to be logically
         inconsistent!
            – This means, there exist set theory propositions p such that you can
              prove that both p and p follow logically from the axioms of the
              theory!
            –  The conjunction of the axioms is a contradiction!
            – This theory is fundamentally uninteresting, because any possible
              statement in it can be (very trivially) “proved” by contradiction!


9/27/2010                      Michael P. Frank / Kees van Deemter                  25
Module #3 - Sets

                        This version of
                   Set Theory is inconsistent
 Russell’s paradox:

 • Consider the set that corresponds with the
   predicate x  x :
                 S = {x | xx }.

 • Now ask: is SS?

9/27/2010                Michael P. Frank / Kees van Deemter   26
Module #3 - Sets



                   Russell‟s paradox
 • Let S = {x | xx }. Is SS?
 • If SS, then S is one of those objects x for which
   xx. In other words, SS
   By Reductio, we have SS
 • If SS, then S is not one of those objects x for
   which xx. In other words, SS
   By Reductio, we have SS
 • We conclude that both SS nor SS
 • Paradox! (There‟s no assumption that we can
   blame, so we cannot Reductio again)


9/27/2010            Michael P. Frank / Kees van Deemter   27
Module #3 - Sets




 • To avoid inconsistency, set theory must
   somehow change




                                                  Bertrand Russell
                                                        1872-1970
9/27/2010          Michael P. Frank / Kees van Deemter               28
Module #3 - Sets

                       ( One example of
                   „sophisticated‟ set theory:
       • Given a set S and a predicate P, construct a
         new set, consisting of those elements x of S
         such that P(x) is true.
       • We will not worry about the possibility of
         logical inconsistency – Just be sensible
         when constructing sets.                  )


9/27/2010                Michael P. Frank / Kees van Deemter   29
Module #3 - Sets



                    Ordered n-tuples
       • These are like sets, except that duplicates
         matter, and the order makes a difference.
       • For nN, an ordered n-tuple or a sequence
         of length n is written (a1, a2, …, an). Its first
         element is a1, etc.
                                                  Contrast with
       • Note that (1, 2)  (2, 1)  (2, 1, 1). sets: {...}
       • Empty sequence, singlets, pairs, triples, …,
         n-tuples.
9/27/2010               Michael P. Frank / Kees van Deemter   30
Module #3 - Sets




       • n-tuples have many applications. For
         example,




9/27/2010            Michael P. Frank / Kees van Deemter   31
Module #3 - Sets




       • Relations are often spelled out by means of n-
         tuples. E.g., here are two 2-place relations:
            < = { (0,1), (1,2), (0,2), …) }
            Like-to-watch =
              {(John,news),(Mary,soap),(Ellen,movies)}
       • The first and second argument of a relation may
         come from different sets, e.g.
         first: element of the set of persons
         second: element of the set of TV-programs


9/27/2010                  Michael P. Frank / Kees van Deemter   32
Module #3 - Sets



             Cartesian Products of Sets
       • For sets A, B, their Cartesian product
         AB : {(a, b) | aA  bB }.
       • E.g. {a,b}{1,2} = {(a,1),(a,2),(b,1),(b,2)}
       • {John,Mary,Ellen}x{News,Soap}=




                                                            René Descartes
9/27/2010             Michael P. Frank / Kees van Deemter    (1596-1650)33
Module #3 - Sets



             Cartesian Products of Sets
       • For sets A, B, their Cartesian product
         AB : {(a, b) | aA  bB }.
       • E.g. {a,b}{1,2} = {(a,1),(a,2),(b,1),(b,2)}
       • {John,Mary,Ellen}x{News,Soap}=
         {(John,News),(Mary,News),(Ellen,News),
          (John,Soap),(Mary,Soap),(Ellen,Soap)}
       • If R is a relation between A and B then
         RAxB

9/27/2010             Michael P. Frank / Kees van Deemter   34
Module #3 - Sets



              Cartesian Products of Sets
       • Note that
            – for finite A, B, |AB| = |A|.|B|
            – the Cartesian product is not commutative: i.e.,
              AB: AB=BA.
            – notation extends naturally to A1  A2  …  An




9/27/2010                 Michael P. Frank / Kees van Deemter   35
Module #3 - Sets



                   Review of §1.6
       • Sets S, T, U… Special sets N, Z, R.
       • Set notations {a,b,...}, {x|P(x)}…
       • Set relation operators xS, ST, ST, S=T,
         ST, ST. (These form propositions.)
       • Finite vs. infinite sets.
       • Set operations |S|, P(S), ST.
       • Next up: §1.5: More set ops: , , .

9/27/2010            Michael P. Frank / Kees van Deemter   36
Module #3 - Sets



            Start §1.7: The Union Operator
       • For sets A, B, theirnion AB is the set
         containing all elements that are either in A,
         or (“”) in B (or, of course, in both).
       • Formally, A,B: AB = {x | xA  xB}.
       • Note that AB is a superset of both A and
         B (in fact, it is the smallest such superset):
             A, B: (AB  A)  (AB  B)

9/27/2010              Michael P. Frank / Kees van Deemter   37
Module #3 - Sets



                   Union Examples
       • {a,b,c}{2,3} = {a,b,c,2,3}
       • {2,3,5}{3,5,7} = {2,3,5,3,5,7} ={2,3,5,7}




9/27/2010            Michael P. Frank / Kees van Deemter   38
Module #3 - Sets



             The Intersection Operator
       • For sets A, B, their intersection AB is the
         set containing all elements that are
         simultaneously in A and (“”) in B.
       • Formally, A,B: AB={x | xA  xB}.
       • Note that AB is a subset of both A and B
         (in fact it is the largest such subset):
             A, B: (AB  A)  (AB  B)

9/27/2010             Michael P. Frank / Kees van Deemter   39
Module #3 - Sets



                   Intersection Examples
       • {a,b,c}{2,3} = ___
                          
       • {2,4,6}{3,4,5} = ______
                             {4}
                                                 Think “The
                                                 intersection of
                                                 University Ave. and
                                                 W 13th St. is just
                                                 that part of the road
                                                 surface that lies on
                                                 both streets.”

9/27/2010              Michael P. Frank / Kees van Deemter               40
Module #3 - Sets



                       Disjointness
       • Two sets A, B are called
         disjoint (i.e., not joined)
         iff their intersection is
         empty. (AB=)
       • Example: the set of even
         integers is disjoint with
         the set of odd integers.


9/27/2010              Michael P. Frank / Kees van Deemter   41
Module #3 - Sets



            Inclusion-Exclusion Principle
       • How many elements are in AB?
         Can you think of a general formula?

            (Express in terms of |A| and |B| and
            whatever else you need.)




9/27/2010                Michael P. Frank / Kees van Deemter   42
Module #3 - Sets



            Inclusion-Exclusion Principle
       • How many elements are in AB?
          |AB| = |A|  |B|  |AB|
       • Example: How many students are on our
         class email list? Consider set E  I  M,
         I = {s | s turned in an information sheet}
         M = {s | s sent the TAs their email address}
       • Some students may have done both!
          |E| = |IM| = |I|  |M|  |IM|
9/27/2010             Michael P. Frank / Kees van Deemter   43
Module #3 - Sets



                    Set Difference
       • For sets A, B, the difference of A and B,
         written AB, is the set of all elements that
         are in A but not B. Formally:
              A  B : x  xA  xB

       • Also called:
         The complement of B with respect to A.


9/27/2010             Michael P. Frank / Kees van Deemter   44
Module #3 - Sets



              Set Difference Examples
       • {1,2,3,4,5,6}  {2,3,5,7,9,11} =
               ___________
                   {1,4,6}
       • Z  N  {… , −1, 0, 1, 2, … }  {0, 1, … }
                = {x | x is an integer but not a nat. #}
                = {x | x is a negative integer}
                = {… , −3, −2, −1}



9/27/2010              Michael P. Frank / Kees van Deemter   45
Module #3 - Sets



            Set Difference - Venn Diagram
       • A−B is what‟s left after B
         “takes a bite out of A”
                                                               Chomp!
                   Set
                   AB

                    Set A                Set B
9/27/2010                Michael P. Frank / Kees van Deemter            46
Module #3 - Sets



                   Set Complements
       • The universe of discourse can itself be
         considered a set, call it U.
       • When the context clearly defines U, we say
         that for any set AU, the complement of A,
         written A, is the complement of A w.r.t. U,
         i.e., it is UA.
       • E.g., If U=N, {3,5}  {0,1,2,4,6,7,...}

9/27/2010            Michael P. Frank / Kees van Deemter   47
Module #3 - Sets



                   Set Identities
       • A




9/27/2010          Michael P. Frank / Kees van Deemter   48
Module #3 - Sets



                   Set Identities
       • A = A
       • AU =




9/27/2010          Michael P. Frank / Kees van Deemter   49
Module #3 - Sets



                   Set Identities
       • A = A
       • AU = A




9/27/2010          Michael P. Frank / Kees van Deemter   50
Module #3 - Sets



                   Set Identities
       • A = A = AU
       • AU = U
         A = 
                                           (A ) 




9/27/2010          Michael P. Frank / Kees van Deemter   51
Module #3 - Sets



                   Set Identities
       • A = A = AU
       • AU = U
         A = 
       • AA = A = AA
       • AB = BA       ( A)  A
         AB = BA
       • A(BC)=(AB)C A(BC)=(AB)C


9/27/2010          Michael P. Frank / Kees van Deemter   52
Module #3 - Sets

                       Have you seen
                   similar patterns before?




9/27/2010               Michael P. Frank / Kees van Deemter   53
Module #3 - Sets


            Read: := , := , :=F, U:=T

       •    A = A = AU
       •    AU = U , A = 
       •    AA = A = AA
       •    AB = BA , AB = BA
       •    A(BC)=(AB)C ,
            A(BC)=(AB)C


9/27/2010            Michael P. Frank / Kees van Deemter   54
Module #3 - Sets

                     Set Identities
            (don‟t worry about their names)
       •    Identity:    A = A = AU
       •    Domination: AU = U , A = 
       •    Idempotent: AA = A = AA
       •    Double complement: ( A)  A
       •    Commutative: AB = BA , AB = BA
       •    Associative: A(BC)=(AB)C ,
                         A(BC)=(AB)C

9/27/2010             Michael P. Frank / Kees van Deemter   55
Module #3 - Sets



             DeMorgan‟s Law for Sets
       • Exactly analogous to (and provable from)
         DeMorgan‟s Law for propositions.

                   A B  A  B
                   A B  A  B

9/27/2010            Michael P. Frank / Kees van Deemter   56
Module #3 - Sets



               ( An algebraic perspective
       • Propositional logic and set theory are isomorphic.
       • They both instantiate what is known as a
         Boolean Algebra:
         A structure (D,,+, . ,0,1) where
             is a one-place operation
            + and . are a two-place operations

            + is commutative, etc.                                )

9/27/2010                   Michael P. Frank / Kees van Deemter       57
Module #3 - Sets



                   Proving Set Identities
       To prove statements about sets, of the form
           E1 = E2 (where the Es are set expressions),
           here are three useful techniques:
       1. Use equivalence laws
       2. Prove E1  E2 and E2  E1 separately.
       3. Use a membership table.


9/27/2010              Michael P. Frank / Kees van Deemter   58
Module #3 - Sets



             Method 2: Mutual subsets
       Example: Show A(BC)=(AB)(AC).




9/27/2010          Michael P. Frank / Kees van Deemter   59
Module #3 - Sets



              Method 2: Mutual subsets
       Example: Show A(BC)=(AB)(AC).
       • Part 1: Show A(BC)(AB)(AC).
            – Assume xA(BC), & show x(AB)(AC).
            – We know that xA, and either xB or xC.
              • Case 1: xB. Then xAB, so x(AB)(AC).
              • Case 2: xC. Then xAC , so x(AB)(AC).
            – Therefore, x(AB)(AC).
            – Therefore, A(BC)(AB)(AC).
       • Part 2: Show (AB)(AC)  A(BC).
         (analogous)


9/27/2010                 Michael P. Frank / Kees van Deemter   60
Module #3 - Sets



             Method 2: Mutual subsets
       • A variant of this method: translate into
         propositional logic, then reason within
         propositional logic, then translate back into
         set theory. E.g.,
       • Show A(BC)(AB)(AC).
         Suppose xA  (xB  xC).
         Prove (xA  xB)  (xA  xC).


9/27/2010             Michael P. Frank / Kees van Deemter   61
Module #3 - Sets



            Method 3: Membership Tables
       • Just like truth tables for propositional logic.
       • Columns for different set expressions.
       • Rows for all combinations of memberships
         in constituent sets.
       • Use “1” to indicate membership in the
         derived set, “0” for non-membership.
       • Prove equivalence with identical columns.

9/27/2010              Michael P. Frank / Kees van Deemter   62
Module #3 - Sets



            Membership Table Example
       Prove (AB)B = AB.
            A      B AB (AB)B AB
            0      0  0     0     0
            0      1  1     0     0
            1      0  1     1     1
            1      1  1     0     0

9/27/2010             Michael P. Frank / Kees van Deemter   63
Module #3 - Sets



                Membership Table Exercise
       Prove (AB)C = (AC)(BC).
            A   B   C AB ( A B )  C A C            B C          (AC)(BC)
            0   0   0
            0   0   1
            0   1   0
            0   1   1
            1   0   0
            1   0   1
            1   1   0
            1   1   1


9/27/2010                      Michael P. Frank / Kees van Deemter                 64
Module #3 - Sets



             Membership Table Exercise
       Prove (AB)C = (AC)(BC).
            A B C AB (AB)C AC              BC            (AC)(BC)
            000
            001
            010          1
            011
            100          1
            101
            110          1
            111


9/27/2010               Michael P. Frank / Kees van Deemter                 65
Module #3 - Sets



             Membership Table Exercise
       Prove (AB)C = (AC)(BC).
            A B C AB (AB)C AC              BC            (AC)(BC)
            000
            001
            010          1                        1
            011
            100          1     1
            101
            110          1     1                  1
            111


9/27/2010               Michael P. Frank / Kees van Deemter                 66
Module #3 - Sets



             Membership Table Exercise
       Prove (AB)C = (AC)(BC).
            A B C AB (AB)C AC               BC           (AC)(BC)
            000
            001
            010          1                         1              1
            011
            100          1     1                                  1
            101
            110          1     1                   1              1
            111


9/27/2010               Michael P. Frank / Kees van Deemter                 67
Module #3 - Sets



                   Review of §1.6-1.7
       •    Sets S, T, U… Special sets N, Z, R.
       •    Set notations {a,b,...}, {x|P(x)}…
       •    Relations xS, ST, ST, S=T, ST, ST.
       •    Operations |S|, P(S), , , , , S
       •    Set equality proof techniques



9/27/2010              Michael P. Frank / Kees van Deemter   68
Module #3 - Sets


            Generalized Unions & Intersections
       • Since union & intersection are commutative
         and associative, we can extend them from
         operating on ordered pairs of sets (A,B) to
         operating on sequences of sets (A1,…,An), or
         even on unordered sets of sets,
         X={A | P(A)} (for some property P).
            (This is just like using  when adding up
            large or variable numbers of numbers)

9/27/2010                Michael P. Frank / Kees van Deemter   69
Module #3 - Sets



                   Generalized Union
       • Binary union operator: AB
       • n-ary union:
         A1A2…An : ((…((A1 A2) …) An)
         (grouping & order is irrelevant)
                             n
       • “Big U” notation:      A   i 1
                                             i


       • Or for infinite sets of sets:                 A
                                                      A X

9/27/2010              Michael P. Frank / Kees van Deemter   70
Module #3 - Sets



               Generalized Intersection
       • Binary intersection operator: AB
       • n-ary intersection:
         A1A2…An((…((A1A2)…)An)
         (grouping & order is irrelevant)
                                n
       • “Big Arch” notation:     A      i 1
                                                   i


       • Or for infinite sets of sets:                 A
                                                       A X

9/27/2010              Michael P. Frank / Kees van Deemter    71
Module #3 - Sets



                (Aside: Representations
       • A frequent theme of this course is: methods
         of representing one discrete structure using
         another discrete structure.
       • E.g., one can represent natural numbers as
            – Sets: 0:, 1:{0}, 2:{0,1}, 3:{0,1,2}, …
            – Can you write 3 more fully?



9/27/2010                Michael P. Frank / Kees van Deemter   72
Module #3 - Sets



                      Representations
            – Sets: 0:, 1:{0}, 2:{0,1}, 3:{0,1,2}, …
            – General: n : {x N : x<n}
            – Can you write 3 more fully?

       0=
       1 = {}
       2 = {,{}}
       3 = {,{},{,{}}}

9/27/2010                Michael P. Frank / Kees van Deemter   73
Module #3 - Sets



                        Representations
       3 = {,{},{,{}}}

       • Note that this uses  as the only building
         block. (This is how „pure‟ set theory works:
         everything is created from nothing …)
         For Computer Science, this is not directly
            relevant.                                          )
9/27/2010                Michael P. Frank / Kees van Deemter       74
Module #3 - Sets


            Representing Sets with Bit Strings

       For an enumerable u.d. U with ordering
         x1, x2, …, represent a finite set SU as the
         finite bit string B=b1b2…bn where
         i: xiS  (i<n  bi=1).
       E.g. U=N, S={2,3,5,7,11}, B=001101010001.
       In this representation, the set operators
         “”, “”, “-” are implemented directly by
         bitwise OR, AND, NOT!
9/27/2010             Michael P. Frank / Kees van Deemter   75
Module #3 - Sets


            Representing Sets with Bit Strings

        In this representation, the set operators
         “”, “”, “-” are implemented directly by
         bitwise OR, AND, NOT!
       For example, {2,3,5,7,11}  {1,3,4,9} =
       001101010001 
       010110000100 =
       011111010101

9/27/2010             Michael P. Frank / Kees van Deemter   76
Module #3 - Sets




       • We now know enough about sets to move
         on to relations between sets, and functions
         from one set to another




9/27/2010             Michael P. Frank / Kees van Deemter   77

								
To top