Intuitively, limits seem to be well behaved, in part because we expect limits
to be unique---i.e. if
f[x] exists, f[x] cannot approach 2
distinct values. Moreover, we expect limits of simple combinations of
functions to be predictable:
If f[x] -> L as x -> a and g[x] -> M as x -> a, we expect the these things to
happen:
1)
(f[x] ± g[x]) = L ± M
2)
( k f[x] ) = k L
3)
(f[x]
g[x]) = L M
4)
(f[x] / g[x]) = L/M (provided M is
not 0).
These statements, which seem to be self-evident, are at the heart of why we
really need the
-
definition of a limit. To actually demonstrate that the intuitive
idea of a limit is truely well-behaved, we must resort to using the
-
definition.
Since the derivative (i.e. instantaneous rate of change) is defined in terms of a limit, understanding how limits actually behave (i.e. the theorems in this section), will also make it easier for us to develop some rules to make it easy to find derivatives of any function created from our standard building blocks---e^x, Log[x], power functions, and trig functions---which we've already learned how to differentiate.
Here are outlines of the basic
--
proofs that your colleages in the traditional
section have been working with.
The theorem here says that if f[x] approaches L as x approaches a and it also approaches M, then L and M must be equal.
The proof proceeds by showing that since for small
, having
0 < | x - a | <
guarantees both | f[x] - L | <
and | f[x] - M | <
, we
also
get | L - M | <
. This last
statement does not involve x and is true for any
. Thus L and M cannot differ.
The main point here is that having 0 < | x - a | guarantees that we do not look at the value at a. If simplicication changes the domain by defining f[x] at a, where it was previously undefined (for instance, cancelling common factors in numerator and denominator), then we will not see the changes. If the change in domain happens away from a, then the fact that we are only concerned with values near a will allow us to ignore the changes.
(f[x] + g[x]) =
f[x] +
g[x]
Here the usual proof splits the allowed error between f[x] and g[x]: Given
> 0 find
1 and
2 such that
if 0 < | x - a | <
, then | f[x] - L | <
/2
and
if 0 < | x
- a | <
, then | g[x] -M | <
/2.
Let
=
min(
,
);
then we get both functions within
/2 of
their limits, so the sum is within
of the
sum L + M.
( f[x] g[x] ) =
f[x] *
l
g[x]The
--
proof for
( f[x] g[x] ) =
f[x] *
g[x]
is significantly more delicate to prove. Here's the proof if at least one of the limits is not 0:
Let
> 0 be given,
f[x] =
L, and
g[x] = M. We can assume that L is not
equal to 0, since we know that one of the functions does not approach 0. Since
L is not 0,
/|L| > 0, and there is a
such that if 0 < | x - a | <
, then | g[x] - M | <
/(2 |L|). This statement also implies that if 0
< | x - a | <
, then M -
/(2 |L|) < g[x] < M +
/(2 |L|). That means that we can find a number, G > 0 such
that G > | g[x] | for all x in the interval [a -
, a +
]
that are not equal to a. The number
/(2 G)
> 0, so there is a
such that if 0 < | x - a | <
,
then | f[x] - L | <
/(2 G).
Now let
= min(
,
). If we
know that 0 < | x - a | <
, then we also
know two facts:
| f[x] - L | <
/(2 G)
and
| g[x] - M | <
/(2 |L|).
Now let's examine what happens to | f[x] g[x] - L M | for x's that
satisfy 0 < | x - a | <
:
| f[x] g[x] - L M | = | f[x] g[x] - L g[x] + L g[x] - M L |
= | (f[x] - L) g[x] + L (g[x] - M) |
<= | g[x] (f[x] - L) | + | L (g[x] - M) |
= | g[x] | * | f[x] - L | + | L | * | g[x] - M
<= G | f[x] - L] + | L | * | g[x] - M |
< G (
/(2 G) ) + | L | (
/(2 | L |) )
=
/2 +
/2
=
Thus we've now shown that
if 0 < | x - a | <
, then | f[x] g[x] - L M | <
as desired.
To complete the proof of this limit rule, we also must examine the case where both f[x]-> 0 and g[x] -> 0. That part is one of the Give it a Try problems.
( f[x]/g[x] ) =
f[x] /
g[x]First note that rule
( f[x]/g[x] ) =
f[x] /
g[x]
only makes sense if
g[x] is not 0. Here's the rough
outline of the proof:
Step 1) Show that if
g[x] = M, where M is not 0, then
1/g[x] = 1/M
(The details are left
to you in one of the Give It a Try problems.)
Step 2) Re-write the function, f[x]/g[x] as (f[x]) * (1/g[x]) and use the
rule for products of limits.
(The details are left to you.)
We've used this idea already in sections B.1.b and B.3. If we can trap f[x] between two (better behaved) functions that we know approach L as x -> a, then we can conclude that f[x]-> L as x-> a as well. A more formal statement of the theorem is:
Theorem. If g[x] <= f[x] <= h[x] and if
g[x] = L
=
h[x], then f[x] must also approach L
as x -> a---i.e.
f[x] = L.
The proof uses the smaller of the two
's
given by the hypothesized limits for a particular
, so that having 0 < | x - a | <
guarantees
L -
< f[x] <= g[x] <= h[x] < L +
.
Recall that when we were looking at the instantaneous rate of change in Sin[x], we got stuck at this point:
d/dx (Sin[x]) = ( Sin[x + h] - Sin[x] )/ h
since there was no obvious
algebra to do. Asking Mathematica to do some simplifying for us
gives:
Simplify[(Sin[x + h] - Sin[x])/h]
At this point, it's clear that we can tell that Cos[ x + h/2] -> Cos[x] as h-> 0, but it is not clear what happens to Sin[h/2]/2.
Fill in the last hole in the proof that
d/dx Sin[x] = Cos[x] by using the squeeze theorem to show that
(Sin[h/2]/h] = 1/2.
Illustrate with a plot.