My question comes from exercise 25.15(a) in Elementary Analysis 2nd ed by Ross (and is closely related to this one):
25.15. Let $(f_n)$ be a sequence of continuous functions on $[a,b]$.
(a) Suppose that, for each $x$ in $[a,b]$, $(f_n(x))$ is a decreasing sequence of real numbers. Prove that if $f_n \to 0$ pointwise on $[a,b]$, then $f_n \to 0$ uniformly on $[a,b]$. Hint: If not, there exists $\epsilon > 0$ and a sequence $(x_n)$ in $[a,b]$ such that $f_n(x_n) \geq \epsilon$ for all $n$. Obtain a contradiction.
The hint gave me pause; it does not appear to be the precise negation of the statement of uniform continuity. If $f_n \to f$ uniformly on $[a,b]$, this means: \begin{align*} (\forall \epsilon > 0) (\exists k \in \mathbb{N}) (\forall n \geq k) (\forall x \in [a,b]) (|f_n(x) - f(x)| < \epsilon). \end{align*}
Then I believe the negation should read \begin{align*} (\exists \epsilon > 0) (\forall k \in \mathbb{N}) (\exists n_k \geq k) (\exists x_k \in [a,b]) (|f_{n_k}(x_{n_k}) - f(x_{n_k})| \geq \epsilon), \end{align*}
or in more comprehensible language: there exists an $\epsilon > 0$, a subsequence $(f_{n_k})_{k=1}^{\infty}$, and a corresponding sequence $(x_{n_k})_{k=1}^{\infty}$ in $E$, such that $|f_{n_k}(x_{n_k}) - f(x_{n_k})| \geq \epsilon$ for all $k \in \mathbb{N}$.
My first question is: Have I correctly negated the definition of uniform continuity?
If my negation is indeed correct, then the author appears to be implicitly using the following nontrivial result:
Proposition. Let $E$ be a compact subset of $\mathbb{R}$, let $f$ and $(f_n)_{n=1}^{\infty}$ be continuous real-valued functions on $E$, and suppose $f_n \to f$ pointwise. Suppose also that $(f_n)_{n=1}^{\infty}$ converges "diagonally" to $f$ in the following sense: For any sequence $(x_n)_{n=1}^{\infty}$ in $E$ that converges to some $x \in E$, we have $\lim\limits_{n \to \infty} f_n(x_n) = f(x)$. Then $f_n \to f$ uniformly.
As an exercise, I've attempted to prove it. My second question is: Is the following proof correct?
Proof: We proceed by contradiction. Suppose $f_n \to f$ pointwise and diagonally, but not uniformly. Then there exists an $\epsilon > 0$, a subsequence $(f_{n_k})_{k=1}^{\infty}$, and a corresponding sequence $(x_{n_k})_{k=1}^{\infty}$ in $E$, such that $|f_{n_k}(x_{n_k}) - f(x_{n_k})| \geq \epsilon$ for all $k \in \mathbb{N}$. Since $E$ is compact, $(x_{n_k})_{k=1}^{\infty}$ has a subsequence $(x_{m_j})_{j=1}^{\infty}$ which converges to a point $x \in E$. Then we have \begin{align*} \hspace{2cm} |f_{m_j}(x_{m_j}) - f(x_{m_j})| \geq \epsilon \quad \forall j. \hspace{2cm} (*) \end{align*}
Also, $\lim\limits_{j \to \infty} f(x_{m_j}) = f(x)$ by the continuity of $f$, and $\lim\limits_{j \to \infty} f_{m_j}(x_{m_j}) = f(x)$ by diagonal convergence. Therefore, \begin{align*} |f_{m_j}(x_{m_j}) - f(x_{m_j})| \leq |f_{m_j}(x_{m_j}) - f(x)| + |f(x) - f(x_{m_j})| \to 0 \quad \text{ as } j \to \infty. \end{align*}
Consequently, $\lim\limits_{j \to \infty} |f_{m_j}(x_{m_j}) - f(x_{m_j})| = 0$, which contradicts $(*)$. So the convergence must be uniform.
Any isues with the proof, or suggestions for improvement?