Presentation is loading. Please wait.

Presentation is loading. Please wait.

Snick  snack CPSC 121: Models of Computation 2008/9 Winter Term 2 Functions Steve Wolfman, based on notes by Patrice Belleville and others.

Similar presentations


Presentation on theme: "Snick  snack CPSC 121: Models of Computation 2008/9 Winter Term 2 Functions Steve Wolfman, based on notes by Patrice Belleville and others."— Presentation transcript:

1 snick  snack CPSC 121: Models of Computation 2008/9 Winter Term 2 Functions Steve Wolfman, based on notes by Patrice Belleville and others

2 Lecture Prerequisites Read Section 7.1. Solve problems like Exercise Set 7.1, #1-4, 13-14, 23-24.

3 Learning Goals: Pre-Class By the start of class, you should be able to: –Define the terms domain, co-domain, range, image, and pre-image –Use appropriate function syntax to relate these terms (e.g., f : A  B indicates that f is a function mapping domain A to co- domain B ). –Determine whether f : A  B is a function given a definition for f as an equation or arrow diagram.

4 Learning Goals: In-Class By the end of this unit, you should be able to: –Define the terms injective (one-to-one), surjective (onto), bijective (one-to-one correspondence), and inverse. –Determine whether a given function is injective, surjective, and/or bijective. –Apply your proof skills to proofs about the properties (e.g., injectiveness, surjectiveness, bijectiveness, and function-ness) of functions and their inverses.

5 Outline Functions as “Computation Abstractions” Definition of Functions and Function Terminology Function Properties –Injective –Surjective –Bijective Function Operations –Inverse –Composition Dropped from learning goals and exam.

6 What is this? control data1 data2 output

7 What is this? control data1 data2 output

8 What is this? control data1 data2 output

9 What is this? control data1 data2 output In the lab, you implemented a multiplexer and then used it as a piece in larger circuits. You abstracted from the concrete implementation to a description of its function: f(control, data1, data2) = output = (~control  data1)  (control  data2) = data1 if control is 0, but data2 otherwise

10 Functions, Abstraction, and CPSC 121 Computer scientists use many abstraction levels, with reasoning and often execution tools at each level. In 121, we learn tools for some key abstraction levels: wiring physical gates, computer-based hardware design techniques, propositional logic, predicate logic, sets, … Functions are a new level that let us talk about how computations work and fit together. Bonus: functions alone are enough for all of computation, using the “λ calculus”.

11 Outline Functions as “Computation Abstractions” Definition of Functions and Function Terminology Function Properties –Injective –Surjective –Bijective Function Operations –Inverse –Composition

12 What is a Function? Mostly, a function is what you learned it was all through K-12 mathematics, with strange vocabulary to make it more interesting… A function f:A  B maps values from its domain A to its co-domain B. Domain Co-domain f(x) = x 3 f(x) = x mod 4 f(x) =  x  Look, sets! CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

13 What is a Function? Mostly, a function is what you learned it was all through K-12 mathematics, with strange vocabulary to make it more interesting… A function f:A  B maps values from its domain A to its co-domain B. Domain Co-domain f(x) = x 3 R or Z or... R or Z or... f(x) = x mod 4 Z or Z + or... Z or Z + or... f(x) =  x  R or R + or... Z or Z + or... CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

14 Plotting Functions f(x) = x 3 f(x) = x mod 4 f(x) =  x  Not every function is easy to plot! CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

15 Plotting Functions f(x) = x 3 f(x) = x mod 4 f(x) =  x  Not every function is easy to plot! CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

16 What is a Function? Not every function has to do with numbers… A function f:A  B maps values from its domain A to its co-domain B. Domain Co-domain f(x) = ~x f(x,y) = x  y f(x) = x ’s phone # CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

17 What is a Function? Not every function has to do with numbers… A function f:A  B maps values from its domain A to its co-domain B. Domain Co-domain f(x) = ~x{T, F} {T, F} f(x,y) = x  y{T,F}  {T,F}{T, F} f(x) = x ’s phone #Set of people?10-dig #s? CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

18 What is a Function? A function f:A  B maps values from its domain A to its co-domain B. f(control, data1, data2) = (~control  data1)  (control  data2) Domain? Co-domain? CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

19 What is a Function? A function f:A  B maps values from its domain A to its co-domain B. f(control, data1, data2) = (~control  data1)  (control  data2) Let B = {T,F} : Domain? B  B  B Co-domain? B CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

20 What is a Function? A function f:A  B maps values from its domain A to its co-domain B. Domain? Co-domain? Other examples? Alan Steve Paul Patrice Karon George 111 121 211 CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

21 What is a Function? A function f:A  B maps values from its domain A to its co-domain B. Domain? {Alan, Steve, Paul, Patrice, Karon, George} Co-domain? {111, 121, 211} Other examples? Alan Steve Paul Patrice Karon George 111 121 211 CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

22 What is a Function? A function f:A  B maps values from its domain A to its co-domain B. f can’t map one element of its domain to more than one element of its co-domain:  x  A,  y 1,y 2  B, [(f(x) = y 1 )  (f(x) = y 2 )]  (y 1 = y 2 ). Why insist on this? A B f CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

23 What is a Function? A function f:A  B maps values from its domain A to its co-domain B. f can’t map one element of its domain to more than one element of its co-domain:  x  A,  y 1,y 2  B, [(f(x) = y 1 )  (f(x) = y 2 )]  (y 1 = y 2 ). Why insist on this? Why not? We give a different name (relation) to things that do. A B f CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

24 Not a Function Why isn’t this a function? (The Laffer Curve: a non-functional tax policy.) CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

25 Not a Function Why isn’t this a function? (The Laffer Curve: a non-functional tax policy.) CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS) x There is some single value x such that f(x) has more than one value. It may also be true that there is a value y such that f(y) has no value (depending on f’s domain!).

26 Function Terminology A function f:A  B maps values from its domain A to its co-domain B. For f to be a function, it must map every element in its domain:  x  A,  y  B, f(x) = y. Why insist on this? A B f Warning: some mathematicians would say that makes f “total”. CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

27 Function Terminology A function f:A  B maps values from its domain A to its co-domain B. For f to be a function, it must map every element in its domain:  x  A,  y  B, f(x) = y. Why insist on this? This proves handy in some later definitions. A B f CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

28 Not a Function Foiled by sabbatical. Alan Steve Paul Patrice Karon George 111 121 211 Anne CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

29 Not a Function Anne does not map to anything: not a function. Alan Steve Paul Patrice Karon George 111 121 211 Anne CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

30 Function Terminology A function f:A  B maps values from its domain A to its co-domain B. f(x) is called the image of x (under f ). x is called the pre-image of f(x) (under f ). A B f x y CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

31 Function Terminology A function f:A  B maps values from its domain A to its co-domain B. The range of f is the set of all images of elements of f ’s domain. In other words: { f(x) | x  A } A B f x y Which is clearer, the English or the logic? CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

32 Trying out Terminology f(x) = x 2 What is the image of 16? What is the range of f ? x f(x) CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

33 Trying out Terminology f(x) = x 2 What is the image of 16? f(16) = 16 2 = 256 What is the range of f ? R 0 (assuming the domain is R ) x f(x) CORRESPONDS TO TEXTBOOK READING (NOT COVERED IN CLASS)

34 Functions We’ve Used Any combinational logic circuit The “inverse” and “zip” operations over algorithms from the midterm The operation that gives you a student’s grade given the student: G(s) = s’s grade Arrays, as long as they’re immutable (unchangeable): A(i) = the i th value in array A. Sequential circuits and mutable arrays aren’t functions. Why not? (Actually we can model them as functions by making time explicit)

35 Outline Functions as “Computation Abstractions” Definition of Functions and Function Terminology Function Properties –Injective –Surjective –Bijective Function Operations –Inverse –Composition

36 Function Properties: Injective A function f:A  B is injective (also one- to-one) if each image is associated with at most one pre-image:  x,y  A, x  y  f(x)  f(y). Alan Steve Paul Patrice Karon George 111 121 211 Alan Steve Paul Patrice Karon George 211/201 211/202 211/BCS 111 121/202 121/203 121/BCS Injective?

37 Trying out Terminology f(x) = x 2 Injective? What if f: R +  R + ? x f(x)

38 Trying out Terminology f:{s|s is a 121 student}  {A+, A, …, D, F} f(s) = s’s mark in 121 Is f injective? What if we didn’t know what f represented, only its “type” and the fact that there are lots of 121 students: f:{s|s is a 121 student}  {A+, A, …, D, F}

39 Nifty Injective Function: Error-Correcting Codes Error-correcting codes must be injective. Why?

40 Outline Functions as “Computation Abstractions” Definition of Functions and Function Terminology Function Properties –Injective –Surjective –Bijective Function Operations –Inverse –Composition

41 Function Properties: Surjective f:A  B is surjective (also onto) if every element of the co-domain has a pre-image:  y  B,  x  A, y = f(x). Alan Steve Paul Patrice Karon George 121 211 Alan Steve Paul Patrice Karon George 211/201 211/202 211/BCS 111 121/202 121/203 121/BCS Surjective? Can we define “surjective” in terms of “range” and “co-domain”?

42 Trying out Terminology f(x) = x 2 f: R  R 0 ? Surjective? What if f: R  R? What if f: Z  Z 0 ? How about f(x) =  x  ? For what types is it surjective? x f(x)

43 Trying out Terminology f:{s|s is a 121 student}  {A+, A, …, D, F} f(s) = s’s mark in 121 Is f surjective? Could we ever know that f was surjective just by knowing f ’s domain and co-domain?

44 Nifty Surjective Function: “Lossy” Compression WARNING: Lossy compression functions are not always surjective… But it’s valuable if they are. Why?

45 Surjective Functions So Far Under what circumstances is a combinational circuit with one ouput surjective? Under what circumstances is it not surjective? So, are our circuits usually surjective or not?

46 Outline Functions as “Computation Abstractions” Definition of Functions and Function Terminology Function Properties –Injective –Surjective –Bijective Function Operations –Inverse –Composition

47 Function Properties: Bijective A function f:A  B is bijective (also one- to-one correspondence) if it is both one-to- one and onto. Every element in the domain has exactly one unique image. Every element in the co-domain has exactly one unique pre- image.

48 Function Properties: Bijective A function f:A  B is bijective (also one- to-one correspondence) if it is both one-to- one and onto. Alan Steve Paul Patrice Karon George 121 211 Alan Steve Paul Patrice Karon George 211/201 211/202 211/BCS 121/202 121/203 121/BCS Bijective? 111

49 Trying out Terminology f(x) = x 2 f:?  ? Bijective for what domain/co-domain? x f(x)

50 Nifty Bijective Function: Encryption/Lossless Compression Two sets have the same cardinality if we can put them in a bijection. What does that say about lossless compression?

51 Outline Functions as “Computation Abstractions” Definition of Functions and Function Terminology Function Properties –Injective –Surjective –Bijective Function Operations –Inverse –Composition

52 Function Operations: Inverse The inverse of a function f:A  B is f -1 :B  A. f(x) = y  f -1 (y) = x. How can we tell whether f -1 is a function? (Hint: what would make f -1 not a function?) Can we prove it?

53 Trying out Terminology What’s the inverse of each of these f s? Alan Steve Paul Patrice Karon George 121 211 Alan Steve Paul Patrice Karon George 211/201 211/202 211/BCS 121/202 121/203 121/BCS 111

54 Trying out Terminology f(x) = x 2 What’s the inverse of f ? What should the domain/co-domain be? x f(x)

55 Outline Functions as “Computation Abstractions” Definition of Functions and Function Terminology Function Properties –Injective –Surjective –Bijective Function Operations –Inverse –Composition Dropped from learning goals and exam.

56 Function Operations: Composition The composition of two functions f:B  C and g:A  B written f o g is the function h:A  C, where:  x  A, h(x) = f(g(x)). 121 211 Alan Steve Paul Patrice Karon George 211/201 211/202 211/BCS 121/202 121/203 121/BCS 111 211/201 211/202 211/BCS 121/202 121/203 121/BCS What is f ? What is g ? What is f o g ? Dropped from learning goals and exam.

57 Proving a function injective Recall: A function f : A  B is injective exactly when:  x,y  A, x  y  f(x)  f(y). A typical approach is to prove the contrapositive by antecedent assumption: assume f(x) = f(y) and show that x = y.

58 Problem: x 3 + 5 is injective Theorem: f(x) = x 3 + 5 is injective, where f : Z  Z.

59 Worked Problem: x 3 + 5 is injective Theorem: f(x) = x 3 +5 is injective, where f : Z  Z. Recall: A function f : A  B is injective exactly when:  x,y  A, x  y  f(x)  f(y). We proceed by establishing the contrapositive of this definition. Then, x 3 + 5 = y 3 + 5by antecedent assumption x 3 = y 3 subtracting 5 from both sides x = ycube root of both sides QED Be careful! Would the same proof work for x 2 + 5 ? No: the square root of x 2 may be +x or -x !

60 Proving a function surjective Recall: A function f : A  B is surjective exactly when:  y  B,  x  A, y = f(x). That existential gives us a lot of freedom to pick a witness! A typical approach is to “solve for” the necessary x given a y.

61 Problem: w + 2z is surjective Theorem: f(w,z) = w + 2z is surjective, where f : (Z  Z)  Z.

62 Worked Problem: w + 2z is surjective Theorem: f(w,z) = w + 2z is surjective, where f : (Z  Z)  Z. Recall: A function f : A  B is surjective exactly when:  y  B,  x  A, y = f(x). WLOG, let y be an arbitrary integer. Let w = y and z = 0. Then, w + 2z = y + 2(0) = y. QED

63 Proving a function bijective Prove that it’s injective. Prove that it’s surjective. Done.

64 Proving a function has an inverse Prove that it’s bijective. Done.

65 An Inverse Proof Theorem: If f:A  B is bijective, then f -1 : B  A is a function. Recall that f -1 (f(x)) = x.

66 An Inverse Proof, Worked Theorem: If f : A  B is bijective, then f -1 : B  A is a function. We proceed by antecedent assumption. Assume f : A  B is bijective. Consider an arbitrary element y of B. Because f is surjective, there is some x in A such that f(x) = y. Because f is injective, that is the only such x. f -1 (y) = x by definition; so, f -1 maps every element of B to exactly one element of A. QED

67 A Composition Proof Theorem: If g:A  B and f:B  C are functions, then f o g is a function. Recall that (f o g)(x) = f(g(x)). Dropped from learning goals and exam.

68 A Composition Proof, Worked Theorem: If g:A  B and f:B  C are functions, then f o g is a function. We proceed by antecedent assumption. Assume g and f are functions. We must show that fog is a function: every element of the domain of f o g ( A ), is mapped to one and only one element of its co-domain ( C ). (Continued on next slide.) Dropped from learning goals and exam.

69 A Composition Proof, Worked WLOG, let x be an arbitrary element of A. By the definition of f o g, (f o g)(x) = f(g(x)). We know g(x) is an (i.e., “one and only one”) element of B, since g is a function, x  A, and g : A  B. By similar reasoning, since g(x)  B, we know f(g(x))  C because f is a function. QED

70 Aside: Functions are Just Sets We can define functions in terms of sets and tuples (and we can define tuples in terms of sets!). The function f:A  B is the set {(x, f(x)) | x  A}. f is a subset of A  B !

71 Learning Goals: In-Class By the end of this unit, you should be able to: –Define the terms injective (one-to-one), surjective (onto), bijective (one-to-one correspondence), and inverse. –Determine whether a given function is injective, surjective, and/or bijective. –Apply your proof skills to proofs about the properties (e.g., injectiveness, surjectiveness, bijectiveness, and function-ness) of functions and their inverses.


Download ppt "Snick  snack CPSC 121: Models of Computation 2008/9 Winter Term 2 Functions Steve Wolfman, based on notes by Patrice Belleville and others."

Similar presentations


Ads by Google