This is only true if $f_n(x)$ converges uniformly to $f(x)$. In fact, it will break for any situation where $f_n(x)\rightarrow f(x)$ pointwise but not uniform on an interval $[L,R]$. In other words, there exists $\epsilon>0$ s.t. for all $N>0$, there exists a point $a$ such that $|f_n(a)-f(a)|>\epsilon$. Pick a sequence of $\epsilon_n$ and increasing $N_n$. This gives a sequence of $a_n$. By Bolzano-Weierstrass, pick a convergent subsequence of $a_n$ that converges, and call it $x_n$. Now follow through the proof.
Example: $f_n(x)=2^nx$ when $0\leq x\leq 2^{-n}$, $f_n(x)=2-2^nx$ when $2^{-n}\leq x\leq 2^{-n+1}$ and 0 elsewhere. Then $f_n(x)\rightarrow 0$. Yet pick $x_n=1/2^n$. Then $x_n\rightarrow 0$ but $f_n(x_n)=1$. Essentially you have a bump which is clamped to 0 on either side of $[0,1]$, it's squishing to the left but there's always a sequences which rides on the value 1.
Use @Michael's idea: first, to fix your observation about the uniform continuous of $(f_n)$ on $[0,1]$, you have to break your line
$|f_n(x)-f_n(y)| \leqslant 2016|x-y|=\epsilon/3$
into two separate statements:
- $(f_n)$ is $2016$-Lipschitz.
- $\forall \epsilon > 0, \exists \delta > 0: \forall x,y \in [0,1], |x-y| < \delta \implies |f_n(x)-f_n(y)| < \epsilon / 3$.
But #2 is still ambiguous since there's no quantifier and domain for the variable $n$ stated, and it's not clear if $\delta$ depends on $n$. To make things clear, you may fix $\epsilon > 0$ and define $\delta = \epsilon / 6048$, so that whenever $|x-y| < \delta$, #1 can be applied to get #2.
Then we proceed to the partition $P = \{x_0 = 0,x_1 = \delta, x_2 = 2\delta, \dots, x_{M-1} = (M-1) \delta, x_M = 1\}$, where $M = \lceil 1/\delta \rceil$ is the number of subintervals of $P$. Use pointwise convergence on each partition point $x_i$ to yield $N_i \in \mathbb{N}$ such that for all $n \ge N_i$, $|f_n(x_i)| < \epsilon / 3$.
Observation 2: for each partition point $x_i$, $f_n(x_i)$ is $\epsilon$-small when $n$ is sufficiently large.
Now go back to the paragraph about the uniform continuity of $(f_n)$. Apply this on a partition point $x_i$ and a (non-partition) point $x \in [x_i,x_{i+1})$, then $|x_i - x| < \delta$, so $|f_n(x_i) - f_n(x)| < \epsilon / 3$.
Observation 1: when $x$ is $\delta$-close to a partition point $x_i$, $f_n(x_i)$ approximates $f_n(x)$ $\epsilon$-closely, and the error $\epsilon/3$ is independent of $n$.
The question asks for the uniform convergence of $(f_n)$ on $[0,1]$, so we need $N = \max\limits_{i \in \{0, 1, \dots, M\}} N_i$, so that whenever $n \ge N (\ge N_i)$ and $x \in [0,1]$, $$|f_n(x)| \le |f_n(x) - f_n(x_i)| + |f_n(x_i)| \le \epsilon /3 + \epsilon + 3 < \epsilon.$$
To recap:
- bounded derivatives gives subinterval length $\delta$ and $(f_n)$ Lipschitz.
- use $\delta$ to build partition $P = \{x_i\}_i$.
- apply pointwise convergence on partition points $x_i$. use $N = \max_i N_i$ to complete the logic.
- use triangle inequality to conclude.
$\require{AMScd}$
\begin{CD}
f_n(x_i) @<\delta \to 0< \text{uniform convergence} < f_n(x)\\
@V n \to \infty V \text{pointwise limit} V @.\\
0
\end{CD}
Best Answer
Let $\varepsilon>0$ be given. Choose $N_{1}\in\mathbb{N}$ such that $|f_{n}(y)-f(y)|<\varepsilon/2$ whenever $n\geq N_{1}$ and $y\in\mathbb{R}$. Since $f$ is continuous at $x$ (recall that uniform limit of continuous functions is also continuous), we may choose $\delta>0$ such that $|f(y)-f(x)|<\varepsilon/2$ whenever $|y-x|<\delta$. Sine $x_n\rightarrow x$, we may choose $N_{2}\in\mathbb{N}$ such that $|x_{n}-x|<\delta$ whenever $n\geq N_{2}$. Let $N=\max(N_{1},N_{2})$. Let $n\geq N$ be arbitrary. We have that \begin{eqnarray*} & & |f_{n}(x_{n})-f(x)|\\ & \leq & |f_{n}(x_{n})-f(x_{n})|+|f(x_{n})-f(x)|\\ & < & \varepsilon. \end{eqnarray*}