Calculus states that a continuous function on a closed interval has a maximum and takes every value in between. Both facts can fail on an open interval or on the rationals, and the reason is not the function but the set it lives on. This post first studies subsets of R — open, closed and compact sets — and then functions: the ε–δ definition of a limit and of continuity, with fully worked δ's, the Extreme Value Theorem, the Intermediate Value Theorem, and uniform continuity. It builds directly on the Axiom of Completeness (Real Analysis 00) and on Bolzano–Weierstrass and sequences (Real Analysis 01).
Series map: 00 The Real Numbers & Completeness → 01 Sequences & Series → 02 Topology of ℝ & Continuity (this post) → 03 Differentiation & Taylor's Theorem → 04 The Riemann Integral → 05 Uniform Convergence & Power Series.
Learning Outcome
Define open sets, limit points, closed sets and closure, and decide which of these a given set is.
Define compactness by sequences and by open covers, and prove one direction of the Heine–Borel Theorem.
State the ε–δ definition of a functional limit and its sequential criterion, and use the criterion to prove that a limit does not exist.
Prove continuity from the definition, with an explicit δ for f(x)=x2 at a point, and check it numerically.
Prove that continuous images of compact sets are compact, and deduce the Extreme Value Theorem.
Prove the Intermediate Value Theorem using the supremum.
Define uniform continuity, show that 1/x and x2 fail it on suitable domains, and prove that continuous functions on compact sets are uniformly continuous.
Describe the discontinuity sets of the Dirichlet and Thomae functions.
Chapter 1 — Open and closed sets
Terminology
ε-neighbourhood — Vε(a)=(a−ε,a+ε).
Open set — O⊆R is open if for every a∈O there is ε>0 with Vε(a)⊆O. Every point has some room around it inside the set.
Limit point of A — a point x (in A or not) such that every Vε(x) contains a point of A other than x.
Isolated point of A — a point of A that is not a limit point of A.
Closed set — a set that contains all of its limit points.
Closure — A=A∪L, where L is the set of limit points of A.
Complement — Ac=R∖A.
Examples of open sets
R and ∅ are open (the second vacuously).
Every open interval (a,b) is open: for x∈(a,b) take ε=min(x−a,b−x); then Vε(x)⊆(a,b).
[0,1) is not open: no neighbourhood of 0 fits inside it.
Theorem. (i) Any union of open sets is open. (ii) A finite intersection of open sets is open.
Proof. (i) A point of the union lies in some Oλ, and a neighbourhood inside Oλ is inside the union. (ii) If a∈O1∩⋯∩ON, choose εi with Vεi(a)⊆Oi and take ε=miniεi>0. ■
The word "finite" in (ii) matters: ⋂n=1∞(−n1,n1)={0}, which is not open. With infinitely many εi the minimum can be 0.
Limit points and closed sets
Theorem.x is a limit point of A if and only if x=liman for some sequence (an) in A with an=x for all n.
Proof. (⇒) For each n pick an∈V1/n(x)∩A with an=x; then ∣an−x∣<1/n→0. (⇐) Given ε, the terms an with n large lie in Vε(x), are in A, and differ from x. ■
So a set is closed exactly when it contains the limit of every convergent sequence of its points (constant sequences included, for points of A itself).
Set
Limit points
Open?
Closed?
[a,b]
[a,b]
no
yes
(a,b)
[a,b]
yes
no
{1/n:n∈N}
{0}
no
no (0 missing)
{0}∪{1/n:n∈N}
{0}
no
yes
Z
none
no
yes (vacuously)
Q
R (density)
no
no
R, ∅
R, none
yes
yes
Theorem. A set is open if and only if its complement is closed. Consequently, finite unions and arbitrary intersections of closed sets are closed (De Morgan's laws).
Proof of one direction. Let O be open and let x be a limit point of Oc. If x∈O, some Vε(x)⊆O contains no point of Oc, contradicting that x is a limit point of Oc. So x∈Oc, and Oc is closed. ■
The closure A is the smallest closed set containing A; for example Q=R and (a,b)=[a,b].
Watch out: "closed" is not the opposite of "open". A set can be both (R, ∅ — the only two such subsets of R) or neither ([0,1), Q).
Chapter 2 — Compact and connected sets
Terminology
Compact (sequential definition) — K is compact if every sequence in K has a subsequence that converges to a limit in K.
Open cover of A — a collection of open sets {Oλ} whose union contains A. A finite subcover is a finite subcollection that still covers A.
Compact (cover definition) — every open cover of K has a finite subcover.
Bounded set — ∣x∣≤M for all x in the set, for some M.
Heine–Borel
Theorem (Heine–Borel). For K⊆R the following are equivalent:
(i) K is compact (sequential definition);
(ii) K is closed and bounded;
(iii) every open cover of K has a finite subcover.
Proof of (ii) ⇒ (i). Let (xn) be a sequence in K. It is bounded because K is, so by Bolzano–Weierstrass (Real Analysis 01) it has a convergent subsequence xnk→x. Either x equals infinitely many of the xnk, so x∈K, or it is a limit point of K, and then x∈K because K is closed. ■
Proof of (i) ⇒ (ii). If K were unbounded, choose xn∈K with ∣xn∣>n; no subsequence is bounded, so none converges. If K were not closed, some limit point x∈/K is the limit of a sequence in K; every subsequence also tends to x∈/K. ■
The equivalence with (iii) takes more work; see Abbott Section 3.3 and Rudin Theorems 2.40–2.41.
Nested compact sets. If K1⊇K2⊇K3⊇⋯ are nonempty compact sets, then ⋂nKn=∅. (Pick xn∈Kn. The sequence lies in K1, so a subsequence converges to some x∈K1. For each fixed m, the terms with nk≥m lie in the closed set Km, so x∈Km.) This generalizes the Nested Interval Property of Real Analysis 00 from intervals to any compact sets.
Examples.[0,1] and the Cantor set (an intersection of closed sets, inside [0,1]) are compact. (0,1) is not: the sequence 1/n has every subsequence tending to 0∈/(0,1). Equivalently, the open cover {(1/n,1):n≥2} of (0,1) has no finite subcover, since the union of finitely many of these sets is (1/N,1) for the largest N used, which misses (0,1/N]. R is closed but not bounded, so not compact.
Trick: use the sequential definition when you have a sequence in hand (most proofs in this post). Use the cover definition to pass from "local" information at each point to a "global" statement with finitely many pieces.
Connected sets
Two nonempty sets A,B are separated if A∩B=∅ and A∩B=∅. A set is connected if it is not a union of two separated sets.
Theorem. A set E⊆R is connected if and only if it is an interval: whenever a<c<b with a,b∈E, also c∈E.
Q is not connected: Q={r<2}∪{r>2} splits it into two separated pieces. This gap is exactly why the Intermediate Value Theorem fails for functions on Q.
Chapter 3 — Limits of functions
Terminology
Functional limit — let f:A→R and let c be a limit point of A. Then limx→cf(x)=L means: for every ε>0 there is δ>0 such that for all x∈A with 0<∣x−c∣<δ, ∣f(x)−L∣<ε.
The condition 0<∣x−c∣ means the value f(c) (if it exists) plays no role in the limit.
A first example
Claim.limx→2(3x+1)=7.
Proof.∣(3x+1)−7∣=3∣x−2∣. Given ε>0, let δ=ε/3. If 0<∣x−2∣<δ then ∣(3x+1)−7∣<3δ=ε. ■
For a linear function, δ is simply ε divided by the slope. Nonlinear functions need one extra step (Chapter 4).
The sequential criterion
Theorem.limx→cf(x)=L if and only if for every sequence (xn) in A with xn=c and xn→c, the sequence f(xn)→L.
Proof of (⇒). Let ε>0 and take the δ from the definition. Since xn→c, there is N with ∣xn−c∣<δ for n≥N, and xn=c. So ∣f(xn)−L∣<ε for n≥N. ■
Proof of (⇐). Suppose the limit is not L. Negating the definition (Real Analysis 00): there is ε0>0 such that for every δ>0 some x∈A has 0<∣x−c∣<δ and ∣f(x)−L∣≥ε0. Apply this with δ=1/n for each n to get xn=c with ∣xn−c∣<1/n, so xn→c, but ∣f(xn)−L∣≥ε0 for all n, so f(xn)→L. ■
The same pattern — negate the ε–δ statement, then use δ=1/n to build a sequence — proves the sequential criteria for continuity and for uniform continuity below.
Corollary (divergence criterion). If two sequences xn→c and yn→c (terms =c) have f(xn) and f(yn) tending to different limits, then limx→cf(x) does not exist.
Example.f(x)=sin(1/x) at c=0. Take xn=2nπ1 and yn=2nπ+π/21. Both tend to 0, but sin(1/xn)=sin(2nπ)=0 and sin(1/yn)=sin(2nπ+π/2)=1 for every n. The limit does not exist: the graph oscillates between −1 and 1 infinitely often near 0.
Chapter 4 — Continuity
Terminology
Removable discontinuity at c — limx→cf(x) exists but differs from f(c) (or f(c) is undefined).
Jump discontinuity — the one-sided limits limx→c−f(x) and limx→c+f(x) both exist but are different.
Essential discontinuity — at least one one-sided limit does not exist, as for sin(1/x) at 0.
Lipschitz function — there is K≥0 with ∣f(x)−f(y)∣≤K∣x−y∣ for all x,y in the domain.
Definition
f:A→R is continuous at c∈A if for every ε>0 there is δ>0 such that for all x∈A with ∣x−c∣<δ, ∣f(x)−f(c)∣<ε. It is continuous on A if it is continuous at every point of A.
Equivalently (sequential criterion): f is continuous at c if and only if xn→c with xn∈A implies f(xn)→f(c). If c is a limit point of A, this is the same as limx→cf(x)=f(c). At an isolated point of A every function is continuous.
Worked example: a delta for x squared at c = 3
Claim.f(x)=x2 is continuous at c=3.
Scratch work. Factor: ∣x2−9∣=∣x−3∣∣x+3∣. The factor ∣x−3∣ is what δ controls; the factor ∣x+3∣ must be bounded. Agree in advance that δ≤1. Then ∣x−3∣<1 gives 2<x<4, so ∣x+3∣<7, and
∣x2−9∣<7∣x−3∣.
This is less than ε when ∣x−3∣<ε/7.
Proof. Let ε>0 and set δ=min(1,7ε). If ∣x−3∣<δ, then ∣x−3∣<1, so ∣x+3∣<7, and ∣x2−9∣<7⋅7ε=ε. ■
Checking with numbers. For ε=1 the rule gives δ=min(1,1/7)=1/7≈0.1429. The worst case is at the right end, x=3+71: x2−9=76+491=4943≈0.878<1. At the left end, 9−(3−71)2=4941≈0.837<1. The largest δ that works is 10−3≈0.1623; the proof's δ is a little smaller, which is fine — any δ that works is enough.
ε
δ=min(1,ε/7)
worst ∣x2−9∣ at x=3+δ
largest valid δ
1
1/7≈0.1429
43/49≈0.8776
10−3≈0.1623
0.1
1/70≈0.01429
421/4900≈0.08592
9.1−3≈0.01662
Trick: the "δ=min(1,…)" move is the standard way to handle a nonlinear factor: first restrict x to a fixed interval around c to bound the awkward factor by a constant, then divide ε by that constant.
Building continuous functions
Algebraic Continuity Theorem. If f and g are continuous at c, so are kf, f+g, fg, and f/g (if g(c)=0).
Proof. Use the sequential criterion: if xn→c then f(xn)→f(c) and g(xn)→g(c), and the Algebraic Limit Theorem (Real Analysis 01) does the rest. ■
Since f(x)=x and constants are continuous, every polynomial is continuous on R, and every rational function is continuous wherever its denominator is not zero.
Composition. If g is continuous at c and f is continuous at g(c), then f∘g is continuous at c.
Proof. Let ε>0. Choose η>0 with ∣y−g(c)∣<η⇒∣f(y)−f(g(c))∣<ε. Then choose δ>0 with ∣x−c∣<δ⇒∣g(x)−g(c)∣<η. Chaining, ∣x−c∣<δ⇒∣f(g(x))−f(g(c))∣<ε. ■
So 1+x2, sin(x3) and ecosx are continuous (given that the square root, sine, cosine and exponential functions are continuous on their domains).
Chapter 5 — Continuous functions on compact sets and intervals
Compactness is preserved
Theorem. If f:K→R is continuous and K is compact, then f(K)={f(x):x∈K} is compact.
Proof. Let (yn) be a sequence in f(K); write yn=f(xn) with xn∈K. By compactness a subsequence xnk→x∈K. By continuity ynk=f(xnk)→f(x)∈f(K). So every sequence in f(K) has a subsequence converging in f(K). ■
The Extreme Value Theorem
Theorem (EVT). If f:K→R is continuous and K is compact and nonempty, then f attains a maximum and a minimum: there are x0,x1∈K with f(x0)≤f(x)≤f(x1) for all x∈K.
Proof.f(K) is compact, hence bounded, so s=supf(K) exists (Axiom of Completeness). By the ε-characterization, for each n there is yn∈f(K) with s−1/n<yn≤s, so yn→s. Since f(K) is closed, s∈f(K): s=f(x1) for some x1∈K. The minimum is the same argument with inf. ■
Every hypothesis is needed:
Function and domain
What fails
Max attained?
f(x)=x on (0,1)
domain not closed
no (sup=1 not reached)
f(x)=x on [0,∞)
domain not bounded
no (unbounded)
f(x)=1/x on (0,1]
domain not closed
no (unbounded)
f(0)=0, f(x)=1−x on (0,1]
f not continuous at 0
no (sup=1 not reached)
The Intermediate Value Theorem
Theorem (IVT). Let f:[a,b]→R be continuous, and let L be a number strictly between f(a) and f(b). Then there is c∈(a,b) with f(c)=L.
Proof (via the supremum). Replacing f by f−L (and by −f if needed), assume f(a)<0<f(b) and find c with f(c)=0. Let
S={x∈[a,b]:f(x)<0}.
S contains a and is bounded above by b, so c=supS exists, and a≤c≤b.
f(c)>0 is impossible. By continuity there is δ>0 with f(x)>0 for x∈(c−δ,c] (take ε=f(c)). Then no point of S lies in (c−δ,c], and none lies above c, so c−δ is an upper bound of S smaller than c. Contradiction.
f(c)<0 is impossible. Then c=b since f(b)>0, and by continuity f(x)<0 on [c,c+δ) for some δ>0 (small enough that c+δ≤b). So c+δ/2∈S, contradicting that c is an upper bound.
Hence f(c)=0, and c=a,b since f(a)<0<f(b). ■
A second proof: f([a,b]) is connected (continuous images of connected sets are connected), hence an interval by the theorem in Chapter 2, so it contains every value between f(a) and f(b). A third uses bisection and the Nested Interval Property — which is also an algorithm.
Worked example.p(x)=x3+x−1 has a root in (0,1), since p(0)=−1<0<1=p(1). Bisection narrows it:
interval
midpoint m
p(m)
keep
[0,1]
0.5
−0.375
[0.5,1]
[0.5,1]
0.75
0.171875
[0.5,0.75]
[0.5,0.75]
0.625
≈−0.1309
[0.625,0.75]
[0.625,0.75]
0.6875
≈0.01245
[0.625,0.6875]
The root is ≈0.6823. (It is the only real root: p′(x)=3x2+1>0, so p is strictly increasing.)
Common pitfall: the IVT says nothing about functions on sets with gaps. On Q∩[0,2], the continuous function g(x)=x2−2 is negative at 0 and positive at 2 but has no rational zero.
Chapter 6 — Uniform continuity
Definition
f:A→R is uniformly continuous on A if for every ε>0 there is δ>0 such that for allx,y∈A with ∣x−y∣<δ, ∣f(x)−f(y)∣<ε.
Compare the quantifiers:
continuous on A: ∀c∀ε∃δ∀x — δ may depend on εand on c;
uniformly continuous: ∀ε∃δ∀c∀x — one δ works at every point.
The example of 1/x
Take f(x)=1/x on (0,1] and ε=1. At a point c, the largest δ that works is decided on the left side, where the graph is steeper:
c−δ1−c1=c(c−δ)δ=ε⟺δ=1+εcεc2.
point c
1
1/2
1/4
1/10
largest δ for ε=1
1/2
1/6≈0.167
1/20=0.05
1/110≈0.00909
At each point a δ exists, so 1/x is continuous on (0,1]. But the best δ tends to 0 as c→0, so no single δ serves every point: 1/x is not uniformly continuous on (0,1]. The domain is bounded but not closed, and the missing point 0 is exactly where things go wrong.
Proving a function is not uniformly continuous
Sequential criterion.f is not uniformly continuous on A if and only if there are ε0>0 and sequences (xn),(yn) in A with ∣xn−yn∣→0 but ∣f(xn)−f(yn)∣≥ε0 for all n.
1/x on (0,1]: xn=n+11, yn=n+21. Then ∣xn−yn∣=(n+1)(n+2)1→0 but ∣f(xn)−f(yn)∣=1.
x2 on R: xn=n, yn=n+n1. Then ∣xn−yn∣=n1→0 but ∣yn2−xn2∣=2+n21≥2. The graph gets steeper without bound.
sin(1/x) on (0,1): xn=2nπ1, yn=2nπ+π/21 from Chapter 3. Their distance tends to 0 and the values differ by 1. This function is bounded and continuous on (0,1), yet not uniformly continuous.
On a bounded interval, x2is uniformly continuous: on [−M,M], ∣x2−y2∣=∣x+y∣∣x−y∣≤2M∣x−y∣, so δ=ε/(2M) works everywhere. More generally, a Lipschitz function (∣f(x)−f(y)∣≤K∣x−y∣ for all x,y) is uniformly continuous with δ=ε/K.
Compact domains fix everything
Theorem. A continuous function on a compact set K is uniformly continuous on K.
Proof. Suppose not. By the sequential criterion there are ε0>0 and xn,yn∈K with ∣xn−yn∣→0 and ∣f(xn)−f(yn)∣≥ε0. By compactness a subsequence xnk→x∈K. Then
∣ynk−x∣≤∣ynk−xnk∣+∣xnk−x∣→0,
so ynk→x too. By continuity at x, both f(xnk) and f(ynk) tend to f(x), so ∣f(xnk)−f(ynk)∣→0. This contradicts ∣f(xnk)−f(ynk)∣≥ε0. ■
This theorem is the reason the Riemann integral of a continuous function on [a,b] exists (Real Analysis 04): one δ for the whole interval controls every subinterval of a partition at once.
Watch out: "continuous on (0,1) and bounded" does not give uniform continuity (sin(1/x)), and neither does "continuous on a closed set" (x2 on R). The hypothesis is closed and bounded.
Chapter 7 — How discontinuous can a function be?
Dirichlet's functiong(x)=1 for x∈Q and g(x)=0 for x∈/Q is discontinuous at every point. Given c, the density of Q and of the irrationals (Real Analysis 00) gives a sequence of rationals xn→c and a sequence of irrationals yn→c, with g(xn)=1 and g(yn)=0; they cannot both tend to g(c).
A function continuous at exactly one point.h(x)=xg(x) (equal to x on Q and 0 elsewhere) is continuous at 0, since ∣h(x)∣≤∣x∣ (take δ=ε), and discontinuous at every c=0 by the same two-sequence argument.
Thomae's function.
t(x)=⎩⎨⎧11/q0x=0,x=p/q in lowest terms, q≥1,x∈/Q.
Discontinuous at every rationalc=p/q: t(c)=1/q>0, but irrationals yn→c have t(yn)=0.
Continuous at every irrationalc: given ε>0, choose q0 with 1/q0<ε. In the interval (c−1,c+1) only finitely many rationals have denominator q<q0, and none equals c. Choose δ>0 so small that Vδ(c) avoids all of them. Every x∈Vδ(c) is then irrational (t(x)=0) or has denominator ≥q0 (t(x)≤1/q0<ε). So ∣t(x)−t(c)∣<ε.
So Thomae's function is continuous exactly on the irrationals. The reverse is impossible: no function f:R→R is continuous exactly on Q. The proof uses the Baire Category Theorem (Abbott Sections 3.5 and 4.6).
Function
Continuous at
Discontinuous at
polynomials
all of R
nowhere
x↦sin(1/x), 0↦0
x=0
0 (no limit)
Dirichlet g
nowhere
all of R
xg(x)
0 only
x=0
Thomae t
irrationals
rationals
Practice Exercises
1. Is A={1+1/n:n∈N}∪{1} open, closed, compact? Find its limit points.
Solution
The only limit point is 1, which is in A, so A is closed. It is bounded (inside [1,2]), so it is compact by Heine–Borel. It is not open: no neighbourhood of 2 lies in A.
2. Show directly from the cover definition that [0,∞) is not compact.
Solution
The sets On=(−1,n), n∈N, are open and cover [0,∞). A finite subcollection has union (−1,N) for the largest index N used, which misses N. So there is no finite subcover.
3. Prove from the definition that f(x)=5x−2 is continuous at every c, and that limx→1x−1x2−1=2.
Solution
∣f(x)−f(c)∣=5∣x−c∣, so δ=ε/5 works. For the limit: for x=1, x−1x2−1=x+1, and ∣(x+1)−2∣=∣x−1∣, so δ=ε works. The value at x=1 is undefined, which does not matter for the limit.
4. Prove that f(x)=x2 is continuous at c=−2. Give δ as a formula in ε and check it for ε=0.5.
Solution
∣x2−4∣=∣x+2∣∣x−2∣. If ∣x+2∣<1 then −3<x<−1, so ∣x−2∣<5. Take δ=min(1,ε/5). For ε=0.5, δ=0.1; the worst case is x=−2.1: x2−4=0.41<0.5 (and at x=−1.9: 4−3.61=0.39).
5. Show that f(x)=x is uniformly continuous on [0,∞). (Hint: split into [0,1] and [1,∞), or show ∣x−y∣≤∣x−y∣.)
Solution
For 0≤y≤x: (x−y)2≤(x−y)(x+y)=x−y, so ∣x−y∣≤∣x−y∣. Given ε, δ=ε2 works for all x,y≥0.
6. Show that every polynomial of odd degree has a real root.
Solution
Let p(x)=anxn+⋯+a0 with n odd and an>0 (else use −p). Then p(x)/xn→an>0 as x→±∞, so p(x)>0 for large positive x and, since xn<0 for x<0, p(x)<0 for large negative x. Pick such points a<b and apply the IVT on [a,b].
7. Let f:[0,1]→[0,1] be continuous. Prove that f has a fixed point: some c with f(c)=c.
Solution
Let g(x)=f(x)−x, continuous on [0,1]. Then g(0)=f(0)≥0 and g(1)=f(1)−1≤0. If either is 0 you are done; otherwise g(0)>0>g(1) and the IVT gives c∈(0,1) with g(c)=0.
Cheat-sheet
Concept
Definition or statement
Standard example
Open
every point has a Vε inside
(a,b); not [0,1)
Closed
contains all limit points
[a,b], Z; not Q
Open vs closed
O open iff Oc closed
R, ∅ are both
Compact
every sequence has a subsequence converging in K
[a,b], Cantor set
Heine–Borel
compact iff closed and bounded iff finite subcovers
(0,1) fails
Functional limit
0<∣x−c∣<δ gives ∣f(x)−L∣<ε
sin(1/x) at 0: none
Continuity
∣x−c∣<δ gives ∣f(x)−f(c)∣<ε
x2 at 3: δ=min(1,ε/7)
EVT
continuous on compact: max and min attained
fails for x on (0,1)
IVT
continuous on [a,b] takes all values between
root of x3+x−1 near 0.6823
Uniform continuity
one δ for all points
1/x on (0,1] fails
Compact ⇒ UC
continuous on compact is uniformly continuous
x2 on [−M,M]
Thomae
continuous exactly on the irrationals
Dirichlet: nowhere
What's next
Real Analysis 03 defines the derivative as a functional limit and proves the theorems that make calculus work, such as the Mean Value Theorem (whose proof needs the Extreme Value Theorem from this post) and Taylor's theorem with remainder.
References
Stephen Abbott, Understanding Analysis, 2nd edition, Springer, 2015 — Chapter 3 (basic topology of R) and Chapter 4 (functional limits and continuity; Section 4.6 on sets of discontinuity).
Walter Rudin, Principles of Mathematical Analysis, 3rd edition, McGraw-Hill, 1976 — Chapter 2 (basic topology) and Chapter 4 (continuity).
Robert G. Bartle and Donald R. Sherbert, Introduction to Real Analysis, 4th edition, Wiley, 2011 — Chapters 4–5 and 11.
Terence Tao, Analysis I, 4th edition, Springer, 2022 — Chapter 9 (continuous functions on R).
Michael Spivak, Calculus, 4th edition, Publish or Perish, 2008 — Chapters 5–8 (limits, continuity, the three hard theorems).
Note: this post is in progress. Planned additions: the proof that sequential compactness implies the open-cover property; perfect sets and the Baire Category Theorem; monotone functions and their (countable) sets of jump discontinuities.