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*(2*r*+1/2^(*n*+1)),
*V*(2*r*+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.

corrected 6-18-02; thanks to Axel Boldt.