If a set $X$ is convex and its complement $X^c$ is convex, then the boundary is a hyperplane Prove that in $\mathbb R^n$:

If a set $X$ is convex and its complement $X^c$ is convex and non-empty, then the boundary is a hyperplane.

It seems really obvious intuitively. However proving this involves at least one page of work for me. Are there any theorem that I can cite/refer to? 
 A: I don't know any theorem for that, but I have a relatively simple argument:
If $X$ is convex, then it can be written as the intersection of a family $\mathcal F$ of half-spaces (i.e. the part of the space on one side of a hyperplane). Similarly, $X^c$ can also be written as the intersection of another family $\mathcal G$ of half-spaces.
Now I claim that for any element $F\in \mathcal F$ and any element $G\in \mathcal G$, the corresponding hyperplanes must be parallel. This is because the union $F\cup G$ contains $X\cup X^c$, which is the whole space.
Consequently, assuming $X$ is neither empty nor the whole space, all cutting-hyperplanes in the family $\mathcal F$ are parallel, and similarly for $\mathcal G$. This implies that $X$ is a half-space.

I somehow ignored the difference between "open" and "closed" half-spaces, but this is unimportant, and we can of course change the condition to the closures of $X$ and $X^c$ being convex.
A: This is just a separation argument: the sets $X,X^c$ are both convex and non-empty, in addition $X \cap X^c=\emptyset$. So there is a separating hyperplane, i.e., there exists $a\ne0$ such that
$$
a^Tx \ge a^T y \quad \forall x\in X, y\in X^c.
$$
Define $j:=\inf_{x\in X} a^Tx$. Then the hyperplace $H:=\{ z:\ a^Tz = j\}$ separates
$X$ and $X^c$.
Let $z$ be a boundary point of $X$ then there are sequences $x_k \to z$ in $X$ and $y_k\to z$ in $X^c$. Then $a^Tx_k \ge j \ge a^Ty_k$ and passing to the limit implies $z\in H$.
