Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture adapted from CS3511,Discrete Methods Kees van Deemter

Similar presentations


Presentation on theme: "Lecture adapted from CS3511,Discrete Methods Kees van Deemter"— Presentation transcript:

1 Lecture adapted from CS3511,Discrete Methods Kees van Deemter
Discrete Mathematics and its Applications 3/28/2017 Lecture adapted from CS3511,Discrete Methods Kees van Deemter Slides originally adapted from Michael P. Frank’s Course Based on the Text Discrete Mathematics & Its Applications (5th Edition) by Kenneth H. Rosen A word about organization: Since different courses have different lengths of lecture periods, and different instructors go at different paces, rather than dividing the material up into fixed-length lectures, we will divide it up into “modules” which correspond to major topic areas and will generally take 1-3 lectures to cover. Within modules, we have smaller “topics”. Within topics are individual slides. The instructor can bring several modules to each lecture with him, to make sure he has enough material to fill the lecture, or in case he wants to preview or review slides from upcoming or recent past lectures. 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

2 Adaptation of Module #4: 1. Functions
Rosen 5th ed., §1.8 ~45 slides, ~1 lecture 3/28/2017 Michael P. Frank / Kees van Deemter

3 Michael P. Frank / Kees van Deemter
Functions From calculus, you know the concept of a real-valued function f, which assigns to each number xR one particular value y=f(x), where yR. Example: f defined by the rule f(x)=x2 The notion of a function can be generalized to the concept of assigning elements of any set to elements of any set. Functions are also called operators. 3/28/2017 Michael P. Frank / Kees van Deemter

4 Michael P. Frank / Kees van Deemter
Functions Functions were the key concept in lambda calculus and Haskell: x.x+2 is the function that sends any appropriate argument x to the corresponding value x+2 After the Haskell definition f x = x+2, f denotes that same function x.x+2 Let’s be more precise about functions, working towards a classification of functions 3/28/2017 Michael P. Frank / Kees van Deemter

5 Function: Formal Definition
A function f from (or “mapping”) A to B (f:AB) is an assignment of exactly one element f(x)B to each element xA. Generalizations: Functions of n arguments: f: (A1 x A2... x An)  B. A partial (non-total) function f assigns zero or one elements of B to each element xA. 3/28/2017 Michael P. Frank / Kees van Deemter

6 Michael P. Frank / Kees van Deemter
Graphs of Functions We can represent a function f:AB as a set of ordered pairs f ={(a,f(a)) | aA}. This makes f a relation between A and B: f is a subset of A x B. But functions are special: for every aA, there is at least one pair (a,b). Formally: aAbB((a,b)f) for every aA, there is at most one pair (a,b). Formally: a,b,c((a,b)f  (a,c)f  bc) A relation over numbers can be represent as a set of points on a plane. (A point is a pair (x,y).) A function is then a curve (set of points), with only one y for each x. 3/28/2017 Michael P. Frank / Kees van Deemter

7 Discrete Mathematics and its Applications
3/28/2017 Functions can be represented graphically in several ways: A B f f y a b Note that the inverses of the functions in the two diagrams on the left are not functions. Note also that the plot has gaps if the domain of the function is not the set R x A B Bipartite Graph Plot Like Venn diagrams 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

8 Functions that you’ve seen before
A set S over universe U can be viewed as a function from the elements of U to … 3/28/2017 Michael P. Frank / Kees van Deemter

9 Michael P. Frank / Kees van Deemter
Still More Functions A set S over universe U can be viewed as a function from the elements of U to … … {T, F}, saying for each element of U whether it is in S. (This is called the characteristic function of S) Suppose U={0,1,2,3,4}. Then S={1,3} S(0)=S(2)=S(4)=F, S(1)=S(3)=T. 3/28/2017 Michael P. Frank / Kees van Deemter

10 Michael P. Frank / Kees van Deemter
Still More Functions A set operator, such as  or , can be viewed as a function from … to … 3/28/2017 Michael P. Frank / Kees van Deemter

11 Michael P. Frank / Kees van Deemter
Still More Functions A set operator such as  or  can be viewed as a function … … from (ordered) pairs of sets, to sets. Example: (({1,3},{3,4})) = {3} 3/28/2017 Michael P. Frank / Kees van Deemter

12 Michael P. Frank / Kees van Deemter
A new notation Sometimes we write YX to denote the set F of all possible functions f: XY. Thus, f  YX is another way of saying that f: XY. (This notation is especially appropriate, because for finite X, Y, we have |F| = |Y||X|. ) 3/28/2017 Michael P. Frank / Kees van Deemter

13 Some Function Terminology
If f:AB, and f(a)=b (where aA & bB), then we say: A is the domain of f. B is the codomain of f. b is the image of a under f. a is a pre-image of b under f. In general, b may have more than 1 pre-image. The range RB of f is R={b | a f(a)=b }. We also say the signature of f is A→B. 3/28/2017 Michael P. Frank / Kees van Deemter

14 Michael P. Frank / Kees van Deemter
Range versus Codomain The range of a function may not be its whole codomain. The codomain is the set that the function is declared to map all domain values into. The range is the particular set of values in the codomain that the function actually maps elements of the domain to. (The range is the smallest set that could be used as its codomain.) 3/28/2017 Michael P. Frank / Kees van Deemter

15 Choosing the right (co)domain
Consider the function f = λx.100/x Is f a (total) function from Int to R? f is a partial function from Int to R f is a (total) function from Int-{0} to R Consider g = λx.√x Is g a (total) function from R to R? g is a total function from R+ to RxR e.g. g(4)= (2,-2) 3/28/2017 Michael P. Frank / Kees van Deemter

16 Images of Sets under Functions
Given f:AB, and SA, The image of S under f is the set of all images (under f) of the elements of S. f(S) : {f(s) | sS} : {b | sS: f(s)=b}. The range of f equals the image (under f) of ... 3/28/2017 Michael P. Frank / Kees van Deemter

17 Images of Sets under Functions
Given f:AB, and SA, The image of S under f is the set of all images (under f) of the elements of S. f(S) : {f(s) | sS} : {b | sS: f(s)=b}. The range of f equals the image (under f) of f’s domain. 3/28/2017 Michael P. Frank / Kees van Deemter

18 Michael P. Frank / Kees van Deemter
One-to-One Functions A function is one-to-one (1-1), or injective, or an injection, iff every element of its range has only 1 pre-image. Formally: given f:AB, “f is injective” : (x,y: xy  f(x)f(y)). In other words: only one element of the domain is mapped to any given one element of the range. In this case, domain & range have same cardinality. What about codomain? 3/28/2017 Michael P. Frank / Kees van Deemter

19 Michael P. Frank / Kees van Deemter
Codomain may be larger. 3/28/2017 Michael P. Frank / Kees van Deemter

20 One-to-One Illustration
Are these relations one-to-one functions? 3/28/2017 Michael P. Frank / Kees van Deemter

21 One-to-One Illustration
Are these relations one-to-one functions? One-to-one 3/28/2017 Michael P. Frank / Kees van Deemter

22 One-to-One Illustration
Are these relations one-to-one functions? Not one-to-one One-to-one 3/28/2017 Michael P. Frank / Kees van Deemter

23 One-to-One Illustration
Are these relations one-to-one functions? Not one-to-one Not even a function! One-to-one 3/28/2017 Michael P. Frank / Kees van Deemter

24 Sufficient Conditions for 1-1ness
For functions f over numbers, we say: f is strictly increasing iff x>y  f(x)>f(y) for all x,y in domain; f is strictly decreasing iff x>y  f(x)<f(y) for all x,y in domain; If f is either strictly increasing or strictly decreasing, then f must be one-to-one. Does the converse hold? 3/28/2017 Michael P. Frank / Kees van Deemter

25 Onto (Surjective) Functions
A function f:AB is onto or surjective or a surjection iff its range is equal to its codomain (bB, aA: f(a)=b). Consider “country of birth of”: AB, where A=people, B=countries. Is this a function? Is it an injection? Is it a surjection? 3/28/2017 Michael P. Frank / Kees van Deemter

26 Onto (Surjective) Functions
A function f:AB is onto or surjective or a surjection iff its range is equal to its codomain Consider “country of birth of”: AB, where A=people, B=countries. Is this a function? Yes (always 1 c.o.b.) Is it an injection? No (many have same c.o.b.) Is it a surjection? Probably yes .. 3/28/2017 Michael P. Frank / Kees van Deemter

27 Onto (Surjective) Functions
A function f:AB is onto or surjective or a surjection iff its range is equal to its codomain In predicate logic: 3/28/2017 Michael P. Frank / Kees van Deemter

28 Onto (Surjective) Functions
A function f:AB is onto or surjective or a surjection iff its range is equal to its codomain. In predicate logic: bBaA f(a)=b 3/28/2017 Michael P. Frank / Kees van Deemter

29 Onto (Surjective) Functions
A function f:AB is onto or surjective or a surjection iff its range is equal to its codomain (bBaA f(a)=b). E.g., for domain & codomain Z, the function x.x+1 is injective and surjective. 3/28/2017 Michael P. Frank / Kees van Deemter

30 Michael P. Frank / Kees van Deemter
Claim: if f:ZZ and f =x.x+1 then f is 1-to-1 and also onto. (Z is the set of all integers) Proof that f is onto: Consider any arbitrary element a of Z. We have f(a-1)=a, where a  Z. Proof that f is 1-to-1: Suppose f(u)=f(w)=a. In other words, u+1=a and w+1=a. It follows that u=a-1 and w=a-1, so u=w. 3/28/2017 Michael P. Frank / Kees van Deemter

31 Michael P. Frank / Kees van Deemter
Illustration of Onto Are these functions onto their depicted co-domains? 3/28/2017 Michael P. Frank / Kees van Deemter

32 Michael P. Frank / Kees van Deemter
Illustration of Onto Are these functions onto? 3/28/2017 Michael P. Frank / Kees van Deemter

33 Michael P. Frank / Kees van Deemter
Illustration of Onto Are these functions onto? onto not onto onto not onto 3/28/2017 Michael P. Frank / Kees van Deemter

34 Michael P. Frank / Kees van Deemter
Illustration of Onto Are these functions 1-1? onto not onto onto not onto 3/28/2017 Michael P. Frank / Kees van Deemter

35 Michael P. Frank / Kees van Deemter
Illustration of Onto Are these functions 1-1? not 1-1 onto not 1-1 not onto 1-1 onto 1-1 not onto 3/28/2017 Michael P. Frank / Kees van Deemter

36 Michael P. Frank / Kees van Deemter
Bijections A function is said to be a one-to-one correspondence, or a bijection iff it is both one-to-one and onto. 3/28/2017 Michael P. Frank / Kees van Deemter

37 Two terminologies for talking about functions
injection = one-to-one surjection = onto bijection = one-to-one correspondence 3 = 1&2 3/28/2017 Michael P. Frank / Kees van Deemter

38 Michael P. Frank / Kees van Deemter
Bijections For bijections f:AB, there exists a function that is the inverse of f, written f 1: BA Intuitively, this is the function that undoes everything that f does Formally, it’s the unique function such that ... 3/28/2017 Michael P. Frank / Kees van Deemter

39 Michael P. Frank / Kees van Deemter
Bijections For bijections f:AB, there exists an inverse of f, written f 1: BA Intuitively, this is the function that undoes everything that f does Formally, it’s the unique function such that (the identity function on A) 3/28/2017 Michael P. Frank / Kees van Deemter

40 Michael P. Frank / Kees van Deemter
Bijections Example 1: Let f: ZZ be defined as f(x)= x+1. What is f1 ? Example 2: Let g: ZN be defined as g(x)= |x|. What is g1 ? 3/28/2017 Michael P. Frank / Kees van Deemter

41 Michael P. Frank / Kees van Deemter
Bijections Example 1: Let f: ZZ be defined as f(x)=x+1. What is f1 ? f1 is the function (let’s call it h) h: ZZ defined as h(x)=x-1. Proof: h(f(x)) = (x+1)-1 = x 3/28/2017 Michael P. Frank / Kees van Deemter

42 Michael P. Frank / Kees van Deemter
Bijections Example 2: Let g: ZN be defined as g(x)=|x|. What is g1 ? This was a trick question: there is no such function, since g is not a bijection: There is no function h such that h(|x|)=x and h(|x|)=x (NB There is a relation h for which this is true.) 3/28/2017 Michael P. Frank / Kees van Deemter

43 The Diagonalisation Method
Discrete Mathematics and its Applications 3/28/2017 The Diagonalisation Method Georg Cantor (1873): Can we compare the sizes of infinite sets? Example: card(N ) = card({0*1*})? Both are infinite But is one larger than the other? Cantor’s idea: The size (cardinality) of a set should not depend on the identity of its elements Two finite sets A and B have the same size if we can pair the elements of A with elements of B Formally: there exists a bijection between A and B 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

44 Correspondences (Cont’d)
Discrete Mathematics and its Applications 3/28/2017 Correspondences (Cont’d) Example: Let N be the set of natural numbers {1, 2, 3, …} E be the set of even natural numbers {2, 4, 6, …} Using Cantor’s definition of size, we can show that N and E have the same size: Bijection (!): f (n) = 2n Intuitively, E is smaller than N, but Pairing each element of N with its corresponding element in E is possible, So we declare these two set to be the same size This even though E  N (E is a real subset of N ) 6 3 4 2 1 f (n) n 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

45 Discrete Mathematics and its Applications
3/28/2017 Countable sets A set X is finite if it has n elements, for some n in N. A set is countable if either It is finite or It has the same size as N, the natural numbers For example, N is countable, and so are all its subsets: E is countable {0,1,2,3} is countable  is countable How about supersets of N? 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

46 An Even Stranger Example…
Discrete Mathematics and its Applications 3/28/2017 An Even Stranger Example… Let Q be the set of positive rational numbers Q = { m/n | m,n  N } Just like E, the set Q has the same size as N ! We show this giving a bijection from Q to N Q is thus countable One way is to enumerate (i.e., to list) X’s elements. For example, for X=Q : Pair the first element of X with 1 from N And so on, making sure every member of Q appears only once in the list 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

47 An Even Stranger Example… (Cont’d)
Discrete Mathematics and its Applications 3/28/2017 An Even Stranger Example… (Cont’d) To build a list with the elements of Q make inf. matrix with all positive rational numbers i -th row contains all numbers with numerator i j -th column has all numbers with denominator j i /j is in i -th row and j -th column 1/1 1/2 1/3 1/4 1/5 2/1 2/2 2/3 2/4 2/5 3/1 3/2 3/3 3/4 3/5 4/1 4/2 4/3 4/4 4/5 5/1 5/2 5/3 5/4 5/5 . . . 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

48 An Even Stranger Example… (Cont’d)
Discrete Mathematics and its Applications 3/28/2017 An Even Stranger Example… (Cont’d) Now we turn the previous matrix into a list A bad way: begin list with first row Since rows are infinite, we will never get to 2nd row! 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

49 An Even Stranger Example… (Cont’d)
Discrete Mathematics and its Applications 3/28/2017 An Even Stranger Example… (Cont’d) Instead, we list the elements along diagonals: 1/1 1/2 1/3 1/4 1/5 2/1 2/2 2/3 2/4 2/5 3/1 3/2 3/3 3/4 3/5 4/1 4/2 4/3 4/4 4/5 5/1 5/2 5/3 5/4 5/5 . . . We should, however, eliminate repeated elements 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

50 An Even Stranger Example… (Cont’d)
Discrete Mathematics and its Applications 3/28/2017 An Even Stranger Example… (Cont’d) We list elements along diagonals w/o repetitions: 1/1 1/2 1/3 1/4 1/5 2/1 2/2 2/3 2/4 3/1 3/2 3/3 4/1 4/2 5/1 . . . 1/1, 2/1, 1/2, 3/1, 1/3, … 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

51 Discrete Mathematics and its Applications
3/28/2017 Uncountable sets Some sets have no correspondence with N These sets are simply too big! They are not countable: we say uncountable Theorem: The set of real numbers between 0 and 1 (e.g., 0.244, ) is uncountable Call this set R0,1 (Some sets are even larger. “Serious” set theory is all about theorems that concern infinite sets. – Most of this is irrelevant for this course.) 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

52 Finally: diagonalisation
Theorem: | R0,1 | > |N|. Proof strategy: | R0,1 |>=|N|. Suppose | R0,1 |=|N| and derive a contradiction: Each member of R0,1 can be written as a zero followed by a dot and a countable sequence of digits. Suppose there existed a complete enumeration of R, (using whatever order) <e1,e2,e3,...>. 3/28/2017 Michael P. Frank / Kees van Deemter

53 Cantor’s diagonalisation trick:
(starting from an arbitrary list) e e e e ... 3/28/2017 Michael P. Frank / Kees van Deemter

54 Now construct a Real number n that’s not in the enumeration:
n’s first digit (after the dot) = [e1’s first digit] + 1 n’s second digit = [e2’s second digit] General: n’s i-th difit = [e-i’s i-th digit] + 1 i: n differs from e-i in its i-th digit Contradiction: <e1,e2,e3,...> is not a (complete) enumeration after all. QED 3/28/2017 Michael P. Frank / Kees van Deemter

55 Adaptation of Module #3: 2. Sets and the Russell Paradox
Rosen 5th ed., §1.6 especially ex. 30 on p. 86 3/28/2017 Michael P. Frank / Kees van Deemter

56 Michael P. Frank / Kees van Deemter
Basic Set Notations 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). 3/28/2017 Michael P. Frank / Kees van Deemter

57 Discrete Mathematics and its Applications
3/28/2017 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! This is a nice exercise. We won’t worry about this particular inconsistency (Russell’s paradox) in this course, because the extra restrictions on the theory that need to be imposed to prevent the problem are of a rather esoteric and technical nature, and they don’t really affect anything about the way we apply sets in everyday practice. So, we will go ahead and just use naïve set theory with the understanding that all of our arguments could be replaced almost word-for-word by arguments based on some more well-founded version of set theory. One of the most popular set theories that has no known internal contradictions is Zermelo-Fraenkel (ZF) Set Theory. It is sometimes also augmented with an extra axiom called the “Axiom of Choice,” producing another widely-used set theory, ZFC (Zermelo-Fraenkel with Choice). However, the Axiom of Choice has been proven to be independent of the other axioms, which means that you could just as validly add the negation of the axiom of choice to ZF instead. In other words, not only is the axiom of choice not provable from ZF, but is has no inherent truth value within the context of ZF. We are free to make up whatever truth value we want for it, and then explore the resulting theory. This is just an illustration of the more general principle that what we are doing in mathematics is ultimately just inventing an arbitrary set of axioms to start out with, that have no inherent “truth” in and of themselves, and exploring what results from them. Ultimately, the only absolute mathematical “truths” are the tautologies saying that such-and-such consequence follows logically from such-and-such axioms. 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

58 This version of Set Theory is inconsistent
Discrete Mathematics and its Applications 3/28/2017 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? Turn into exercise! See note about ZF in the earlier slide near the start of this module. Bertrand Russell was the guy who discovered this particular pathalogical example. The question of whether it is a member of itself is known as “Russell’s Paradox.” 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

59 Discrete Mathematics and its Applications
3/28/2017 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 With Proof by Contradiction, 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 With Proof by Contradiction, we have SS We conclude that both SS nor SS Paradox! Turn into exercise! See note about ZF in the earlier slide near the start of this module. Bertrand Russell was the guy who discovered this particular pathalogical example. The question of whether it is a member of itself is known as “Russell’s Paradox.” 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

60 Discrete Mathematics and its Applications
3/28/2017 To avoid inconsistency, set theory must somehow change Turn into exercise! See note about ZF in the earlier slide near the start of this module. Bertrand Russell was the guy who discovered this particular pathalogical example. The question of whether it is a member of itself is known as “Russell’s Paradox.” Bertrand Russell 3/28/2017 Michael P. Frank / Kees van Deemter (c) , Michael P. Frank

61 One technique to avoid the problem:
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. You’ve seen this technique in use: Haskell’s list comprehensions allow us to write [x | x  [1..] , even x], but not simply [x | even x], 3/28/2017 Michael P. Frank / Kees van Deemter

62 Another technique to avoid the problem:
Russell’s paradox arises from the fact that we can write xx (or xx, for that matter). Forbid such expressions using types. You’ve seen this technique in use: Haskell’s use of typing. Applied to the present case: give  a type that forbids it from relating two things of the same type. 3/28/2017 Michael P. Frank / Kees van Deemter

63 Our focus: computability
We shall not worry about “saving” set theory from paradoxes like Russell’s Instead, we shall use the Russell paradox in a different setting Before we do this, we need to talk about computability and Turing Machines. 3/28/2017 Michael P. Frank / Kees van Deemter

64 Michael P. Frank / Kees van Deemter
3/28/2017 Michael P. Frank / Kees van Deemter


Download ppt "Lecture adapted from CS3511,Discrete Methods Kees van Deemter"

Similar presentations


Ads by Google