Hunter Liu's Website

2. The Diagonalisation Argument and Equicontinuity

≪ 1. Compactness, Uniform Convergence, and the Weierstrass M-Test | Table of Contents | 3. Weierstrass' Approximation Theorem and Convolutions ≫

In lecture, you will soon be proving a theorem of fundamental importance to analysis: the ArzelĂ -Ascoli Theorem. One way to think about this theorem is that it gives a characterisation of which subsets of the function space \(C\left( [0,1] \right)\) are compact.

This will be a very big deal if you on to study certain fields of analysis such as PDEs, differential geometry, and mathematical physics. Often, one wants to consider a sequence of functions that minimises a certain quantity that’s akin to energy. One would like to use a sequential compactness type argument to assert that some subsequence converges uniformly; however, this is difficult in practise unless one knows something about the aforementioned compact subsets!

There are two main ingredients of the theorem that we’ll need to understand before giving the proof. We won’t be giving this proof in discussion (I must save the glory for our professor), but we’ll be building some intuition and familiarity with the two crucial pieces in the proof.

Equicontinuous Families of Functions

Heine-Borel states that the compact subsets of \(\mathbb{R}^n\) are the closed and bounded subsets. We may expect something similar to hold for \(C \left( \left[ 0,1 \right] \right)\). That is, if \(\left\lbrace f_n \right\rbrace _{n=1}^{\infty}\) is a sequence of functions that are uniformly bounded — i.e., there exists some \(M\) such that \[\sup _{x\in [0,1]} \left\lvert f_n(x) \right\rvert \leq M\] for all \(n\) — we would very much like to say that it admits a uniformly converging subsequence.

Unfortunately, this is far from being true, and we can provide several different counterexamples:

The point is that there are many ways for uniformly bounded sequences of functions to fail to converge, even on a domain as nice as (\left[ 0,1 \right]). An underlying pattern in each of these examples is the fact that these functions are, in some sense, getting less and less continuous in a quantifiable way — in all three examples, there are areas wherein the (f_n)’s are allowed to get arbitrarily steep.

Equicontinuity is a condition that you can place on a sequence or a family of functions that disallows these pathologies.

Definition 1.

Let \(\mathscr{F}\) be a set of continuous functions \(f:[0, 1]\to \mathbb{R}\). The set \(\mathscr{F}\) is equicontinuous if for each \(\epsilon >0\), there exists some \(\delta >0\) such that \(x, y\in[0,1]\) and \(\left\lvert x-y \right\rvert<\delta \) implies \[\left\lvert f(x)-f(y) \right\rvert< \epsilon \] for all \(f\in \mathscr{F}\).

One can think of this condition as saying that every function in \(\mathscr{F}\) is “comparably continuous”. Typically, we will think about equicontinuous sequences of functions rather than arbitrary sets; we see quickly that none of the three examples provided above form equicontinuous sequences.

Continuing the thought process of “arbitrary spikiness”, if you can control the derivatives of a family of functions, you can obtain equicontinuiy. Specifically,

Exercise 2.

Let \(\mathscr{F}\) be a set of differentiable functions on \(\left[ 0,1 \right]\), and suppose there exists some constant \(M\) such that \(\left\lvert f’(x) \right\rvert\leq M\) for all \(f\in \mathscr{F}\) and all \(x\in \left[ 0,1 \right]\). Show that \(\mathscr{F}\) is an equicontinuous family of functions.

We should caution that the converse is not true, i.e. a set of equicontinuous functions need not have bounded derivatives. A specific example of this is the sequence of functions \[f_n(x) = \frac{1}{\sqrt n}\sin \left( nx \right).\] These are smooth functions on \(\left[ 0, 1\right]\), and their derivatives are \[f_n’(x) = \sqrt n \cos(nx).\] These are unbounded at \(x=0\), hence the above exercise does not apply. Nonetheless, this sequence of functions is equicontinuous.

We have a pointwise uniform bound \[\left\lvert f_n(x) \right\rvert\leq \frac{1}{\sqrt n}\] for all \(x\in [0,1]\). This upper bound converges to \(0\).

Fix an \( \epsilon >0\), then there is some \(N\) such that if \(n\geq N\), \(\left\lvert f_n(x) \right\rvert < \frac{\epsilon }{2}\) for all \(x\in [0, 1]\). In particular, for any \(x\) and \(y\) in \(\left[ 0,1 \right]\), we get that \[\left\lvert f_n(x)-f_n(y) \right\rvert \leq \left\lvert f_n(x) \right\rvert+ \left\lvert f_n(y) \right\rvert < \epsilon \] as long as \(n\geq N\). For the remaining functions, each \(f_n\) is continuous on a compact set, hence is uniformly continuous. So, there exist constants \(\delta _1,\ldots, \delta _N\) such that \(\left\lvert x-y \right\rvert< \delta _j\) implies \(\left\lvert f_j(x)-f_j(y) \right\rvert < \epsilon \) for each \(j=1,\ldots, N\).

Pick \(\delta =\min \left( \delta _1,\ldots, \delta _N \right)\). Then, for all \(\left\lvert x-y \right\rvert < \delta \), we have that \[\left\lvert f_n(x)-f_n(y) \right\rvert < \epsilon.\] For \(n\leq N\), this is by construction; for \(n \geq N\), this is due to the previous argument! Thus, this really is an equicontinuous family of functions.

The Diagonalisation Argument

The other major ingredient of the proof is something called the diagonalisation agument. The setting is as follows:

You have a sequence of functions \(f_n : \mathbb{N}\to \mathbb{R}\), and suppose that for each intege \(k\in \mathbb{N}\) the sequence \(\left\lbrace f_n(k) \right\rbrace _{n=1}^{\infty}\) is bounded. By Heine-Borel we know that for each point in \(\mathbb{N}\) there is a subsequence of the \(\left\lbrace f_n \right\rbrace\)’s that converges, but we would like to say that there is a subsequence of the \(f_n\)’s that converges for all \(k\in \mathbb{N}\), not just for a single \(k\).

We can repeatedly take subsequences, but there are infinitely subsequences to take, and one can literally run out of terms in the sequence after infinitely many steps. This is the point of the diagonalisation argument: it gives us a way to connect these infinitely many subsequences and stitch them into one unified subsequence that converges pointwise.

Remark 3.

For those of you that were in 131AH last quarter, you might recognise this from the homework. You can all find a detailed writeup of this diagonalisation argument here, though with slightly different notation.

The idea is as follows:

  1. Pick a subsequence \(\left\lbrace f _{n _{1,j}} \right\rbrace _{j=1}^{\infty}\) such that \(\left\lbrace f _{n _{1, j}}(1) \right\rbrace _{j=1}^{\infty}\) converges. This is possible because \(\left\lbrace f_n(1) \right\rbrace _{n=1}^{\infty}\) is bounded.
  2. Since the first subsequence is…a subsequence of \(\left\lbrace f_n \right\rbrace\), \(\left\lbrace f _{n _{1,j}}(2) \right\rbrace _{j=1}^{\infty}\) is bounded; hence it has a converging subsequence, say \(\left\lbrace f _{n _{2, j}}(2) \right\rbrace _{j=1}^{\infty}\). This iterated subsequence also converges at \(1\).
  3. Repeat inductively: at the \(k\)-th step, pick a subsequence \(\left\lbrace f _{n _{k, j}} \right\rbrace _{j=1}^{\infty}\) of \(\left\lbrace f _{n _{k-1,j}} \right\rbrace _{j=1}^{\infty}\) so that \(\left\lbrace f _{n _{k,j}} \right\rbrace _{j=1}^{\infty}\) converges at the first \(k\) points.
  4. Take the diagonal subsequence \(\left\lbrace f _{n _{j, j}} \right\rbrace _{j=1}^{\infty}\). For each integer \(k\), this will eventually become a subsequence of the \(k\)-th iterated subsequence, hence it will (eventually) converge at the point \(k\)! This holds for each natural number \(k\), hence this diagonal subsequence converges pointwise.

See the aforementioned link if you would like to see this argument run in more detail!