Let $G$ be a simple graph, let $V_1,V_2\subseteq V[G]$ be two vertex-subsets of $G$. We do NOT assume $V_1\cap V_2=\phi$. Let
$$E[V_1\times V_2]=\{\{x,y\}\in E[G]: x\in V_1, y\in V_2 \}. \quad\textbf{(Revised definition)}$$
If
$$|N_E(v_1)\cap V_2|\ge d$$
for all $v_1\in V_1$, which means for any vertex $v_1\in V_1$, it has at least $d$ neighbors in $V_2$. Notice that $V_1$ and $V_2$ may intersect, then some of its neighbors may be in $V_1\cap V_2$.
Question: Can we say $|E[V_1\times V_2]|\ge \frac{1}{2}d |V_1|$? Do I miss something?
Yes, we can. We will begin by observing that if $V_1\cap V_2=\phi$ then this obviously holds. If we consider edges to be originating in $E$, we have in $E$ at least $d$ edges for every value of $x\Rightarrow|E|=d|V_1|$. Of course, this stops being true when some vertices are in $V_1\cap V_2$. However, we can begin by considering the problem in the same way: We count $d|V_1|$ edges. However, every edge can be counted at most twice (once from each end). That makes it clear that even if we double count every edge, i.e. $V_1=V_2$, we still have $\frac 12d|V_1|$ edges in $E$.
Edit: This is of course not a formal proof, but we can certainly write a full one out from what I wrote above.