The Urysohn Lemma: If A, B are disjoint, closed subsets of a normal space X, then there esists a continuous f: X-->[0,1] with f(A)=0, f(B)=1.
Proof: (This proof is a conflation of the proofs in Hocking and Young and Munkres.) We first construct nested families of open sets U(p), V(p) for p a dyadic rational in (0,1); these will eventually correspond to the inverse images of [0,p) and (p,1] under f which will however be defined from the U's.
Step 0: We start by applying normality to the disjoint, closed pair A,B. So there exist U(1/2),V(1/2) disjoint, open, containing A and B respectively. Let A(1/2) be the complement of V(1/2), and B(1/2) the complement of U(1/2); these sets are closed.
Step 1: We apply normality to the disjoint, closed pair A, B(1/2). So there exist U(1/4) and V(1/4) disjoint, open, containing A and B(1/2) respectively. Similarly there exist U(3/4) and V(3/4) disjoint, open, containing A(1/2) and B respectively.
Step n: Relabel A=A(0), B=B(1). Suppose that for every rational of the form r/2^n there exist disjoint, open sets U(r/2^n) and V(r/2^n), and that (*) p < q ==> A(p) is contained in U(q) and V(q) is contained in B(p), where A(p) and B(p) are defined as before. Apply normality to the disjoint, closed pair A(r/2^n), B((r+1)/2^n) to get U(2r+1/2^(n+1)), V(2r+1/2^(n+1) disjoint, open, containing A(r/2^n) and B((r+1)/2^n) respectively. These new U's and V's satisfy (*) and set the stage for Step n+1.
By induction, for every dyadic rational p there exist disjoint, open U(p), V(p), and these are nested as in (*). Now for x in X, let S(x) = {p : x in U(p)}, and let f(x)=g.l.b.S(x) unless x is in B; if x is in B let f(x)=1. Clearly if x is in A, f(x)=0, since A is contained in every U(p), p > 0.
To prove continuity, first establish the two implications
a. If x is in the closure of U(p),
then f(x) <= p.
b. If x is in the complement of U(p),
then f(x) >= p.
[Proof of a. Suppose not, and that f(x) =
q > p. This implies
that for a dyadic rational r, with p < r
< q, x does not
belong to U(r).
But the closure of U(p) is contained in A(p),
and (*) implies that A(p) is contained
in U(r), contradiction.]
[Proof of b. Suppose not, and that f(x) = s
< p. This means
that for some dyadic rational r, with s < r
< p, x belongs to U(r).
But by (*), U(r) is contained
in U(p), contradiction.]
Now given x in X with 0 < f(x) < 1,
continuity at x means that for any e > 0,
there is a neighborhood
of x mapping into (f(x)-e,
f(x)+e). Choose dyadic rationals p,q with
f(x)-e < p < f(x)
< q < f(x)+e. The neighborhood to take
is U(q)-{the closure of U(p)}.
First if x were not in this set,
then x would be in the complement of
U(q) or the closure of U(p);
in the first case b. implies f(x) >=
q; in the second, a.
implies f(x) <= p; either way
a contradiction. Furthermore,
if y is a point of this neighborhood, then by a.
f(y) <= q,
and by b. f(y) >= p, so f(y)
certainly satisfies f(x)-e <
f(y) < f(x)+e.
Continuity at x when f(x) = 0 or 1 is
proved by pieces of the
same argument.