This page is a workout. The parent note built the ideas; here we drill every kind of case the topic can throw at you until none is unfamiliar. If a word or symbol looks new, we re-earn it on the spot.
Two symbols we use constantly, spelled out in words:
ε (epsilon) — the output tolerance: how close the two heights are allowed to differ. "Up–down" distance.
δ (delta) — the input closeness we are allowed to demand. "Sideways" distance.
∣x−y∣ — the sideways gap; ∣f(x)−f(y)∣ — the up–down gap. The vertical bars mean "distance, always positive".
Every uniform-continuity question falls into one of these cells. The examples below hit each one, and the label after each example name tells you which cell.
Forecast: guess — on a finite closed stretch, does one δ survive? Write your bet before reading.
WHAT: write the output gap using the amplifier factorisation.
∣x2−y2∣=∣x+y∣∣x−y∣.Why this step? Factoring exposes the multiplier ∣x+y∣ that turns an input gap into an output gap — the whole behaviour lives in that factor.
WHAT: bound the amplifier on this domain. Since 0≤x,y≤5,
∣x+y∣≤5+5=10.Why this step? Because the domain is bounded, the dangerous factor is capped by a fixed number — no dependence on where we are. That is the seed of uniformity.
WHAT: choose δ. Take δ=10ε. Then
∣x−y∣<δ⟹∣x2−y2∣≤10∣x−y∣<10⋅10ε=ε.Why this step?δ contains only ε and the number 10 — no x. That "no x" is literally the definition of uniform continuity.
Degenerate zeros.
Constant f(x)=c: output gap is always 0, so anyδ works — vacuously uniformly continuous.
One-point domain A={p}: the only pair is x=y=p, gap 0 — again vacuously UC.
Why this step? Extreme inputs must never surprise us; here they are the easiest cases, not exceptions.
Verify: pick ε=0.1⇒δ=0.01. Take the worst nearby pair x=5,y=4.99: ∣x−y∣=0.01, and ∣x2−y2∣=∣25−24.9001∣=0.0999<0.1. ✓
Forecast: which grows faster as we march right — the input gap we're allowed, or the output gap it produces?
WHAT: fix the target ε=1. Suppose a rescuer hands us some δ>0.
Why this step? To negate "there exists a δ", we defeat an arbitraryδ.
WHAT: engineer the pair
x=δ1,y=δ1+2δ.
Their gap is ∣x−y∣=2δ<δ — legally close. See (figure: the x2 parabola with a yellow pair at x=1/δ for a larger δ and a red pair at x=1/δ for a smaller δ — both a fixed sideways gap apart; the red vertical output gap is visibly far taller — showing that as δ shrinks the engineered point 1/δ marches right into steeper territory).
Why this step? We place the pair far out where the slope is huge, keeping them sideways-close.
WHAT: compute the output gap.
∣x2−y2∣=∣x+y∣∣x−y∣=(δ2+2δ)⋅2δ=1+4δ2>1=ε.Why this step? The output gap exceeds ε no matter how small δ was — the negation is complete.
Verify:δ=0.1⇒x=10,y=10.05: ∣x−y∣=0.05<0.1 ✓, and ∣x2−y2∣=∣100−101.0025∣=1.0025>1 ✓.
Forecast: "bounded" felt safe in Ex 1 — why might it fail here?
WHAT: note (0,1) is not closed: the point 0 is missing, and f→∞ as x→0+.
Why this step?Heine–Cantor Theorem needs closed AND bounded (Compactness). Missing 0 breaks closedness, so no guarantee — we test directly.
WHAT: fix ε=1; take any δ>0; pick points hugging 0:
x=δ,y=2δ(both in (0,1) for small δ).
Gap ∣x−y∣=δ/2<δ. See (figure: the 1/x curve rocketing upward as it approaches the yellow dotted wall at x=0; a red pair of points near the wall shows a tiny sideways step producing a huge vertical leap).
Why this step? The steepness lives near 0, so we crowd the pair against that wall.
WHAT: measure the output gap.
x1−y1=δ1−δ2=δ1.
For δ<1 this is >1=ε.
Why this step? Output gap 1/δ→∞ as δ→0 — beats any tolerance, so no single δ works.
Forecast: the slope 2x1→∞ near 0 — same warning sign as 1/x. Why does x survive where 1/x died?
WHAT: Lipschitz would need a fixed L with ∣x−y∣≤L∣x−y∣. Near 0 the derivative f′(x)=2x1→∞, so no finite L exists.
Why this step? We first admit the easy test fails — Lipschitz is sufficient, not necessary.
WHAT: prove the square-root inequality from scratch. Assume WLOG x≥y≥0, so x≥y≥0. Compare (x−y)2 against x−y=(x−y)(x+y):
(x−y)2=(x−y)(x−y)≤(x−y)(x+y)=x−y,
because x−y≤x+y (we only added the non-negative 2y to the second factor while the first factor x−y≥0). Taking square roots of (x−y)2≤∣x−y∣ gives
∣x−y∣≤∣x−y∣.Why this step? This is the engine of the whole example, so we derive it rather than quote it: replacing the smaller factor (x−y) by the larger (x+y) can only increase the product, and that larger product is exactly x−y.
WHAT: read off the growth. The output gap grows only like input gap — a gentler growth. Unlike 1/x, the function stays bounded and finite everywhere, including at 0; its graph flattens (not steepens) as x grows. Compare the mild slope in (figure: the green x curve rising steeply from the origin then flattening; a red dot near 0 marks where the slope is largest, yet the output stays finite).
WHAT: choose δ=ε2. Then
∣x−y∣<ε2⟹∣x−y∣≤∣x−y∣<ε2=ε.Why this step?δ depends on ε alone — uniformity achieved without Lipschitz.
Verify:ε=0.1⇒δ=0.01. Worst near-0 pair x=0.01,y=0: ∣x−y∣=0.01=δ (boundary), ∣x−y∣=0.1, which is ≤ε. ✓
Forecast:sin wiggles forever — does "forever" break uniformity like x2 did?
WHAT: compute the derivative and bound it. f′(x)=cosx, and ∣cosx∣≤1 for all x.
Why this step? A bounded slope is the cleanest route to Lipschitz. Here L=1 — a single number for the whole line.
WHAT: invoke the Mean Value Theorem. For any x,y there is a c between them with
sinx−siny=cosc(x−y)⇒∣sinx−siny∣=∣cosc∣∣x−y∣≤1⋅∣x−y∣.Why this step? MVT converts "bounded derivative" into "bounded output-to-input ratio", i.e. Lipschitz with L=1.
WHAT: choose δ=ε (since δ=ε/L=ε/1).
∣x−y∣<ε⟹∣sinx−siny∣≤∣x−y∣<ε.Why this step? No x in δ — uniform, even though the graph never stops oscillating. The wiggle is bounded in height and steepness, unlike x2's ever-growing steepness.
Verify:ε=0.05⇒δ=0.05. Take x=0,y=0.05: ∣sinx−siny∣=∣sin0.05∣=0.049979<0.05 ✓.
Forecast: the output never leaves [−1,1] — so how can output gaps blow past ε?
WHAT: fix ε=1; take any δ>0. Choose two peaks/valleys of the wiggle near 0, indexed by a positive integer n:
xn=2πn+2π1,yn=2πn−2π1.
Then f(xn)=sin(2πn+2π)=1 and f(yn)=sin(2πn−2π)=−1.
Why this step? Near 0 the graph oscillates infinitely fast, so a +1 crest and a −1 trough sit arbitrarily close together — see (figure: the blue sin(1/x) curve wiggling faster and faster toward 0; a yellow dot marks a +1 crest and a red dot a nearby −1 trough, so two close inputs give an output jump of 2).
WHAT: check domain membership. For every integer n≥1 the denominators satisfy 2πn−2π>2π⋅1−2π=23π>1, so both xn,yn∈(0,3π2)⊂(0,1). Every n≥1 is legal; no smallness assumption is needed.
Why this step? We must confirm the engineered points actually live in the domain before using them, and here even n=1 already lands safely inside (0,1).
WHAT: estimate the sideways gap so we can beat any δ. Subtracting the two fractions over a common denominator,
∣xn−yn∣=2πn+2π1−2πn−2π1=(2πn+2π)(2πn−2π)π=(2πn)2−(2π)2πn→∞0.
So given any δ>0, pick n large enough that this quantity is <δ; both points still lie in (0,1) by step 2.
Why this step? The explicit formula (2πn)2−(π/2)2πproves the crests bunch up at 0 — we don't just assert it.
WHAT: yet the output gap is
∣f(xn)−f(yn)∣=∣1−(−1)∣=2>1=ε.Why this step? Bounded output does not save you — what matters is that close inputs can still give a fixed jump of 2. Frequency, not amplitude, kills uniformity.
Verify (n=1):x1=1/(2π+π/2)≈0.1273, y1=1/(2π−π/2)≈0.1819; ∣x1−y1∣≈0.0546<0.1, output gap =2>1 ✓.
Forecast: can plugging a single missing point turn a "maybe" into a guaranteed UC — and can we still write a concrete closeness rule?
WHAT: compute the limit at the open end.
limx→0+xsinx=1.Why this step? The only thing stopping compactness was the missing endpoint 0. If the function has a finite limit there, we can fill the hole continuously.
WHAT: set g(0)=1. Now g is continuous on the closed bounded interval [0,1].
Why this step?[0,1] is compact; unlike Ex 3's open (0,1), nothing runs off to infinity.
WHAT (qualitative): apply Heine–Cantor Theorem: continuous on a compact set ⇒ uniformly continuous.
Why this step? We converted a boundary defect into a compact domain, and the theorem does the rest.
WHAT (quantitative δ): we build δ by hand, and we prove the slope bound rather than assert it. Write g′(x)=x2xcosx−sinx for x>0 (and g′(0)=0 by symmetry, since g is even). Use the two standard inequalities valid for x∈(0,1]:
sinx≥x−6x3,cosx≤1.
Then the numerator obeys
xcosx−sinx≤x⋅1−(x−6x3)=6x3,
and (using sinx≤x, cosx≥1−2x2) it also obeys xcosx−sinx≥x(1−2x2)−x=−2x3. Hence
∣g′(x)∣=x2∣xcosx−sinx∣≤x2max(6x3,2x3)=2x≤21for x∈(0,1].
So ∣g′∣≤21 on all of [0,1]. By the Mean Value Theorem this gives Lipschitz constant L=21, so
δ=Lε=2ε,∣x−y∣<2ε⇒∣g(x)−g(y)∣≤21∣x−y∣<ε.Why this step? Heine–Cantor guarantees aδ; the Taylor-type bounds sinx≥x−6x3 and cosx≥1−2x2 turn "one checks" into a genuine everywhere-valid inequality ∣g′∣≤2x≤21, handing us an explicitδ.
Verify: the limit numerically: sin(0.001)/0.001=0.99999983≈1 ✓; and the bound: the actual maximum of ∣g′∣ on [0,1] is at x=1, ∣g′(1)∣≈0.30≤21, consistent with our proven bound ∣g′(x)∣≤x/2 ✓, so L=21 is a safe (loose) Lipschitz constant.
Forecast: does one closeness rule cover the whole run, or must it change over time?
WHAT: find the steepest rate of change (bound the derivative).
T′(t)=3−51t,∣T′(t)∣≤max(∣T′(0)∣,∣T′(10)∣)=max(3,1)=3min∘C.Why this step? Bounded slope L=3 on the compact interval [0,10] gives Lipschitz via Mean Value Theorem — the physical version of "one rule everywhere".
WHAT: Lipschitz bound: ∣T(s)−T(t)∣≤3∣s−t∣.
Why this step? Turns "how fast can temperature move" into "how far apart two readings can be".
WHAT: solve 3δ=ε: δ=Lε=30.5≈0.1667 minutes (≈10 seconds).
Why this step?δ depends only on the tolerance and the slope bound — not on which minute we sample. Uniformity = one compliance rule for the whole shift.
Verify: worst case near t=0 (steepest): T(0)=20, T(0.1667)=20+0.5−0.00278=20.497; gap =0.497<0.5 ✓. Units: min∘C×min=∘C ✓.
Forecast: it is tempting to think "product of two well-behaved functions must be well-behaved." Bet yes or no before reading — the exam trap is that the answer is no.
WHAT: test the derivative for a growing slope.
f′(x)=sinx+xcosx,∣f′(x)∣≥∣xcosx∣−∣sinx∣.
At x=2πn: cos(2πn)=1,sin(2πn)=0, so f′(2πn)=2πn→∞.
Why this step? An unbounded slope is the classic warning flag (recall x2). The factor xamplifies the oscillation's steepness without limit — so we suspect failure and go hunting for bad pairs.
WHAT: engineer sideways-close, output-far pairs. Near xn=2πn (where sin=0, so f(xn)=0) take a nearby point yn=2πn+h with a fixed small h:
f(yn)=(2πn+h)sin(2πn+h)=(2πn+h)sinh.
The sideways gap is ∣xn−yn∣=h; choose h<δ so it is legally close. Then
∣f(yn)−f(xn)∣=(2πn+h)∣sinh∣≥2πn∣sinh∣n→∞∞.Why this step? With h fixed the sideways gap never changes, but 2πn∣sinh∣ grows without bound as n→∞ — this is the exact negation pattern from Ex 2.
WHAT: conclude. For any candidate δ>0 pick h=min(δ/2,1) (so h<δ and sinh=0), then pick n large enough that 2πn∣sinh∣>ε. Two points closer than δ with output gap above ε exist ⇒ xsinx is not uniformly continuous on R. There is no rescuing δ(ε).
Why this step? Moral: uniform continuity is not closed under multiplication on unbounded domains — a genuine exam trap. (On any bounded [a,b] it is fine, by Heine–Cantor.)
Verify: take h=0.1, n=100 so x=200π≈628.3185, y=x+0.1: ∣x−y∣=0.1, and ∣f(x)−f(y)∣=∣0−(628.4185)sin(628.4185)∣≈62.75≫ε. Doubling n roughly doubles this gap ⇒ unbounded ✓.
Recall Scenario checklist to run on any function
Compact domain? → UC free (Heine–Cantor). Bounded derivative? → Lipschitz, δ=ε/L. Slope →∞ or domain unbounded / open at a blow-up? → hunt bad pairs (crowd them where it's steep). Bounded output but infinite oscillation? → still can fail (Ex 6). Missing endpoint with a finite limit? → fill it and gain compactness (Ex 7).