Prove that $f_n$ converges uniformly on $[a,b]$ Let $f_n$ be a sequence of functions defined on $[a,b]$. Suppose that for every $c \in [a,b]$, there exist an interval around $c$ in which $f_n$ converges uniformly. Prove that $f_n$ converges uniformly on $[a,b]$
I know that since for every $c \in [a,b]$, there exist an interval around $c$ in which $f_n$ converges uniformly, meaning for all $\epsilon >0$ there exist an $N>0$ such that $n>N$ implies $|f_n(c)-f(c)|<\epsilon$.
I know that $c$ is arbitray any where in $[a,b]$, but I don't know how to argue that $f_n$ converges uniformly on $[a,b]$ formally.
ok, here is what I got
Assume that $f_n$ be a sequence of functions defined on $[a,b]$. Suppose that for every $c \in [a,b]$, there exist an interval around $c$ in which $f_n$ converges uniformly. Since $[a,b]$ is compact, there exists finitely many number of point $c_1,c_2,c_3, ... \in [a,b]$ such that
$[a,b] \subset \cup _{k=1}^n (c_k - \frac {\delta(c_k)}{2},c_k + \frac {\delta(c_k)}{2})$
since or every $c \in [a,b]$, there exist an interval around $c$ in which $f_n$ converges uniformly, meaning for all $\epsilon >0$ there exist finitely number of  $Ns>0$ such that $n>Ns$ implies $|f_n(c)-f(c)|<\epsilon$. Hence, $f_n$ converges uniformly on $[a,b]$?
 A: Your first instinct should be, "$[a,b]$ is compact so of course sequences of functions behave nicely." ;) A general theme is that things are nice on compact spaces, so we'll want to use the compactness of $[a,b]$ to get this result.
You have a small interval about each $c\in[a,b]$ in which $f_n$ converges uniformly. This gives you an open cover of $[a,b]$, which by compactness has a finite subcover. Now (loosely speaking) for any $\epsilon > 0$ you have a finite number of $N$s beyond which $|f_n - f| < \epsilon$.
More precisely, given any $\epsilon > 0$, what you need is an $N$ so that for any $x\in[a,b]$, if $n>N$, then $|f_n(x) - f(x)| < \epsilon$. You know this is true for an interval $U_c$ about $c\in[a,b]$: given $\epsilon>0$, there is an $N_c$ such that for each $x\in U_c$ $|f_n(x) - f(x)|<\epsilon$. 
The $U_c$ form a cover of $[a,b]$, which by compactness has a finite subcover $U_{c_i}$ (where $i$ runs through a finite indexing set). Given $\epsilon>0$, these have $N_{c_i}$ such that if $n>N_{c_i}$ and $x\in U_{c_i}$, $|f_n(x) - f(x)|<\epsilon$. 
How should you choose a single $N$ for all of $[a,b]$, given that you know the $N_{c_i}$ for $U_{c_i}$ and that $[a,b]\subseteq \cup_i U_{c_i}$?
A: You can use a trick similar to mathematical induction but on real line:
Let $I = \{ x \in [a,b]: f_n \mbox{ converges uniformly on } [a,x] \}$
We know:

For every $c \in [a,b]$, there exist an interval around $c$ in which
  $f_n$ converges uniformly

Take $c=a$ in the above statement, and then there exists an interval near $a$ that $f_n$ converges uniformly.
Therefore $I$ is nonempty, $\sup(I)$ exists and let $S = \sup(I)$
We want to prove $S = b$, then we are done.
Suppose $S < b$, 
$f_n$ converges uniformly on $I$ by definition of $I$
Take $c=S$, then there exists an interval $J$ near $S$ that $f_n$ converges uniformly.
Then, take a subset $[S-\varepsilon,S+\varepsilon]$ of $J$ for some $\varepsilon > 0$. 
Then $S+\varepsilon \in I$, contradicting $\sup(I) = S$.
