Discrete Structures

# Lecture Notes, 3 Nov 2010

 Last Update: 3 November 2010 Note: or material is highlighted

## §2.3: Functions (cont'd)

1. Ways to Represent Functions:

1. We often represent functions using formulas: f(x) = 2x

2. But functions with formulas are not the only kind of functions!

1. There are functions without formulas for computing them.

• I.e., there are functions such that the "gears" of their "machines" work by magic!

1. There are "table look-up" functions:

• i.e., there's not necessarily any lawlike pattern relating I/P & O/P

2. There are non-computable functions

3. There are random functions, etc.

2. Perhaps computer science can be defined as the study of which functions do have procedures for computing them!

3. On the history of the concept of "function", link to my webpage on functions.

2. Total & Partial Functions:

1. Recall the definition of "function":

1. Let A,B be sets.
Then f is a function from A to B

=def

1. f is a binary relation from A to B,
and
2. (∀a∈A)(∀b∈B)(∀b′∈B)[( (a,b) ∈ f  ∧  (a,b′) ∈ f ) → b=b′]

2. If we know that f is a function, then clause (b) becomes the tautology:

(∀a∈A)(∀b∈B)(∀b′∈B)[( f(a) = b  ∧  f(a) = b′) ) → b=b′]

3. Another way to state clause (b) is to formalize the notion of "same I/P → same O/P":

(∀a, a′ ∈ A)[(a = a′) → (f(a) = f(a′)]

2. We would like to distinguish between:

• domains in which some but not all elements are mapped to elements of the co-domain
and
• domains in which all elements are mapped to elements of the co-domain.

3. Def:

Let A,B be sets.
Let f : A → B.
Then:

1. f is a total function on A
=def
(∀a ∈ A)(∃b ∈ B)[f(a) = b]

• i.e., everything in the domain maps to something in the co-domain

2. f is a partial function on A
=def
¬(f is a total function on A)

• i.e., (∃a ∈ A)(¬∃b ∈ B)[f(a) = b]
• i.e., f is undefined on a

• i.e., something in the domain fails to map to anything in the co-domain.

4. E.g.: Let f : ZZ s.t. f(a) = 2a.
Then f is total on Z

5. E.g.: But let g : ZQ s.t. g(a) = 1/a.
Then g is partial on Z

• (because g(0) is undefined)

3. 1–1 Functions:

1. Reminder:

is a relation, but is not a function.

2. Some examples of "1–1" functions before we define them:

1. will be called a "1–1" function

2. is a function, but is not a "1–1" function.
(It's a "2–1" function.)

3. g : {x | x ∈ CSE191} → {A, A–, … , D+, D, F} is (usually) not 1–1, because (usually) ≥2 students will get the same grade.

• It would be 1–1 iff ∃ 11 students, each getting a different one of those grades.

4. f  : ZZ s.t. f(x) = x+1 is 1–1

• because each number has a unique successor

5. Ditto for h : NN s.t. h(n) = n+1

• which is really why the domain N of this function h is countable.

6. Ditto for k : ZN s.t.:
–2 |→ 4
–1 |→ 2
0 |→ 0
1 |→ 1
2 |→ 3
etc.

–2i, if i ≤ 0,
i.e., k(i) = {
2i–1, if i > 0

• which is partly why the domain Z of this function k is countable.

• The other part of the reason is that k is a total function.

3. Def:

Let A,B be sets.
Let f  : A → B.
Then f  is a 1–1 (or injective) function
=def
(∀a ∈ A)(∀a′ ∈ A)[f(a) = f(a′)  →  a = a′]

• ≡ (∀a,a′ ∈ A)[aa′  →  f(a) ≠ f(a′)]

• i.e., if 2 O/Ps are the same, then their I/Ps must have been the same.

• or: if 2 I/Ps differ, then their O/Ps differ.

4. Note:

• This is the converse of the definition of "function"

1. f is a function → (x = yf(x) = f(y))

• i.e., same I/P → same O/P

2. f is a 1–1 function → (x = yf(x) = f(y))

• i.e., same I/P ↔ same O/P

4. Onto Functions:

1. Reminder: A partial function looks like this:

2. Now consider functions that are "partial" in their co-domain vs. being "total" in their co-domain:

3. Def:

Let A,B be sets.
Let f  : A → B.
Then f  maps A onto B
or:       is an onto function
or:       is a surjective function
=def
(∀b ∈ B)(∃a ∈ A)[f(a) = b]

• i.e., everything in the co-domain "came from" something in the domain
(or: everything in the co-domain "gets hit by" something in the domain, which leads to the following metaphor)

5. Metaphor:

 f  : A → B A is like an archer; B is like a target. function: no archer hits >1 target partial function: some archer lacks arrows total function: every archer has arrows 1–1 function: every archer hits a different target onto function: every target is hit by some archer.