Every separable metric space has a countable base A collection $\{V_{\alpha}\}$ of open subsets of $X$ is said to be a base for $X$ if the following is true: For every $x\in X$ and every open set $G\subset X$ such that $x\in G$, we have $x \in V_\alpha \subset G$ for some $\alpha$. In other words, every open set in $X$ is the union of а subcollection of $\{V_{\alpha}\}$. 
Prove that every separable metric space has a countable base. 
Proof: Let $(X,d)$ be a metric space and $D=\{d_j\}_{j\in \mathbb{N}}$ be the countable and dense subset of $X$. Let $U$ is an open set in $X$ then for $x\in U$ $\exists \varepsilon_x>0$ such that $N_{\varepsilon_x}(x)\subset U$. Then $\exists d_j\in D$ such that $d(x, d_j)<{\varepsilon_x}/{4}$ $\Rightarrow$ $d_j\in N_{{\varepsilon_x}/{4}}(x)\subset U$. 
It's easy to check that $N_{{\varepsilon_x}/{4}}(d_j)\subset N_{{\varepsilon_x}}(x)$. Indeed, if $z\in N_{{\varepsilon_x}/{4}}(d_j)$ then $d(z,d_j)<\varepsilon_x/4$ and since $d(x, d_j)<{\varepsilon_x}/{4}$ then by triangle inequality: $$d(z,x)\leqslant d(z,d_j)+d(x, d_j)<{\varepsilon_x}/{4}+{\varepsilon_x}/{4}<{\varepsilon_x}.$$ 
Hence $z\in N_{{\varepsilon_x}}(x)$ and inclusion $N_{{\varepsilon_x}/{4}}(d_j)\subset N_{{\varepsilon_x}}(x)$ holds.
By the way $N_{r}(d_j)\subset N_{{\varepsilon_x}}(x)\subset U$ for $r\in \mathbb{Q}$ and $r<{\varepsilon_x}/{4}$. Thus for every $x\in U$ we associate an open ball with center at some point $d_j$ of $D$ and rational radius $r$ such that $x\in N_{r}(d_j)\subset N_{{\varepsilon_x}}(x)\subset U$.
Thus $$U=\bigcup\limits_{d_j\in U} N_{r_j}(d_j).$$ This set equality can be verified very easy. Inclusion $\subseteq$ I described in above paragraph. Converse inclusion is not difficult: if $z\in \bigcup\limits_{d_j\in U} N_{r_j}(d_j)$ then $z\in N_{r_j}(d_j)$ for some $d_j\in U$. But these balls 
arranged so that $N_{r_j}(d_j)\subset U$ then $z\in U$.
Hence collection of balls $\{N_{r}(d): r\in \mathbb{Q}, d\in D\}$ is a countable base.
Is my proof correct? Can anyone check it please?
Sorry if this topic is repeated but I would like to know is my proof correct.
 A: I'd fill in the details of "it's easy to check" steps. They are crucial here (you must use the triangle inequality somewhere in the proof, as the theorem does not hold for non-metric spaces). 
Also state what the supposed countable base is, beforehand. Then show it is indeed countable, and then do this proof to show it's actually a base.
The proof itself is correct in essentials. But fill in all the dots.
A: This is what I have but I also want to add my messy work after this:
Let $x\in X$ be such that $x\in G\subset X, G$ open. There is a countable dense subset $E$ of $X$. Let's construct $V_{p}$. There is $r>0$ such that $N_{r}(x)\subset G$. There is $p\in N_{r}(x)$ such that $p\neq x$. 
. Pick $r_{p}\in Q$ so that $0<d(p,x)<r_{p}<r$ and add the condition $p=q\Leftrightarrow r_{p}=r_{q}$. Collect all these points and put them in a set $E_{0}$. Let $Q_{0}=\left\{q\in Q^{+}:q=r_{p},p\in E_{0}\right\}$. 
 Define $f:\left\{V_{p}\right\}_{p\in E_{0}}\longrightarrow E_{0}\times Q_{0}$ by $f(V_{p})=(p,r_{p})$ and let's prove that $f$ is a bijection.
(1) If $f(V_{p})=f(V_{q})\Rightarrow (p,r_{p})=(q,r_{q})\Rightarrow p=q$ and $r_{p}=r_{q}\Rightarrow V_{p}=V_{q}$ (same center and radius).
(2) Let $(p,r_{p})\in E_{0}\times Q_{0}$. Then there are $x\in X$ and $r>0$ such that $x\in G\subset X, G$ open, and $N_{r}(x)\subset G$. Then $0<d(p,x)<r_{p}<r$ so that $f(N_{r_{p}}(p))=(p,r_{p})$.
Then $\left\{V_{p}\right\}_{p\in E_{0}}$ is a countable collection of open subsets with the property that if $x\in X\cap G$ and $G$ is open, then $x\in V_{p}$ for some $p\in E_{0}$. 
Messy work: Since $x$ is a limit point of $E$, it has points $p$ of $E$. But this does 
not guarantee that the neighborhood of $p$ will contain $x$ or will "overestimate" the radius $r$ and not be contained in $G$. So there's a problem there. This means that 
the radius $r_{p}$ for the neighborhood of $p$ need to be define before mentioning that $p$ is in $N_{r}(x)$.
The only thing that can work is by constructing neighborhoods with center $p\in E$ in such a way that its radius includes $x$ but does not overestimate. To guarantee uniqueness of such neighborhoods, we must impose that $r_{p}$ is the only radius defining $V_{p}$. To guarantee that $\left\{V_{p}\right\}$ is countable, and to guarantee that the construction makes sense, let the radius be rational. By the Archimedean Principle, such an $r_{p}$ with the desired property exists.    
