How 9 Cheenta students ranked in top 100 in ISI and CMI Entrances?
Learn More

Urysohn's Metrization Theorem | A Survey

1. Prelude

Urysohn's Metrization theorem is one of the 'big boys' of second course in Topology. It works as an excellent survey problem that brings scattered ideas theorems and technical terms together.

We will examine a standard proof and review the terms and theorems used in the proof. While examining the various bits and pieces, we revisit the 'big picture' over and over again.

2. What is a Metrization Theorem?

Metric spaces are much simpler than most topological spaces. Consider the following:

  1. Every metric space is
    1. \( T_1 \)
    2. \( T_2 \) or Hausdorff
    3. Normal
    4. Regular
  2. In a metric space, the notions of compactness, sequential compactness, and countable compactness coincide.
  3. In a metric space, the concepts of Lindelof, second countability, and separability coincide.

Since a metric space is 'simpler' to study, we are often interested to know whether a topological space can be 'viewed' as a metric space.

2.1 Definition: Metrizable

A topological space (X, T) is said to be metrizable if there is a metric ( d : X \times X \to in[0, \infty) ) such that the topology induced by d is T.

Word of Caution

Given any set X, we can define a metric on it (discrete metric). The discrete metric d is defined as d(x, y) =1 if x and y are distinct, d(x, y) = 0 if x and y are same.

Hence the question is NOT this: can we define a metric on X? (because most certainly we can apply discrete metric).

The question is this: can we define a metric on X that induces a topology which coincides with the topology that X started of with?

So we have a topological space (X, T) at our disposal. We take a hard look at its properties and try to come up with a metric d (on X) that induces topology ( T_d ) on X and ( T_d ) coincides with ( T ) (that is they are the same family of subsets of X).

2.2 Conception: Inducing a topology

What does 'a metric inducing a topology on a set' means?

Here is a recipe:

  1. Begin with a set X and a metric \( d : X \times X \to [0, \infty ) \)
  2. Let r be any real numbers. Build all r-balls, using d about every point in X. That is for all \(  x \in X \) and for all \( r > 0 \), define \( B_d (x, r) = \{ y \in X, d(x, y) < r \} \)
  3. Turns out that this family of subsets of X (r-balls),  \( B_d (x, r) \), can form a basis for some topology. That is if you take all possible union of these balls, the family of the union of these balls forms a topology on X (satisfies the definition of 'topology'). This obviously requires a bit of proof.
  4. So you create all the r-balls, about every x in X, and put them in one big jar (family of subsets). Then you pick arbitrarily many subsets (possibly 1, all or none) and put these unions in another mega jar. This mega jar will be topology and this topology is called: 'topology induced by metric d'. 

Clearly different metrics may induce different topologies on a set X. We wish to find out if a special metric d exists, such that, the topology induced by it is the same as the topology on X that we are studying.

Just looking at a space, it might be possible to say, that it is not metrizable. For example, if space (X, T) is not Hausdorff, then we can straightaway say that it is not metrizable. This is because one may easily prove that ALL metric spaces are Hausdorff.

But sometimes it is not so easy to decide. For example, there are second countable, Hausdorff, spaces which are not metrizable! Smirnov's deleted sequence topology is an example. There are many such examples.

Refer to \( \pi \) Base for many examples and counterexamples of this nature. Their website:

2.3 Conception: Metrization Theorem

A metrization theorem attempts to give (small number of, elementary) conditions on a topology space; conditions which are necessary and sufficient for a space to be metrizable.

Urysohn's metrization theorem is one such classical theorem. It was followed by further refinement by other mathematicians.

2.4 Theorem: Urysohn's Metrization Theorem: 

If a space X (or (X, T) ) is second countable and ( T_3 ) then X is metrizable.

We will 'build' the standard proof in the following sections.

3. The Big Picture

The standard proof of Urysohn's Metrization Theorem (refined in the modern form by Tychonoff), uses the following strategy:

  1. We show that: X can be embedded into a subspace of a metric space Y.
  2. This 'target' space Y must be 'created'.  We will set it equal to the product of countable family of copies of real numbers with product topology.
  3. Also, we must find a suitable metric for Y which will 'do the job' all the time making sure that this metric induces a topology that coincides with product topology that we started with.
  4. In a separate analysis, X is showed to be 'normal'.
  5. Using Urysohn's Lemma, a countable family of continuous functions \( \{ f_1, f_2, .. \} \) are built from X to [0, 1]. This family of continuous functions is 'peculiar' in nature. For each x in X, and each open neighborhood U containing x, there is a 'peculiar' member of the family of continuous functions that 'dies down' outside that U (becomes equal to 0), but is 'positive' at that x. (These functions are not hard to build, once normality is known. To establish 'countable' nature of this family of functions, we use second countability of X).
  6. Finally, this family of maps is used to build a 'master function' from X to Y.
  7. We show that the master function is an embedding, thus concluding that X is homeomorphic to F(X). Since F(X) is a subspace of a metric space Y, F(X) under subspace topology is metric space itself.
  8. Since F(X) is metric space, it's homeomorphic copy is a metric space as well.


If Y, the product of countable copies of R, is imagined as mesh of strings tied at origin, then the \( f_i\)'s can be thought of as transporters each of which shoots the point x in X to a point on one of the strings of the mesh. Given a U about x, one of the transporters will gravitate 'quickly' toward origin, crashing their as soon as it takes points outside U. If \( f_N \) be that transporter and (x, U) be the point and open neighborhood of the point in question then, we can imagine U to stick to the Nth string of the mesh as a colored patch. Everything outside U crushed to the origin by the transporter \( f_N \). The other transporters will take U to their respective strings in the mesh and create patches which may or may not crush X\U to 0.

4. Subspace of metric spaces

Before we proceed any further, we must take care of a subtle but easy point.

Our strategy of proof shows X to be homeomorphic with some subspace, F(X) of a metric space (under the influence of homeomorphism F). F(X) is initially equipped with subspace topology with respect to the metric space Y. In order to conclude X metrizable, we must show F(X) is metrizable as well. That is, we must show subspace topology of F(X) coincides with a metric induced topology (by some metric).

4.1 Lemma:

If B is a basis for (X, T). Then ( B_{\alpha} \cap Y ) is a basis for subspace topology of Y where ( B_{\alpha} \in B ).

4.1 Theorem:

Subspaces metric spaces metrizable

If (X, d) is a metric space and Y is a subspace of X, then topology induced by the restriction of the metric d (to ( Y \times Y )  which we will call ( d_Y )) is same as the subspace topology of Y in X.

Let ( d_Y ) be the restriction of d to Y and ( T_{d_Y} ) is the induced topology. Also, let ( T_{Y} ) be the subspace topology.
Suppose U is in ( T_{d_Y} ). Then ( U = \cup_{y \in U } B_{d_Y} {y, r} ) where ( B_{d_Y} (y, r) ) denote the r-ball centered at y. But ( B_{d_Y} (y, r) = B_{d} (y, r) \cap Y ). This is a basis set of the subspace topology. Hence ( U = \cup_{y \in U } (B_{d} (y, r) \cap Y) \in T_Y )
On the other hand if ( U \in T_Y ) then U can be written as union of basis elements ( U = \cup_{y \in U } (B_{d} (y, r) \cap Y) = \cup_{y \in U } B_{d_Y} (y, r)  \in T_{d_Y} )
Thus the subspace topology and induced topology coincides.

5. X is normal

Normality is a very crucial 'separation' property of a topological space. It will allow application of Urysohn's Lemma. We begin with some definitions:

5.1 Definition: \( T_2 \) or Hausdorff Space

A topological space is Hausdorff (or ( T_2 )) if distinct points have distinct neighborhoods.

5.2 Definition: Second Countable

A space (X, T) is second countable, if and only if it's basis set is countable.

5.3 Definition: \( T_1 \) or Frechet Space

A space X is ( T_1 ) if every point set is closed (or complement of every point set is a member of T).


For any two distinct elements ( x, y \in X )  there exist open sets ( U, V \in T ) such that x is in U but not in V, and y is in V but not in U.

A little work is needed to show that the two definitions are equivalent. Also one may show ( T_2 ) implies ( T_1 ).

5.4 Definition: Regular

A topological space X is a regular space if, given any non-empty closed set F and any point x that does not belong to F, there exists a neighbourhood U of x and a neighbourhood V of F that are disjoint.

5.5 Definition: ( T_3)

A regular, ( T_1 ) space is called ( T_3).

5.6 Definition: Lindelof Space

A topological space X is Lindelof, if and only if every open cover of X has a countable subcover.

5.7 Lemma:

Second countable spaces are Lindelof.

Proof: Omitted (easy).

5.8 Lemma:

If X is second countable and ( A \subset X ) is closed then, every cover of A has a countable sub cover.


Let ( { U_{\alpha} }_{\alpha \in \Lambda} ) be  a cover of A. For each point a in A there is a member of the cover ( U_a ) containing a. Pick a basis element ( B_a ) such that ( a \in B_a \subset U_a ).
Since A is closed, ( A^{c} ) is open. Then consider ( { B_a ,a \in A, A^c } ). This is a cover for X. Since X is second countable, it is Lindelof (every cover has a countable subcover). Hence ( { B_a a \in A, A^c } ) has a countable subcover.
From the countable collection of basis sets and complement set of A, pick the corresponding ( U_a ) for each ( B_a ). Thus, we got a countable cover for A.

5.9 Theorem: Padding theorem

Let X be regular. U be open and p be a point in U. Then there exists open sets ( V) such that ( p \in V \subset \bar{V} \subset U ).


Since U is open, X\U is closed. There are disjoint open sets V and V' such that V contains p and V' contains X\U (as X is regular). Therefore, V is a subset of U. Let p' be an element from the closure of V. If all such p' is in U then we are done. If one such p' is in X\U then we show a contradiction.
If p' is in X\U then p' is in V' (as V' contains p'). Since V' is open, it is possible to find open set V'' containing p', and inside V'. Thus, we found an open set containing p' that is entirely inside V' hence not intersecting V. But by definition of the closure of a set, any open set containing must intersect V. Hence contradiction.

Theorem 4.9 is one of the most crucial techniques that we will make use of over and over again. We may call it padding theorem as it says that every open set containing p has another open set and its closure inside it.

How do we use second countability and ( T_3 ) characterization of X to show it is normal?

5.10 Theorem:

Every second-countable regular space is normal


Say C and D are two disjoint closed sets of X.
For each ( c \in C ) there exists ( U_c ) containing c that does not intersect D (since X is regular).
Also there exists ( V_c ) such that ( c \in V_c \subset \bar {V_c} \subset U_c ) for each such ( c \in C ). Clearly these ( \bar{V_c} ) are closed sets disjoint with D.
Similarly we find a family of open sets ( U_d ) (for each ( d \in D ) ) disjoint with C. Also we find a family of closed sets ( \bar{V_d} ) (each inside ( U_d ) ) each of which are disjoint with C as well.
Now there are two subtle points:

  • \( \{ V_c \}_{c \in C} \) is open cover for closed set C in \( T_1 \) space X. By Lemma 1.6, there exists a countable subcover \( \{ V_{c_i} \}_{c_i \in C, i \in N } \). Similarly, for closed set D, we find a countable subcover \( \{ V_{d_i} \}_{d_i \in D, i \in N } \).
  • Clearly the \( V_c \) 's do not intersect D but they may intersect \( V_d \). Here the 'extra' padding will help us. Create sets as follows:
    • \( W_{c_1} = V_{c_1} \cap \{\bar {V_{d_1}} \}^c \)
    • \( W_{c_n} = V_{c_n} \cap \{\cup_{i=1}^n\bar {V_{d_i}} \}^c \)
    • In each case we keep every element of C that is in \( V_{c_i} \)'s hence \( \{ W_{c_i} \}_{c_i \in C, i \in N } \) is still a cover for C. Parts that are deleted contains \( V_{d_i} \)'s .
    • Similarly set up \( \{ W_{d_i} \}_{d_i \in D, i \in N } \).
    • Clearly they are disjoint. Otherwise let be in their intersection. Suppose \( t \in W_{c_k} , t \in W_{d_r}, r \ge k \). This implies \( t \in V_{c_k} , t \not\in \bar{V_{c_k}} \). Hence contradiction.

Thus, we have created two families of open sets, whose unions are disjoint and which contain C and D respectively.

Thus, X is normal. (proved)

Once we have established normality of X, we may use Urysohn Lemma for sewing the disjoint closed sets in X.

6. Urysohn's Lemma

First, we define an indexing set. Then we will use that indexing to prove this all-powerful lemma for normal spaces.

6.1 Definition: Dyadic Fractions

( D = { \dfrac {p}{2^n} : n, p \in Z^{+} , p < 2^n } )

6.2 Urysohn's Lemma: 

A topological space X is normal if and only if for each pair A and B of disjoint closed subsets of X, there is a continuous function ( f : X \to [0,1] ) such that f(a) = 0 for each ( a \in A ) and f(b) = 0 for each ( b \in B )


Let A and B be disjoint closed subsets of X. Then X\B is open. Since X is normal, there are disjoint open sets U, V such that A is in U and B is in V. Therefore U is in X\B (otherwise it will have nonempty intersection with V).
cl(U) be the closure of U. We will show that it has an empty intersection with B. Otherwise, if possible, let t be in cl(U) and t be in B. Then t is in V. But V is open. Then there is an open set V' containing t and inside V. But V is disjoint from U. Hence open set V' containing t is disjoint from U. But then t cannot be in the closure  of U.
Hence we found ( A \subset U \subset \bar {U} \subset B^c ). Let us name U as ( U_{1/2} ) . Thus, we have ( A \subset U_{1/2} \subset \bar {U}_{1/2} \subset B^c )
Now we repeat the above process twice.

  • Since \( A \subset U_{1/2} \) there exist open set \( U_{1/4} \) such that \( A \subset U_{1/4} \subset \bar {U}_{1/4} \subset U_{1/2} \)
  • Since \( \bar{U}_{1/2} \subset B^c \) there exist open set \( U_{3/4} \) such that \( \bar{U}_{1/2} \subset U_{3/4} \subset \bar {U}_{3/4} \subset B^c \).
    Combining the above two cases we have \( A \subset U_{1/4} \subset \bar {U}_{1/4} \subset U_{1/2} \subset \bar{U}_{1/2} \subset U_{3/4} \subset \bar {U}_{3/4} \subset B^c \)

Thus we showed that there exists a countable collection of open sets ( { U_d } ) such that ( d_1 < d_2 ) implies ( A \subset U_{d_1} \subset \bar {U}{d_1} \subset U{d_2}  \subset \bar {U}_{d_2} \subset B^c )

We define the continuous function as follows:
( {U_d: d \in D } ) be a collection of open sets found in 1.9.Then
f(x) = ( \sup { d : x \not \in U_{d} } ) if ( x \not \in U_d ) for some ( d \in D)
= 0 otherwise.
Note that the ( U_d )'s are nested. That is if x is in one ( U_d ) then it is in ALL ( U_d )'s for larger value of d.
Clearly if x is in A then it is in ALL ( U_d ), implying f(x) = 0. If x is in B, then none of ( U_d ) contain it. Supremum of all dyadic numbers is 1. Hence f(x) = 1 if x is in B.
We have to show that f(x) is continuous. Given t in X and given ( \epsilon \ge 0 ) we have to find an open set containing t that fully maps into that interval ( (f(t) - \epsilon, f(t) + \epsilon ) ).
Since dyadic rationals are dense in the interval (0, 1), we can find ( d_1, d_2 \in D ) such that ( 0 < d_1 < f(t) - \epsilon < f(t) < f(t) + \epsilon < 1 )
Is t in ( \bar {U}{d_1} )? Then the ( d_1 ) would have been greater than or equal to the least upper bound of all d's such that ( t \not \in U_d ). That is not the case here. Hence t is not in ( \bar {U}{d_1} ).
For all d's greater than f(t), t is in ( U_d ). Hence t is in ( U_{d_2} ). Clearly ( V = U_{d_2} \cap \bar{U}_{d_1}^c ) is a open set containing t and all it's members map into the desired interval of ( (f(t) - \epsilon, f(t) + \epsilon ) ) . Therefore f is continuous.

Our program for proving second countable ( T_3 ) space X is metrizable requires a metric space Y in which we will embed X. So far we have shown that

  1. X is normal
  2. For any two disjoint sets in X, we can build a continuous map from X to [0,1] such that the map is frozen at 0 and 1 in those two sets.

Next, we build the metric space Y which will work as our 'target' space to which X will be embedded.

7. Genesis of Y

7.1 What is Y

We set Y as follows: Y = ( \mathbb{R}^{\mathbb{N}} ). That is Y (countable product of copies of ( \mathbb {R} ) is a topological space with familiar product topology.

We create a metric on ( Y \times Y ) that induces that product topology on (Y, T). First we define standard bounded metric on each copy of real line in Y, and then use that to produce a metric on Y itself

7.2 Standard bounded metric on \( \mathbb{R} \)

d(a, b) = min { |a-b|, 1 } .

It is easy to show that it is a metric. Positivity and symmetric nature of d are obvious. Triangular inequality can be established observing
d(a, b) + d(b, c) exceeds 1 if one of |a-b| or |b-c| exceeds one but the d(a, c) is at most 1. If none on the left exceeds 1, then usual proof of |a-b| + |b-c| > |a-c| follows.

7.3 Metric for Y: 

If ( a = (a_1, a_2, ... ) , b = (b_1, b_2 , ... ) ) be two elements of Y, define metric ( D : Y \times Y \to [0, \infty ) ) as follows:
( D(a, b) = \sup \left { \dfrac{d(a_i , b_i )}{i} \right } ) .

Again 'positive' and 'symmetric' is obvious. We will establish triangular inequality as follows:
( D(a, b) + D(b, c) = \sup \left { \dfrac{d(a_i , b_i )}{i} \right } + \sup \left { \dfrac{d(b_i , c_i )}{i} \right } =\sup \left { \dfrac{d(a_i , b_i ) + d (b_i , c_i}{i} \right }  \ge \sup \left { \dfrac{d(a_i , c_i )}{i} \right } = D(a, c) )

In the above proof, we used a lemma:

7.4 Sum of supremums is supremum of sums:

Let ( x = {x_i} ) and ( y = {y_i} ) be two sequences. We show that sup x + sup y = sup (x+y)


Clearly ( x_i \le \sup x , y_i \le \sup y ) implying ( x_i + y_i \le \sup x + \sup y ). Hence ( \sup (x+y) \le \sup x +\sup y  ).
Again suppose ( \sup x + \sup y > \sup ( x+y) ). Then there is an upper bound for (x+y) smaller than sup x + sup y. Say that upper bound is (sup x + sup y ) - t (t>0). This can be rewritten as (sup x - t/2 + sup y - t/2 ). This is still an upper bound for x + y. But sup x - t/2 is no more an upper bound for x. Hence there is x' > sup x - t/2 and similarly y' > sup y - t/2. Hence x'+y'> sup x + sup y - t > sup (x+y) leading to contradiction.

Now we have a space Y equipped with product topology, and we have also defined a metric on Y which will cook up its own topology. We will show that these two topologies on Y are in fact the same.

7.5 Theorem:

D induces product topology on Y:


Suppose ( T_D ) is the topology induced by D. ( T_Y ) be the product topology on Y. We wish to show ( T_D = T_Y ). It is sufficient to show that inside every basic open set from ( T_D ) there is a basic open set from ( T_Y ) and vice versa.
Suppose ( U_y \in T_Y )  is a basic open set containing y in Y. It is sufficient to find a D-open ball inside ( U_y ).
Let ( y = (y_1, ... y_n, ... ) ). Then a basic open set containing y in product topology is ( U_y =  U_1 \times U_2 ... \times U_n \times \mathbb{R} \times \mathbb{R}  \times ... ) (that is for some n, we have n open sets and all the remaining participants in the product are copies of real line).
For some (  \epsilon> 0 ) , each ( U_i ) will contain ( (y_i - \epsilon , y_i + \epsilon) ) (possibly we have to take different ( \epsilon ) for different ( U_i )'s and then take the minimum of those finitely many values ).
This set ( B= (y_1 - \epsilon , y_1+ \epsilon) \times  (y_2 - \epsilon , y_2+ \epsilon) \times .. \times (y_n - \epsilon , y_n+ \epsilon)  \times \mathbb{R} \times \mathbb{R} \times ..  ) is inside ( U_y ).
Fix ( r = \epsilon / n  ). Then the ball ( B_D (y, r) ) is inside B.
This is because if ( x \in B_D (y, r) ) then ( \sup \left { \dfrac { d (x_i, y_i) }{i} \right } \le \epsilon /n  )
or (  \dfrac { d (x_i, y_i) }{i}  \le \epsilon / n  )
or ( d (x_i , y_i ) \le \epsilon ) as i < n
Conversely let ( B_D (y, r) )  be a basic open ball containing y. We show that a basic open set from ( T_Y ) containing y is contained in it.
Clearly if x is in ( B_D (y, r) ) then ( \sup \left { \dfrac { d (x_i, y_i) }{i} \right } \le r   ).
There exists a largest natural number N such that 1/N >  r. Consider the set B = ( B= (y_1 - r , y_1+ r) \times  (y_2 - r , y_2+ r) \times .. \times (y_N - r , y_N+r)  \times \mathbb{R} \times \mathbb{R} \times ..  )
Pick an arbitrary x from B. ( d(x_1, y_1) / i < r/ i)  for the first n coordinates. N+1 onward we have ( d(x_i , y_i)/i < 1/(N+1) < r ) since by definition ( d(x_i, y_i) = min (|x_i-y_i|, 1 ) \le 1 ).

Thus, we have found a metric space Y, with a metric D.

Finally, we will embed X into Y. In order to do that, we first prove the existence of a countable family of continuous functions from X to I, whose at least one member is positive at a given x in X, but vanishes outside any given open neighborhood of x.

8. Final pieces of the proof

8.1 Theorem:

Suppose X is second countable and regular. Then there exists a countable collection of continuous functions ( f_n : X \to [0,1] ) such that for any ( x \in X ) and any neighborhood U of ( x ), there exists an index n such that ( f_n( x) > 0 ) and ( f_n = 0 ) outside U.


Since x is in U, there exists a basic open set ( B_k ) such that ( x \in B_k \subset U ).
Using regularity, we can find basic open set ( B_r ) such that ( x \in B_r \subset \bar {B}r \subset B_k \subset U )
Using Urysohn's lemma, one can find a function ( f
{rk} ) such that the function gives output 1 in  ( \bar{B}_r ) and 0 in ( B_k^c ).
Clearly there are ( \mathbb{N} \times \mathbb{N} ) such functions (two  for each pair of basic open sets). Hence there are countably many functions.

The countable family of functions found above allows for ( f_n ) to vanish beyond some near space (intuitively). Using this we can create the embedding from X to Y.

8.2 Urysohn Metrization Theorem:

If a space X (or (X, T) ) is second countable and ( T_3 ) then X is separable and metrizable.


We define the following function F from X to Y:
( F(x) = (f_1(x), f_2(x), ... , f_(n) (x) , ... ) ) where ( f_i ) is from the family of functions found in 1.16
F is continuous as each of the component functions are continuous.
Next we show that F is one-on-one. If not, lets say F(x) = F(x'). Since X is Hausdorff, there are open sets U and V such that x is in U and x' is in V (or if X is T1 then x is in U and x' not it U). But then there is a component function ( f_n ) such that ( f_n (x) > 0 ) and ( f_n (x')  = 0). Thus F(x) cannot be equal to F(x').
So we have show that F is continuous and one-on-one. We just need to show that F is open. That is, if U is open in X, then F(U) is open in Y.
Suppose z' be a point in F(U) and say x' that maps to z'. That is:
( F(x') = (f_1(x') , f_2(x') ,... ,  ..) = z' )
There is an index N, such that ( f_N(x') > 0 ) but vanishes outside U. That is the Nth coordinate of z' is positive but the Nth coordinate of the image of x-values outside U vanishes.
Now consider V = product of copies of R in all coordinate, except the Nth coordinate where we use ( (0, \infty ) ) = ( \pi_N^-1 (0, \infty) ). V is open in product topology in Y.
Let ( W = V \cap F(X) ). W is open in the subspace topology of F(X).
Clearly z' is in W, as z' has positive Nth coordinate (and W basically has ALL members of F(X) which have positive Nth coordinate).
Next, we show that W is a subset of F(U). Clearly for any member z of W (with positive Nth coordinate) its pre-image x. The Nth  coordinate of F(x) (=z) is positive. If x was outside U, then the Nth coordinate would have vanished. Hence, x must be inside U and F(x) must be inside F(U).
Thus, W is a subset of F(U).
This completes the theorem.

Knowledge Partner

Cheenta is a knowledge partner of Aditya Birla Education Academy

Cheenta Academy

Aditya Birla Education Academy

Aditya Birla Education Academy

Cheenta. Passion for Mathematics

Advanced Mathematical Science. Taught by olympians, researchers and true masters of the subject.