Let $K$ be a compact non-empty subset of $\mathbb{R}^N$. If $x \in \mathbb{R}^N$ and if $(k_1, k_2, \dots, k_N), k_i \in \mathbb{Z}_+$, consider the function $$x \mapsto x_1^{k_1}x_2^{k_2}...x_N^{k_N}.$$
I want to show that the set $\mathcal{A}$ of all linear combinations of such functions separates points of $K$.
Definition: a set of functions $S$ from a set $D$ to a set $C$ is said to separate the points of $D$ if for any two distinct elements $x$ and $y$ of $D$, there exists a function $f$ in $S$ so that $f(x) \neq f(y)$.
If $K \subset \mathbb{R}$, it's easy since the polynomial $f(x)=x$ separates all points, but I'm jammed with $K \subset \mathbb{R}^N$. The sum of coordinates to rational exponents was an easy start, but consider such a function $f$ and take $x,y \in \mathbb{R}^N, x = (1, 0, \dots, 0), y = (0, 1, \dots, 0)$, then $f(x) = f(y) = 1$. What could that function be?
We have that $f_i(x_1,\dots,x_n) = x_i$ separates points that differ in the $i$-th coordinate, so $S = \{f_1,\dots,f_n\}$ solves the problem.