Given $k$ points in $n$-dimensional space, is there always a continuous $n-1$ surface that can divide the points into two arbitrary groups? Say we have $k$ points in set $P\mid x_i\in\mathbb{Z}^n$, such that $k=\mathcal{O}(n!)$. We now arbitrarily divide the points into two sets, $A$, $B$. Note that $A\cup B = P$ and $A \cap B = \varnothing$.
Is there always $n-1$ dimensional surface in $\mathbb{R}^n$ that perfectly separates these two sets of points? Is there some transformation $T:\mathbb{R^n}\rightarrow\mathbb{R^n}$, such that this $n-1$ dimensional surface is a function $f(\vec x)$? If so is it always possible to find this function?
I know this is similar to the idea of SVN machine learning, but I'm more interested in the theoretical ideas about existence of these divides. 

Solve the poisson equation,
$\Delta u = f$
with $f$ consisting of delta function sources at points in $A$ and sinks at points in $B$. The zero set of the solution $u$ separates the points. One should be able to prove that either this zero set is smooth, or the zero set associated with arbitrarily small perturbations of the points is smooth, by using elliptic regularity and Sard's theorem. 
You could also compute the sensitivity of the surface to movement of the points with the implicit function theorem.
The surface may consist of several disconnected components though.
