I wrote a little (well, quite lengthy) pedagogical dialogue, inspired by Plato and Galileo, where two persons, Epsilon and Delta, discuss what a limit is and work out the epsilon-delta definition. It is based upon a misconception in Avatrin's original post. Now, from later posts, it seems that Avatrin grasped the epsilon-delta-definition, but still, this might have a pedagogical value for students.
Admittedly, the dialogue is long. Moderator would perhaps find it suitable to move it to some other forum. Anyway, here it comes:Epsilon: That ##\lim_{x\to a} f(x)=L## means that ##f(x)## approaches ##L## as ##x## approaches ##a##.
Delta: What you mean by "approaches"?
Epsilon: I mean that when ##x## gets close ##a##, then ##f(x)## gets close to ##L##.
Delta: Close? How close?
Epsilon: The closer ##x## gets to ##a##, the closer ##f(x)## gets to ##L##.
Delta: Hmm, when you say that ##x## is close to ##a##, you mean that the distance beween ##x## and ##a##, that is, ##|x-a|##, is small, right?
Epsilon: Right.
Delta: And likewise, by "##f(x)## is close to ##L##", you mean that ##|f(x)-L|## is small.
Epsilon: Of course.
Delta: So, you say that ##\lim_{x\to a} f(x)=L## means that ##|f(x)-L|## gets smaller as ##|x-a|## gets smaller?
Epsilon: Yes.
Delta: Hmm. Consider ##f(x)=x^2+1##. This function attains its minimum value ##1## at ##x=0##. Right?
Epsilon: Right, so..?
Delta: So with ##a=0## and ##L=0##, ##|f(x)-L|=f(x) ## gets smaller as ##|x-a|=|x|## gets smaller...?
Epsilon: So it seems, hmm...
Delta: And this means that ##\lim_{x\to a} f(x)=L## in this case, that is ##\lim_{x\to 0} x^2+1=0##.
Epsilon: Something is wrong here, because obviously, ##\lim_{x\to 0} x^2+1=1##.
Delta: But I see nothing wrong in my argument.
Epsilon: Neither do I. So there must be something wrong with my definition.
Delta: Yes. Although in my example, ##|f(x)-L|## got smaller when ##|x-a|## got smaller, ##|f(x)-L|## didn't even get close to ##0##, it never even got within the distance ##1## from ##0##. This is what must be fixed, I think...
Epsilon: Right! Hmm... what about this: ##\lim_{x\to a} f(x)=L## means that we can make ##|f(x)-L|## as small as we want by making ##|x-a|## sufficiently small?
Delta: Hmm, does this rule out my example?
Epsilon: Yes, it does, because in the example, we can never make ##|f(x)-L|## smaller than ##1##, whereas it is stipulated in the definition that it should be possible to make ##|f(x)-L|## smaller than ##1##, or smaller than ##0.1##, or than ##0.01##, well, smaller than any given positive number, by making ##|x-a|## sufficiently small.
Delta: Yes, you are right. But still... What about ##f(x)=\frac{x^3-1} { x-1}##? What is ##\lim_{x\to 1} f(x)##? Does it even exist?
Epsilon: Certainly. It's value is ##3##. I can show you the calculation...
Delta: Not right now, please! But if what you say is true, then we can make ##|f(x)-3|## as small as we want by making ##|x-1|## sufficiently small.
Epsilon: Yes.
Delta: So if we we put ##x=1##, then ##|x-1|=0##. Then, certainly, ##|x-1|## must be sufficiently small. It cannot be smaller! But then, ##|f(x)-3|## is not even defined, since the denominator in ##f(x)## is ##0##.
Epsilon: Yes. OK. We must add that we should make ##|x-a|## sufficiently small, but not ##0##.
Delta: OK, this seems reasonable. But still it's quite vague to talk about "as small as we want" and "sufficiently small".
Epsilon: I think it's quite clear.
Delta: Really? Well, let's return to the example with ##f(x)=\frac{x^3-1} { x-1}##. Let's say I want ##|f(x)-3|## to be smaller than ##0.01##. You say that this is true if ##|x-1|## is sufficiently small, but not ##0##?
Epsilon: Yes.
Delta: Then you should be able to tell me how small ##|x-1|## must be to ensure that ##|f(x)-3|<0.01##, right?
Epsilon: Right, let's see...
(Epsilon does some calculations at a paper. Delta agrees that they are correct.)
Epsilon: So, we see that ##|f(x)-3|=|x-1||x+2|##. We want this to be smaller than ##0.01##. Hmm... if ##|x-1|<1##, then ##0<x<2##, and then ##|x+2|<4##.
Delta: Yes, that is in itself true, but I don't see the point. It is certainly not sufficient to make ##|x-1|<1##. ##|x-1|## must be much smaller than ##1## to ensure that ##|f(x)-3|<0.01##.
Epsilon: Of course. We will undoubtedly find that ##|x-1|## must be much smaller than ##1##. But then it is also less than ##1##, so assuming this will not lead us wrong.
Delta: Ok, I suppose so. But I still don't see the point.
Epsilon: You'll see. If ##0<|x-1|<1##, then ##|x+2|<4##, so ##|f(x)-3|=|x-1||x+2|<4|x-1|##. If we choose ##x## so that ##4|x-1|<0.01##, then ##|f(x)-3|<0.01##.
Delta: Yes, provided that ##0<|x-1|<1##.
Epsilon: And ##4|x-1|<0.01## is equivalent to ##|x-1|<0.0025##. And of course, ## 0.0025## is much smaller than ##1##, so we have a solution. If we choose ##x## so that ##0<|x-1|<0.0025##, that is, if ##x\in (0.9975,1.0025)##, then ##|f(x)-3|<0.01##, or ##f(x)\in (2.99,3.01)##.
Delta: Indeed! But... it is not really to be necessary to make ##|x-1|<0.0025##. If we stipulate, say, that ##|x-1|<0.5## instead of ##|x-1|<1## as you did, then we obtain, after a similar argument as yours, that ##3.5|x-1|<0.01## suffices to ensure that ##|f(x)-3|<0.01##, and then ##|x-1|## can be sligthly greater than ##0.0025##.
Epsilon: And if we stipulate, say, ##|x-1|<0.1##, then ##|x-1|## can be allowed to be even greater, etc. But so what? If ##0<|x-1|<0.0025##, then ##x## is sufficiently close to ##1## to make ##|f(x)-3|<0.01##, and we just wanted such a sufficient condition for ##x##. That we can find a "better" upper bound than ##0.0025## doesn't matter.
Delta: Ok, I agree. We have established that if ##|x-1|## is sufficiently small but not ##0##, then ##|f(x)-3|<0.01##. But what if we want ##|f(x)-3|## to be even smaller, say smaller than ##0.001## instead of ##0.01##?
Epsilon: Well, since we still have ##|f(x)-3|<4|x-1|##, provided that ##0<|x-1|<1##, we obtain, in a similar way as before, that ##|f(x)-3|<0.001## (that is: ##f(x)\in (2.999, 3.0001)##) if ##0<|x-1|<0.00025## (or ##x\in 0.99975,1.00025)##).
Delta: Right, and we may improve the upper bound ##0.00025## slightly if we want, just like before. But as you said, it would be pointless to insist on that. So, what if we continue and want, say ##|f(x)-3|<0.000001##.
Epsilon: Then again, a similar calculation gives that we can choose ##0<|x-1|<0.00000025##. The pattern becomes clear here.
Delta: Yes, I see it too. And in fact, it is not hard to show that if we take any number ##\epsilon>0##...
Epsilon: I like that letter!
Delta: ...which can be arbitrarily small, or as small as we want, as long as it is greater than ##0##, then we can get ##|f(x)-3|<\epsilon## if we choose ##x## so that ##0<|x-1|<\epsilon/4##.
Epsilon: Right. So, for any ##\epsilon >0##: if ##0<|x-1|<\epsilon/4##, then ##|f(x)-3|<\epsilon##.
This is exactly what I mean when I say that ##\lim_{x\to 1} f(x)=3##.
Delta: Very good! But wait! This might not work if we happen to choose a big ##\epsilon##, say ##\epsilon > 4##. Because then, ##\epsilon/4 > 1##, and then ##0<|x-1|<\epsilon/4## is not sufficient to ensure that ##0<|x-1|<1##, which you assumed in your calculation.
Epsilon: Come on! We are interested in getting ##f(x)## close to ##3##, and then it is of no interest to look at large distances greater than ##4##!
Delta: Perhaps. But in the formal condition you gave, you didn't explicitly state that ##\epsilon## cannot be too great. You should do that if you want to it to be formally correct.
Epsilon: OK, you are right. But instead of inserting a restriction of this kind on ##\epsilon##, I think it is better to make it explicit that we must have ##|x-1|<1##. So to ensure that ##|f(x)-3|<\epsilon##, we may choose ##0<|x-1|<\min(\epsilon/4,1)##.
Delta: Right, that takes care of this problem. But this only works for this function ##f(x)=\frac{x^3-1} { x-1}##, with ##a=1## and ##L=3##. What if we try another function, say ##f(x)=\frac{x^4-1} { x-1}##. Does it also have limit as ##x\to 1##?
Epsilon: Yes. This limit is ##4##.
Delta: So, here too we want to ##|x-1|## so small so that ##|f(x)-4|<\epsilon##, for an arbitrary ##\epsilon >0##. But I suppose that ##0<|x-1|<\min(\epsilon/4,1)## will not work in this case?
Epsilon: No, ##\epsilon/4## was of course a choice specific to the previous example. In this case...
(Epsilon does some more calculations. Delta agrees that they are correct.)
Epsilon: If we assume that ##0<|x-1|<1## here too, then ##|f(x)-4|=|x-1||x^2+2x+3|<11|x-1|##.
Delta: Ah, so for every ##\epsilon>0##, if ##0<|x-1|<\epsilon/11##, then ##|f(x)-4|<\epsilon##.
Epsilon: Indeed. And this means that ##\lim_{x\to 1} f(x)=4##... well, just as is in the previous example we should have a slightly stronger condition on ##x##: ##0<|x-1|<\min(\epsilon/11,1)## ensures that ##|f(x)-4|<\epsilon##.
Delta: Right. So what does it mean to say that ##\lim_{x\to a} f(x)=L##, for an arbitrary function ##f## and arbitrary numbers ##a## and ##L##? Can we make our ideas here general?
Epsilon: It should certainly be possible. We start from an arbitrary ##\epsilon>0## and try to find a bound of ##|x-a|## such that if ##|x-a|## is smaller than this bound, then ##|f(x)-L|<\epsilon##.
Delta: Yes, and this bound may depend upon ##\epsilon##, such as ##\min(\epsilon/4,1)## and ##\min(\epsilon/11,1)## in our two examples. We would expect the bound to be smaller, the smaller ##\epsilon## is...
Epsilon: Let us call the bound ##\delta##...
Delta: I like that letter!
Epsilon: So, what about this: For every ##\epsilon>0##, there is a ##\delta>0##, which may depend upon ##\epsilon##, such that if ##0<|x-a|<\delta##, then ##|f(x)-L|<\epsilon##.
Delta: Very good! So, in our examples, we choose ##\delta=\min(\epsilon/4,1)## and ##\delta=\min(\epsilon/11,1)##, respectively. In showing that a function has a certain limit at a point, one typically finds such a ##\delta## for each ##\epsilon>0##, just as we did before.
Epsilon: Right! But... there is a slight loophole. Not all functions are defined for all real numbers. We must ensure that ##x## lies in the domain of the function ##f##. But we just add this condition.
Delta: Right, so our formal definition of limit goes like this: The function ##f## has the limit ##L## at the point ##a##, and we write ##\lim_{x\to a} f(x)=L## if: for every ##\epsilon>0## there is a ##\delta >0##, which may depend upon ##\epsilon##, such that ##|f(x)-L|<\epsilon## whenever ##x\in D_f## and ##0<|x-a|<\delta##.
Epsilon: Perfect! This definition is so good that it should have a name. Why not naming it after ourselves?
Epsilon and Delta (in chorus): THE EPSILON-DELTA DEFINITION OF LIMIT!
Ghost of Weierstrass: Ha, don't think you are first!