Why is this function continuous on $\mathbb R$? 
Let $f:\Bbb{R}\to\mathbb R$ be a function with $f(0) = 1$ and $f(x+y) \le f(x)f(y)$ for all $x, y \in \Bbb{R}$. Prove that if $f$ is continuous at $0$, then $f$ is continuous on $\Bbb{R}$?

THOUGHTS:
I know the definition of $f$ being continuous at $0$, that is, for any $\epsilon>0$, there exists $\delta>0$ such that for all $x$ with $|x-0|<\delta$, 
$$
|f(x)-f(0)|<\epsilon\tag{1}
$$
But I don't know how to use (1) and the assumptions in the statement to show the continuity of $f$ on $\mathbb{R}$, how would (1) be helpful for showing
$$
|f(x)-f(x_0)|<\epsilon
$$
for general $x_0\in\mathbb{R}$?
Could you please help me? 

Let $h_n \to 0$ where $x \in \Bbb{R}$
Then 
$f(x+h_n) \leq f(h_n)f(x)$ thus $\limsup_n f(x+h_n) \leq f(x)$ 
Now $$f(x)=f((x+h_n)-h_n) \leq f(-h_n)f(x+h_n)$$
Thus $f(x) \leq \liminf_n [f(-h_n)f(x+h_n)]=\liminf_nf(x +h_n)$
Combining the above we have: 

$$\liminf_n f(x+h_n) \leq \limsup_nf(x+h_n) \leq f(x) \leq \liminf_nf(x+h_n) \leq \limsup_n f(x+h_n)$$

Thus $\liminf_nf(x +h_n)=\limsup_nf(x +h_n)=f(x)$
So by the sequential characterization of limit(which is pressume you have learned) $$\lim_{h \to 0}f(x+h)=f(x)$$
