# 3.4.3: Properties of functions

- Page ID
- 10897

\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

\( \newcommand{\Span}{\mathrm{span}}\)

\( \newcommand{\id}{\mathrm{id}}\)

\( \newcommand{\Span}{\mathrm{span}}\)

\( \newcommand{\kernel}{\mathrm{null}\,}\)

\( \newcommand{\range}{\mathrm{range}\,}\)

\( \newcommand{\RealPart}{\mathrm{Re}}\)

\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

\( \newcommand{\Argument}{\mathrm{Arg}}\)

\( \newcommand{\norm}[1]{\| #1 \|}\)

\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)

\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)

\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

\( \newcommand{\vectorC}[1]{\textbf{#1}} \)

\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)Suppose that *f *: *A *→ *B *is a function from the set *A *to the set *B*. We say that *A *is the **domain** of the function *f *and that *B *is the range of the function. We define the image of the function *f *to be the set {*b *∈ *B*|∃*a *∈ *A*(*b *= *f*(*a*))}. Put more simply, the image of *f *is the set {*f*(*a*)|*a *∈ *A*}. That is, the image is the set of all values, *f*(*a*), of the function, for all *a *∈ *A*. For example, for the function *s*: N → N that is specified by \(s(n)=n^{2},\) both the domain and the range are \(\mathbb{N},\) and the image is the set \(\left\{n^{2} | n \in \mathbb{N}\right\}\) or {0,1,4,9,16,...}.

In some cases—particularly in courses like Calculus—the term ‘range’ is used to refer to what I am calling the image

Note that the image of a function is a subset of its range. It can be a proper subset, as in the above example, but it is also possible for the image of a function to be equal to the range. In that case, the function is said to be onto. Sometimes, the fancier term surjectiveis used instead. Formally, a function *f *: *A *→ *B *is said to be onto (or surjective) if every element of *B *is equal to *f *(*a*) for some element of *A*. In terms of logic, *f *is onto if and only if

∀*b *∈ *B *(∃*a *∈ *A*(*b *= *f*(*a*))).

For example, let *X *= {*a*, *b*} and *Y *= {1, 2, 3}, and consider the function from *Y *to *X *specified by the set of ordered pairs {(1, *a*), (2, *a*), (3, *b*)}. This function is onto because its image, {*a*, *b*}, is equal to the range, *X*. However, the function from *X *to *Y *given by {(*a*,1),(*b*,3)} is not onto, because its image, {1, 3}, is a proper subset of its range, *Y*.

As a further example, consider the function *f *from Z to Z given by *f *(*n*) =*n *− 52. To show that *f *is onto, we need to pick an arbitrary *b *in the range Z and show that there is some number *a *in the domain Z such that *f *(*a*) = *b*. So let *b *be an arbitrary integer; we want to find an *a *such that *a*−52 = *b*. Clearly this equation will be true when *a *= *b *+ 52. So every element *b *is the image of the number *a *= *b *+ 52, and *f *is therefore onto. Note that if*f** *had been specified to have domain N, then *f *would not be onto, as for some *b *∈ Z the number *a *= *b *+ 52 is not in the domain N (for example, the integer −73 is not in the image of *f *, since −21 is not in N.)

If *f *: *A *→ *B *and if *a *∈ *A*, then *a *is associated to only one element of *B*. This is part of the definition of a function. However, no such restriction holds for elements of *B*. If *b** *∈ *B*, it is possible for *b *to be associated to zero, one, two, three, ..., or even to an infinite number of elements of *A*. In the case where each element of the range is associated to at most one element of the domain, the function is said to be one-to-one. Sometimes, the term injective is used instead. The function *f *is one-to-one (or injective) if for any two distinct elements *x *and *y *in the domain of *f *, *f *(*x*) and *f *(*y*) are also distinct. In terms of logic, *f *: *A *→ *B *is one-to-one if and only if

\(\forall x \in A \forall y \in A(x \neq y \rightarrow f(x) \neq f(y))\)

Since a proposition is equivalent to its contrapositive, we can write this condition equivalently as

\(\forall x \in A \forall y \in A(f(x)=f(y) \rightarrow x=y)\)

Sometimes, it is easier to work with the definition of one-to-one when it is expressed in this form.

The function that associates every person to his or her mother is not one-to- one because it is possible for two different people to have the same mother. The function *s *: N → N specified by *s*(*n*) = *n*2 is one-to-one. However, we can define a function \(r : \mathbb{Z} \rightarrow \mathbb{Z}\) by the same formula: \(r(n)=n^{2},\) for \(n \in \mathbb{Z}\) The function *r *is not one-to-one since two different integers can have the same square. For example, *r*(−2) = *r*(2).

A function that is both one-to-one and onto is said to be bijective.4 The function that associates each point in a map of Zuid-Holland to a point in the state itself is presumably bijective. For each point on the map, there is a corresponding point in the province, and vice versa. If we specify the function *f *from the set {1, 2, 3} to the set {*a*, *b*, *c*} as the set of ordered pairs {(1, *b*), (2, *a*), (3, *c*)}, then *f *is a bijective function. Or consider the function from Z to Z given by *f*(*n*) = *n*−52. We have already shown that *f *is onto. We can show that it is also one-to-one.

Proof. Pick an arbitrary *x *and *y *in Z and assume that

*f *(*x*) = *f *(*y*). This means that *x *− 52 = *y *− 52, and adding 52 to both sides of the equation gives *x *= *y*. Since *x *and *y *were arbitrary, we have proved ∀*x *∈ Z ∀*y *∈ Z(*f*(*x*) =*f *(*y*) → *x *= *y*), that is, that *f *is one-to-one.

Altogether, then, *f *is a bijection.