Polynomials: $f_n \to p$ and $p$ has distinct real roots implies $f_n$ eventually has real roots. Recall that a polynomial is hyperbolic if all its roots are real.

Let $p$ and $\{f_n\}_{n \geq 1}$ be polynomials of degree $d$.  Suppose $\lim_{n \to \infty} f_n(x) = p(x)$ where the limit is taken pointwise with respect to $x$.  Prove that if $p$ is hyperbolic and has distinct roots, then there exists an $N$ such that for all $n \geq N$, the polynomials $f_n$ are hyperbolic.

It is false if $p(x)$ does not have distinct roots, for example $f_n(x)=x^2+\frac{1}{n}.$
 A: We assume the limit converges uniformly in compact subsets of $\mathbb{R}$.  Pick $[a,b]$ large enough so that it contains the $d$ roots of $p$.  Note that $p(x)$ crosses the $x$-axis $d$ times because its roots are distinct.  We can pick $\epsilon$ small enough so that for $n \geq N_{\epsilon}$ and $|f_n(x)-p(x)| < \epsilon$ for $x \in [a,b]$, the function $f_n$ crosses the $x$-axis at least $d$ times (near the roots of $p$).  Since deg$(f_n)=d$, this implies $f_n$ has $d$ distinct roots for $n$ greater than some $N_{\epsilon}$.

We cannot weaken "$p$ has distinct roots" to "$p$ has odd multiplicity roots" because of $f_n(x)=x\left(x^2+\frac{1}{n}\right).$
Since $f_n$ and $p$ are uniformly continuous on $[a,b]$, we get uniform convergence automatically, so this is not an "extra assumption."
A: Let $\{x_j\}_{j=1}^n$ be the roots of $p$ (where $x_j\lt x_{j+1}$). Let $y_0=x_1-1$, $y_n=x_n+1$ and $y_j=\frac{x_j+x_{j+1}}2$ for $1\le j\le n-1$.
There is an $N$ so that for $k\ge N$, $\left|\,f_k(y_j)-p(y_j)\,\right|\le\frac12\left|\,p(y_j)\,\right|$ for $0\le j\le n$. This means the sign of $f_k(y_j)$ is the same as that of $p(y_j)$.
Then, for $k\ge N$, $f_k$ changes sign $n$ times between $y_0$ and $y_n$.
