This is question 4.35 from Introduction to Linear Optimization by Bertsimas and Tsitsiklis.
The problem
Consider two non-empty polyhedra $P=\{\mathbf{x}\in\mathbb{R}^n\ |\ \mathbf{Ax}\leq\mathbf{b}\}$ and $Q=\{\mathbf{x}\in\mathbb{R}^n\ |\ \mathbf{Dx}\leq\mathbf{d}\}$.
(a) Devise a linear programming problem such that: if $P\cap Q\neq\varnothing$, it returns a point in $P\cap Q$; if $P\cap Q=\varnothing$, the linear programming problem is infeasible.
(b) Suppose that $P\cap Q$ is empty. Use the dual of the problem you have constructed in part (a) to show that there exists a vector $\mathbf{c}$ such that $\mathbf{c}^\text{T}\mathbf{x}<\mathbf{c}^\text{T}\mathbf{y}$ for all $\mathbf{x}\in P$ and $\mathbf{y}\in Q$.
Attempted solution
I think I have an answer for part (a): $$ \begin{array}{rl} \text{max}\quad&\mathbf{0}^\text{T}\mathbf{x} \\ \text{s.t.}\quad&\mathbf{Ax}\leq\mathbf{b} \\ & \mathbf{Dx}\leq\mathbf{d} \end{array} $$
This seems to accomplish the requirements of part (a). I am stuck on part (b). The dual of the above linear program is $$ \begin{array}{rl}\text{min}\quad&\mathbf{p}_1^\text{T}\mathbf{b}+\mathbf{p}_2^\text{T}\mathbf{d}\\\text{s.t.}\quad&\mathbf{p}_1^\text{T}\mathbf{A}+\mathbf{p}_2^\text{T}\mathbf{D}=\mathbf{0}^\text{T}\\ & \mathbf{p}_1,\mathbf{p}_2\geq\mathbf{0} \end{array} $$ If we assume the primal is infeasible (i.e. $P\cap Q=\varnothing$), then the dual is either infeasible or unbounded. Since $\mathbf{p}_1=\mathbf{0}$, $\mathbf{p}_2=\mathbf{0}$ is feasible for the dual, it must be unbounded. I think this might be a useful fact, but I can't see exactly how.
Geometrically, this question is very straightforward. But I'm struggling to come up with the algebra to show the existence of this $\mathbf{c}$.
Similar question
The question found here is similar, but I'm not interested in computing the separating hyperplane, just proving its existence.