A function with a hole in it
Consider this function:
Try to evaluate it at . The numerator is , the denominator is , and is undefined. The function has no value at . There is a hole in the graph.
But factor the top: . For every except 2, the cancels and . So just to the left and just to the right of the hole, the function is sitting right next to the line , which passes through .
The function is undefined at 2, yet everything around 2 is pointing straight at the value 4. That gap, between what happens at a point and what happens near it, is what a limit is for.
Probe it with a table
Pick the function in the widget and drag the probe to .
The table evaluates at points closing in on 2 from both sides: from the left, and from the right. Hit zoom to close in tighter.
Read the columns. From the left the outputs march . From the right they march . Both sides are squeezing in on the same number, 4, even though the function never actually has a value at 2. The table never asks for ; it only ever asks what happens nearby.
The informal definition
Here is what that table is measuring.
means: gets and stays arbitrarily close to as closes in on from either side, ignoring whatever happens at itself.
Two phrases carry the weight. From either side: both the left approach and the right approach have to agree. Ignoring whatever happens at : the value is explicitly not consulted. A hole at does not block a limit. The function does not even have to be defined at .
A limit is a statement about the neighborhood of a point, never about the point itself.
Read the limit
From the table, both sides of close in on the same value as .
What is ?
One side at a time
Splitting the approach into two halves gives a sharper tool: the one-sided limits.
- The left limit watches only values below .
- The right limit watches only values above .
The rule that ties them together:
The two-sided limit exists exactly when both one-sided limits exist and agree. If the two sides head for different numbers, there is no single answer, and the limit does not exist.
A limit that fails by jumping
Switch the widget to and probe .
For any positive , . For any negative , . The left column of the table sits flat at ; the right column sits flat at .
Both one-sided limits exist. They simply disagree. So the two-sided limit at 0 does not exist. The graph has a clean jump, a step down of height 2, and no single value lives in the gap. A tempting wrong move is to average the two sides and call the limit 0. Resist it: the function never goes near 0; it is only ever exactly or exactly .
Three ways a limit dies
Cycle the widget through its remaining functions. There are exactly three ways a two-sided limit can fail.
- Jump. The one-sided limits disagree, like at 0.
- Blow-up. The function runs off to , like at 0. Note carefully: “the limit is ” is a named failure, not a value. The limit still does not exist.
- Oscillation. Try near 0. As shrinks, races off to infinity, so swings between and faster and faster, forever. Zoom in and the wiggles get denser, never calmer. No jump, no asymptote, and still no limit, because the output never settles on anything.
That third one is the subtle case. The input heads obediently to 0, but the output refuses to.
Does it settle?
For , the table values keep bouncing between and no matter how far you zoom.
Does this limit exist? Enter 1 for yes, 0 for no.
Continuity: when the limit is just the value
Most of the time none of this drama happens. For a well-behaved function, the limit at is simply .
That well-behaved property has a name. A function is continuous at when:
The limit exists, the function is defined there, and the two match. Geometrically: no hole, no jump, no asymptote. You could draw the graph through without lifting your pen. The three failure modes from the last step are exactly the three ways this equation can break.
The rule that makes limits easy
Here is the payoff, and it is large.
Every parent function from the first lesson is continuous everywhere on its natural domain. Polynomials, , , , , , all of them. And continuity survives addition, multiplication, and division (as long as you do not divide by zero).
So for any function built by combining catalog functions, evaluating a limit is just plugging in. Take:
Numerator and denominator are sums of catalog functions, and the denominator is not zero at . So the whole thing is continuous at 1, and the limit is just the value there: .
No factoring, no tables, no tricks. Reach for tables and zooming only when plugging in gives you or worse.
A plug-in limit
The function is continuous at , so its limit there is just its value.
Compute as a decimal.
Where this shows up
A transformer’s forward pass is one long composition of catalog functions stacked into a computation graph. Because every piece is continuous, the whole graph is continuous, and that is not a technicality. Backpropagation, the algorithm that trains the network, only works because each piece varies smoothly enough to have a slope.
You now have the limit. The last lesson of this module turns it on a curve and watches a slope appear.
Lesson complete