Download presentation
Presentation is loading. Please wait.
1
CS1022 Computer Programming & Principles
Lecture 1 Set Theory
2
Plan of lecture Why set theory? Sets and their properties
Membership and definition of sets “Famous” sets Types of variables and sets Sets and subsets Venn diagrams Set operations CS1022
3
Why set theory? Set theory is a cornerstone of mathematics
Provides a convenient notation for many concepts in computing such as lists, arrays, etc. and how to process these CS1022
4
Sets A set is A collection of objects Separated by a comma Enclosed in {...} (curly brackets) Examples: {Edinburgh, Perth, Dundee, Aberdeen, Glasgow} {2, 3, 11, 7, 0} {CS1024, CS1022, CS1019, SX1009} Each object in a set is called an element of the set We use italic capital letters to refer to sets: C = {2, 3, 11} is the set C containing elements 2, 3 and 11 CS1022
5
Sets – indices Talk about arbitrary elements, where each subscript is a different integer: {ai, aj, ..., an} Talk about systematically going through the set, where each superscript is a different integer: {a1i, a2j, ..., a7n} {Edinburgh1, Perth2, Dundee3, Aberdeen4, Glasgow5} CS1022
6
Properties of sets The order of elements is irrelevant
{1, 2, 3} = {3, 2, 1} = {1, 3, 2} = {2, 3, 1} There are no repeated elements {1, 2, 2, 1, 3, 3} = {1, 2, 3} Sets may have an infinite number of elements {1, 2, 3, 4, ...} (the “...” means it goes on and on...) What about {0, 4, 3, 2, ...}? CS1022
7
Membership and definition of sets
Membership of a set a S – represents that a is an element of set S a S – represents that a is not an element of set S For large sets we can use a property (a predicate!) to define its members: S = {x : P(x)} – S contains those values for x which satisfy property P N = { x : x is an odd positive integer} = {1, 3, 5, ...} CS1022
8
Why set theory? Example: check if an element occurs in a collection
begin input x, a14, a22, ...,a87; found := false; for i := 1 to n do if x = aij then found := true and output found; else output found; end search though collection by superscript. begin input x, a1, a2, ...,an; if x {a1, a2, ...,an} then found := true; end CS1022
9
Names of “famous” sets Some sets have a special name and symbol:
Empty set: has no element, represented as { } or Natural numbers: N = {1, 2, 3, ...} Integers: Z = {..., -3, -2, -1, 0, 1, 2, 3, ...} Rational numbers: Q = {p/q : p, q Z, q 0} Real numbers: R = {all decimals} N.B.: in some texts/books 0 N CS1022
10
Types (of variables) and sets
Many modern programming languages require that variables be declared as belonging to a data type A data type is a set with a selection of operations on that set Example: type “int” in Java has operations +, *, div, etc. When we declare the type of a variable we state what set the value of the variable belongs to and the operations that can be applied to it. CS1022
11
A B if, and only if, x ((x A) (x B))
Sets and subsets Some sets are contained in other sets {1, 2, 3} is contained in {1, 2, 3, 4, 5} N (natural numbers) is contained in Z (integers) Set A is a subset of set B if every element of A is in B We represent this as A B Formally, A B if, and only if, x ((x A) (x B)) CS1022
12
Venn diagrams A diagram to represent sets and how they relate
A set is represented as an oval, a circle or rectangle With or without elements in them Venn diagrams show area of interest in grey Venn diagram showing a set and a subset A 1 2 3 472 B John Venn C D D C CS1022
13
x ((x A) (x B)) and y ((y B) (y A))
Set equality (1) Two sets are equal if they have the same elements Formally, A and B are equal if A B and B A That is, x ((x A) (x B)) and y ((y B) (y A)) We represent this as A = B CS1022
14
Set equality (2) Let A = {n : n2 is an odd integer}
Let B = {n : n is an odd integer} Show that A = B Solution If x A then x2 is an odd integer, which means x is odd (this needs a proof, but let’s assume it has been proven). Therefore, x B and so A B. Conversely, if x B then x is an odd integer, and x2 is an odd integer (this also needs a proof, but again let’s assume it has been proven). Therefore, x A and so B A. Solution Solution If x A then x2 is an odd integer, which means x is odd (this needs a proof, but let’s assume it has been proven). Therefore, x B and so A B. CS1022
15
Set equality (3) Proof has two parts
Part 1: all elements of A are elements of B Part 2: all elements of B are elements of A CS1022
16
Set operations: union (1)
The union of sets A and B is A B = {x : x A or x B} That is, Those elements belonging to A together with Those elements belonging to B and (Possibly) those elements belonging to both A and B N.B.: no repeated elements in sets!! Examples: {1, 2, 3, 4} {4, 3, 2, 1} = {1, 2, 3, 4} {a, b, c} {1, 2} = {a, 1, b, 2, c} CS1022
17
Set operations: union (2)
Venn diagram (area of interest in grey) A B A B CS1022
18
Set operations: intersection (1)
The intersection of sets A and B is A B = {x : x A and x B} That is, Only those elements belonging to both A and B Examples: {1, 2, 3, 4} {4, 3, 2, 1} = {1, 2, 3, 4} {a, b, c} {1, 2} = { } = (empty set) CS1022
19
Set operations: intersection (2)
Venn diagram (area of intersection in darker grey) A B A B CS1022
20
Set operations: complement (1)
The complement of a set B relative to a set A is A – B = A \ B = {x : x A and x B} That is, Those elements belonging to A and not belonging to B Examples: {1, 2, 3, 4} – {4, 3, 2, 1} = { } = (empty set) {a, b, c} – {1, 2} = {a, b, c} {1, 2, 3} – {1, 2} = {3} CS1022
21
Set operations: complement (2)
Venn diagram (area of interest in darker grey) A B A – B CS1022
22
Universal set Sometimes we deal with subsets of a large set U
U is the universal set for a problem In our previous Venn diagrams, the outer rectangle is the universal set Suppose A is a subset of the universal set U Its complement relative to U is U – A We represent as U – A = A = {x : x A} A CS1022
23
Set operations: Symmetric difference
Symmetric difference of two sets A and B is A B = {x : (x A and x B) or (x B and x A)} That is: Elements in A and not in B or Elements in B and not in A Or: elements in A or B, but not in both (grey area) A B CS1022
24
Examples Let A = {1, 3, 5, 7} B = {2, 4, 6, 8} C = {1, 2, 3, 4, 5}
Find A C B C A – C B C CS1022
25
Examples Let A = {1, 3, 5, 7} B = {2, 4, 6, 8} C = {1, 2, 3, 4, 5}
Find A C = {1, 3, 5, 7} {1, 2, 3, 4, 5} = {1, 2, 3, 4, 5, 7} B C A – C B C CS1022
26
Examples Let A = {1, 3, 5, 7} B = {2, 4, 6, 8} C = {1, 2, 3, 4, 5}
Find A C = {1, 3, 5, 7} {1, 2, 3, 4, 5} = {1, 2, 3, 4, 5, 7} B C = {2, 4, 6, 8} {1, 2, 3, 4, 5} = {2, 4} A – C B C CS1022
27
Examples Let A = {1, 3, 5, 7} B = {2, 4, 6, 8} C = {1, 2, 3, 4, 5}
Find A C = {1, 3, 5, 7} {1, 2, 3, 4, 5} = {1, 2, 3, 4, 5, 7} B C = {2, 4, 6, 8} {1, 2, 3, 4, 5} = {2, 4} A – C = {1, 3, 5, 7} – {1, 2, 3, 4, 5} = {7} B C CS1022
28
Examples Let A = {1, 3, 5, 7} B = {2, 4, 6, 8} C = {1, 2, 3, 4, 5}
Find A C = {1, 3, 5, 7} {1, 2, 3, 4, 5} = {1, 2, 3, 4, 5, 7} B C = {2, 4, 6, 8} {1, 2, 3, 4, 5} = {2, 4} A – C = {1, 3, 5, 7} – {1, 2, 3, 4, 5} = {7} B C = (B – C) (C – B) = ({2, 4, 6, 8} – {1, 2, 3, 4, 5}) ({1, 2, 3, 4, 5} – {2, 4, 6, 8}) = {6, 8} {1, 3, 5} = {1, 3, 5, 6, 8} N.B.: ordering for better visualisation! CS1022
29
Information modelling with sets
We can build an information model with sets “Model” means we don’t care how it is implemented Essence: what information is needed Example: information model for student record NAME = {namei, ...., namen} ID = {idi, ...., idn} COURSE = {coursei, ...., coursen} Student Info: (namej, idk, courses), where namej NAME, idk ID, and courses COURSE. Student Database is a set of student info: R = {(bob,345,{CS1022,CS1015}), (mary,222,{SX1009,CS1022,MA1004}), (jill,246,{SX1009,CS2013,MA1004}), (mary,247,{SX1009,CS1022,MA1004}), ...} CS1022
30
Query the Student Database
R = {(bob,345,{CS1022,CS1015}), (mary,222,{SX1009,CS1022,MA1004}), (jill,246,{SX1009,CS2013,MA1004}), (mary,247,{SX1009,CS1022,MA1004}), ...} Query to obtain a class list. Give set C, where: C = {(N,I) : (N,I,Courses) R and CS1022 Courses} = {(bob,345), (mary,222), (mary,247), ...} CS1022
31
Summary You should now know: What sets are and how to represent them
Venn diagrams Operations with sets How to build information models with sets and how to operate with this model CS1022
32
Further reading R. Haggarty. “Discrete Mathematics for Computing”. Pearson Education Ltd (Chapter 3) Wikipedia’s entry Wikibooks entry CS1022
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.