First read the writeup on

symmetric polynomials to see the
statement of The Fundamental Theorem. Before we start the

proof
it's worth noting that it is constructive, in the sense that it
actually gives an algorithm that you can carry out in any
particular case.

**Proof:** Let *f(x*_{1},...,x_{n}) be a symmetric
polynomial. We have to express it in terms on the elementary
symmetric polynomials *s*_{1},...,s_{n}.
Well our polynomial *f* is a sum of monomials, that is terms
of the form *a(x*_{1})^{i1}....(x_{n})^{in}
where *a* is a nonzero scalar (from our field) and
*(i*_{1},...,i_{n}) are all natural numbers.

First of all we have to locate the biggest monomial. To do this we
use the lexicographic ordering on *n*-tuples of natural numbers. If we have two monomials
*p=ax*_{1}^{i1}....ax_{n}^{in}
and *q=bx*_{1}^{j1}....x_{n}^{jn}
then we say that *p < q* iff
*(i*_{1},...,i_{n}) < (i_{1},...,i_{n}).

Suppose then that *p* is the largest monomial in *f* with
respect to this order. Since *f* is symmetric we must have that
*s(p)=ax*_{s(1)}^{i1}....x_{s(n)}^{in}
is also a monomial of *f* for any permutation
*s* in the symmetric group. Because we chose *p* to be the largest
we can see from this that we must have that
*i*_{1} >= i_{2} >=...>= i_{n}.

Next we want to find a first approximation to *f* made from symmetric
polynomials. So let
*g=as*_{1}^{i1-i2}s_{2}^{i2-i3}....s_{n}^{in}.
Now considering all the monomials that occur
in *g* we can see that one of these monomials is
*ax*_{1}^{i1-i2}(x_{1}x_{2})^{i2-i3}...(x_{1}...x_{n})^{in}
which is exactly equal to the largest monomial of *f*.
Now consider the polynomial *f-g*, it is symmetric and its largest
monomial is smaller than the largest monomial of *f*. So we are
done by induction.