0% found this document useful (0 votes)
4 views32 pages

1.8 Functions

Module #4 covers the concept of functions, including their formal definitions, graphical representations, and various types such as one-to-one, onto, and bijections. It discusses the terminology associated with functions, including domain, codomain, and range, as well as operators and function composition. The module also highlights practical applications of functions, such as in computer science and reversible computing.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views32 pages

1.8 Functions

Module #4 covers the concept of functions, including their formal definitions, graphical representations, and various types such as one-to-one, onto, and bijections. It discusses the terminology associated with functions, including domain, codomain, and range, as well as operators and function composition. The module also highlights practical applications of functions, such as in computer science and reversible computing.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 32

Module #4 - Functions

Module #4:
Functions

Rosen 5th ed., §1.8


~31 slides, ~1.5 lectures

05/05/25 (c)2001-2003, Michael P. Frank 1


Module #4 - Functions

On to section 1.8… Functions


• From calculus, you are familiar with the
concept of a real-valued function f,
which assigns to each number xR a
particular value y=f(x), where yR.
• But, the notion of a function can also be
naturally generalized to the concept of
assigning elements of any set to elements
of any set. (Also known as a map.)
05/05/25 (c)2001-2003, Michael P. Frank 2
Module #4 - Functions

Function: Formal Definition


• For any sets A, B, we say that a function f
from (or “mapping”) A to B (f:AB) is a
particular assignment of exactly one
element f(x)B to each element xA.
• Some further generalizations of this idea:
– A partial (non-total) function f assigns zero or
one elements of B to each element xA.
– Functions of n arguments; relations (ch. 6).

05/05/25 (c)2001-2003, Michael P. Frank 3


Module #4 - Functions

Graphical Representations
• Functions can be represented graphically in
several ways:
f A B
• •
f • •
a• •
b


y

• •
x
A Bipartite Graph
B Plot
Like Venn diagrams

05/05/25 (c)2001-2003, Michael P. Frank 4


Module #4 - Functions

Functions We’ve Seen So Far


• A proposition can be viewed as a function
from “situations” to truth values { T,F}
– A logic system called situation theory.
– p=“It is raining.”; s=our situation here,now
– p(s){T,F}.
• A propositional operator can be viewed as
a function from ordered pairs of truth
values to truth values: e.g., ((F,T)) = T.
Another example: →((T,F)) = F.
05/05/25 (c)2001-2003, Michael P. Frank 5
Module #4 - Functions

More functions so far…


• A predicate can be viewed as a function
from objects to propositions (or truth
values): P :≡ “is 7 feet tall”;
P(Mike) = “Mike is 7 feet tall.” = False.
• A bit string B of length n can be viewed as a
function from the numbers {1,…,n}
(bit positions) to the bits {0,1}.
E.g., B=101  B(3)=1.
05/05/25 (c)2001-2003, Michael P. Frank 6
Module #4 - Functions

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. S={3} S(0)=F, S(3)=T.
• A set operator such as ,, can be
viewed as a function from pairs of sets
to sets.
– Example: (({1,3},{3,4})) = {3}

05/05/25 (c)2001-2003, Michael P. Frank 7


Module #4 - Functions

A Neat Trick
• Sometimes we write YX to denote the set F
of all possible functions f:XY.
• This notation is especially appropriate,
because for finite X, Y, we have |F| = |Y||X|.
• If we use representations F0, T1,
2:{0,1}={F,T}, then a subset TS is just
a function from S to 2, so the power set of S
(set of all such fns.) is 2S in this notation.
05/05/25 (c)2001-2003, Michael P. Frank 8
Module #4 - Functions

Some Function Terminology


• If it is written that f:AB, and f(a)=b
(where aA & bB), then we say:
– A is the domain of f. We also say
– B is the codomain of f. the signature
– b is the image of a under f. of f is A→B.
– 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 }.

05/05/25 (c)2001-2003, Michael P. Frank 9


Module #4 - Functions

Range versus Codomain


• The range of a function might 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.

05/05/25 (c)2001-2003, Michael P. Frank 10


Module #4 - Functions

Range vs. Codomain - Example


• Suppose I declare to you that: “ f is a
function mapping students in this class to
the set of grades {A,B,C,D,E}.”
• At this point, you know f’s codomain is:
__________, and its range is ________.
{A,B,C,D,E} unknown!
• Suppose the grades turn out all As and Bs.
{A,B} but its
• Then the range of f is _________,
codomain is __________________.
still {A,B,C,D,E}!
05/05/25 (c)2001-2003, Michael P. Frank 11
Module #4 - Functions

Operators (general definition)


• An n-ary operator over (or on) the set S is
any function from the set of ordered n-
tuples of elements of S, to S itself.
• E.g., if S={T,F},  can be seen as a unary
operator, and , are binary operators on S.
• Another example:  and  are binary
operators on the set of all sets.

05/05/25 (c)2001-2003, Michael P. Frank 12


Module #4 - Functions

Constructing Function Operators


• If  (“dot”) is any operator over B, then we
can extend  to also denote an operator over
functions f:AB.
• E.g.: Given any binary operator :BBB,
and functions f,g:AB, we define
(f  g):AB to be the function defined by:
aA, (f  g)(a) = f(a)g(a).

05/05/25 (c)2001-2003, Michael P. Frank 13


Module #4 - Functions

Function Operator Example


 ,× (“plus”,“times”) are binary operators
over R. (Normal addition & multiplication.)
• Therefore, we can also add and multiply
functions f,g:RR:
– (f  g):RR, where (f  g)(x) = f(x)  g(x)
– (f × g):RR, where (f × g)(x) = f(x) × g(x)

05/05/25 (c)2001-2003, Michael P. Frank 14


Module #4 - Functions

Function Composition Operator


Note match here.

• For functions g:AB and f:BC, there is a


special operator called compose (“○”).
– It composes (creates) a new function out of f
and g by applying f to the result of applying g.
– We say (f○g):AC, where (f○g)(a) :≡ f(g(a)).
– Note g(a)B, so f(g(a)) is defined and C.
– Note that ○ (like Cartesian , but unlike +,,)
is non-commuting. (Generally, f○g  g○f.)

05/05/25 (c)2001-2003, Michael P. Frank 15


Module #4 - Functions

Images of Sets under Functions


• Given f:AB, and SA,
• The image of S under f is simply the set of
all images (under f) of the elements of S.
f ( S ) :  { f ( s ) | s S }
: {b |  sS: f(s)=b}.
• Note the range of f can be defined as simply
the image (under f) of f’s domain!

05/05/25 (c)2001-2003, Michael P. Frank 16


Module #4 - Functions

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,
“x is injective” : (x,y: xy  f(x)f(y)).
• Only one element of the domain is mapped to any given
one element of the range.
– Domain & range have same cardinality. What about codomain?
• Memory jogger: Each element of the domain is injected
into a different element of the range.
– Compare “each dose of vaccine is injected into a different patient.”

05/05/25 (c)2001-2003, Michael P. Frank 17


Module #4 - Functions

One-to-One Illustration
• Bipartite (2-part) graph representations of
functions that are (or not) one-to-one:
• • • •
• • • • •
• • • •
• • • •
• • • • •
• •
• • •
Not one-to-one Not even a
One-to-one function!

05/05/25 (c)2001-2003, Michael P. Frank 18


Module #4 - Functions

Sufficient Conditions for 1-1ness


• For functions f over numbers, we say:
– f is strictly (or monotonically) increasing iff
x>y  f(x)>f(y) for all x,y in domain;
– f is strictly (or monotonically) 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 is one-to-one. E.g. x3
– Converse is not necessarily true. E.g. 1/x

05/05/25 (c)2001-2003, Michael P. Frank 19


Module #4 - Functions

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).
• Think: An onto function maps the set A
onto (over, covering) the entirety of the set
B, not just over a piece of it.
• E.g., for domain & codomain R, x3 is onto,
whereas x2 isn’t. (Why not?)
05/05/25 (c)2001-2003, Michael P. Frank 20
Module #4 - Functions

Illustration of Onto
• Some functions that are, or are not, onto
their codomains:

• • • • • • • •
• • • • • • • •
• • • • • •
• • • •
• • • • • •
• •
Onto Not Onto Both 1-1 1-1 but
(but not 1-1) (or 1-1) and onto not onto

05/05/25 (c)2001-2003, Michael P. Frank 21


Module #4 - Functions

Bijections
• A function f is said to be a one-to-one
correspondence, or a bijection, or
reversible, or invertible, iff it is
both one-to-one and onto.
• For bijections f:AB, there exists an
inverse of f, written f 1:BA, which is the
unique function such that f  1  f I A
– (where IA is the identity function on A)
05/05/25 (c)2001-2003, Michael P. Frank 22
Module #4 - Functions

The Identity Function


• For any domain A, the identity function
I:AA (variously written, IA, 1, 1A) is the
unique function such that aA: I(a)=a.
• Some identity functions you’ve seen:
 ing 0, ·ing by 1, ing with T, ing with F,
ing with , ing with U.
• Note that the identity function is always
both one-to-one and onto (bijective).
05/05/25 (c)2001-2003, Michael P. Frank 23
Module #4 - Functions

Identity Function Illustrations


• The identity function:


• • y y = I(x) = x
• •
• •
• •

Domain and range x

05/05/25 (c)2001-2003, Michael P. Frank 24


Module #4 - Functions

A Cool (Literally) Application


• In a computer, the function mapping the
machine’s state at clock cycle #t to its state at
clock cycle #t+1 is called the computer’s
transition function.
• If the transition function happens to be reversible
(a bijection), then the computer’s operation, in
theory, requires no energy expenditure.
• The study of practical low-power reversible
computing techniques based on this idea is my
primary area of research.

05/05/25 (c)2001-2003, Michael P. Frank 25


Module #4 - Functions

Graphs of Functions
• We can represent a function f:AB as a set of
ordered pairs {(a,f(a)) | aA}. ← The function’s graph.
• Note that a, there is only 1 pair (a,b).
– Later (ch.6): relations loosen this restriction.
• For functions over numbers, we can represent
an ordered pair (x,y) as a point on a plane.
– A function is then drawn as a curve (set of points),
with only one y for each x.

05/05/25 (c)2001-2003, Michael P. Frank 26


Module #4 - Functions

Aside About Representations


• It is possible to represent any type of
discrete structure (propositions, bit-strings,
numbers, sets, ordered pairs, functions) in
terms of virtually any of the other structures
(or some combination thereof).
• Probably none of these structures is truly
more fundamental than the others (whatever
that would mean). However, strings, logic,
and sets are often used as
the foundation for all else. E.g. in 

05/05/25 (c)2001-2003, Michael P. Frank 27


Module #4 - Functions

A Couple of Key Functions


• In discrete math, we will frequently use the
following two functions over real numbers:
– The floor function ·:R→Z, where x (“floor
of x”) means the largest (most positive) integer
 x. I.e., x :≡ max({iZ|i≤x}).
– The ceiling function · :R→Z, where x
(“ceiling of x”) means the smallest (most
negative) integer  x. x :≡ min({iZ|i≥x})

05/05/25 (c)2001-2003, Michael P. Frank 28


Module #4 - Functions

Visualizing Floor & Ceiling


• Real numbers “fall to their floor” or “rise to
their ceiling.” 3
1.6=2
.
• Note that if xZ, 2 . 1.6

1 .
x   x & 1.6=1

0
x   x . 1.4= 1
1 .
• Note that if xZ, 2 .
1.4

1.4= 2
x  = x  = x . 3 .. . 3
3=3= 3

05/05/25 (c)2001-2003, Michael P. Frank 29


Module #4 - Functions

Plots with floor/ceiling


• Note that for f(x)=x, the graph of f includes the point (a,
0) for all values of a such that a0 and a<1, but not for
the value a=1.
• We say that the set of points (a,0) that is in f does not
include its limit or boundary point (a,1).
– Sets that do not include all of their limit points are generally
called open sets.
• In a plot, we draw a limit point of a curve using an open
dot (circle) if the limit point is not on the curve, and with
a closed (solid) dot if it is on the curve.

05/05/25 (c)2001-2003, Michael P. Frank 30


Module #4 - Functions

Plots with floor/ceiling: Example


• Plot of graph of function f(x) = x/3:
f(x)

Set of points (x, f(x)) +2

3 +3 x
2

05/05/25 (c)2001-2003, Michael P. Frank 31


Module #4 - Functions

Review of §1.8 (Functions)


• Function variables f, g, h, …
• Notations: f:AB, f(a), f(A).
• Terms: image, preimage, domain, codomain,
range, one-to-one, onto, strictly (in/de)creasing,
bijective, inverse, composition.
• Function unary operator f 1,
binary operators , , etc., and ○.
• The RZ functions x and x.

05/05/25 (c)2001-2003, Michael P. Frank 32

You might also like