Intersection of an open dense set and any dense set is dense. I am going through an introductory topology chapter and finding some difficulty in the following question. I had a chance to go through Daniel's and Brian's answers on this page.
However, I am still a bit not convinced.

If $D_1$ is an open dense set in  $\mathbb R^p$ and $D_2$ is any dense set in $\mathbb R^p$, then,Show that $D_1 \cap D_2$ are also dense in $\mathbb R^p$ . 

Attempt: Given that $D_1$ is an open dense set in  $\mathbb R^p$ which means if $x \in D_1^c$, then every neighborhood of $x$ contains at least one element of $D_1$.
But, this fact is contradictory because elements of $D_1$ are not supposed to be in every neighborhood of elements in $D_1^c$.

$(a)~$Hence, can we infer that $D_1^c$ must not have any non void open set else any open ball in $D_1^c$ will also contain elements of $D_1$ which is a contradiction?

Suppose that $D_1 \cap D_2$ is not dense in $\mathbb R^p$. Then, for some $y \in \mathbb R^p$, there is a neighborhood of $y = B(y,r)$ which does not contain any element of $D_1 \cap D_2$.
This is certainly possible because $B(y,r)$ can contain elements of $D_1/ (D_1 \cap D_2)$ and $D_2/ (D_1 \cap D_2)$.
How do I move forward?
Thank you for your help
 A: To show $D_{1} \cap D_{2}$ is dense in $\mathbb{R}^{p}$, you can show it intersects every open subset of $\mathbb{R}^{p}$.  That is one characterization of density.
So, let $O \subseteq \mathbb{R}^{p}$ be an arbitrary open set.  Since $D_{1}$ is dense, $D_{1} \cap O \neq \emptyset$.  Furthermore, $D_{1} \cap O$ is open, since both sets are open.  So we know by the nonempty intersection $\exists x \in D_{1} \cap O$.  Since the intersection is open, $\exists \epsilon_{x} > 0$ such that $B(x,\epsilon_{x}) \subseteq D_{1} \cap O$.
But $B(x, \epsilon_{x})$ is an open subset of $\mathbb{R}^{p}$, and thus since $D_{2}$ is dense, $D_{2} \cap B(x, \epsilon_{x}) \neq \emptyset$.  But since this ball is contained in $O \cap D_{1}$, this implies $D_{2}$ intersects $O \cap D_{1}$.  Written down, this says $D_{2} \cap (D_{1} \cap O) \neq \emptyset$.
Since set intersection is associative, this means $(D_{1} \cap D_{2}) \cap O \neq \emptyset$ for any arbitrary open set $O \subseteq \mathbb{R}^{p}$, which implies $D_{1}\cap D_{2}$ is dense by our characterization of density.
