Prove an identity for elementary and complete symmetric homogeneous polynomials I stumbled upon this formula while I was playing around with some equations, and I was wondering if anyone had any deeper insight into this problem. Let $E_i(x_1,\ldots,x_k)$ be the elementary symmetric polynomial of degree $i$, and let $H_i(x_1,\ldots,x_k)$ be the complete homogeneous symmetric polynomial of degree $i$. Then it seems that for any values of $p, k \geq 0$ with $k \leq p$
$$\sum_{i=0}^k (-1)^i E_i(x_1,\ldots,x_{p - 1})H_{k-i}(x_{k+1},\ldots,x_p) = \prod_{j = 1}^k (x_p - x_j),$$
which is really interesting, but, I must confess, I do not have enough experience working with these objects to understand why this seems to be the case. The first couple of cases are fairly simple to check by hand, but I generally did it using the known recursion relations for the symmetric polynomials, and for higher-order cases, this approach becomes rapidly intractable and seems to require deeper insight that I do not possess at this point.
For anyone that is curious, I did check for $p \leq 25$ already using Maple, but, seeing as that is a paid software, I transferred the code into Sage for $k < p$ (Sage doesn't like the multiplication for $k = p$) so that you may check things yourself:
S = SymmetricFunctions(ZZ)
h = S.homogeneous(); e = S.elementary()

x = var(','.join('x%s'%i for i in range(100)))


for p in (2..12):
    for k in (0..p-1):
        print(f"p={p}, k={k}")
        # The next line will print 0 when the formula holds
        print(add( ((-1)^i)*e[i].expand(p, alphabet = [x[j] for j in (1..p)])*h[k-i].expand(p-(k)+1, alphabet = [x[j] for j in (k+1..p+1)]) for i in (0..k)  ) - expand(prod(x[p+1] - x[i] for i in (1..k))))

If anyone knows how to prove that this formula is true, I would greatly appreciate the help. Thank you!
 A: This can be done using generating functions. It is a pleasant exercise to check that we have
$$\sum_k E_k(x_1, \dots x_n) t^k = \prod_{i=1}^n (1 + tx_i)$$
$$\sum_k H_k(x_1, \dots x_n) t^k = \prod_{i=1}^n \frac{1}{1 - tx_i}$$
which gives that $\sum_{i=0}^k (-1)^i E_i(x_1, \dots x_{p-1}) H_{k-i}(x_{k+1}, \dots x_p)$ is the coefficient of $t^k$ in the product
$$\prod_{i=1}^{p-1} (1 - tx_i) \prod_{i=k+1}^p \frac{1}{1 - tx_i}.$$
The factors $(1 - tx_i)$ and $\frac{1}{1 - tx_i}$ cancel for $i = k+1$ to $p-1$ (such is the pleasure of generating functions!), leaving
$$\frac{\prod_{i=1}^k (1 - tx_i)}{1 - tx_p}.$$
Now we can simply divide the numerator by the denominator, which gives
$$\frac{\prod_{i=1}^k \left( 1 - \frac{x_i}{x_p} \right)}{1 - tx_p} + \text{polynomial of degree } \le k-1$$
where the polynomial can be ignored because it does not contribute to the coefficient of $t^k$. We get that the coefficient of $t^k$ is
$$x_p^k \prod_{i=1}^k \left( 1 - \frac{x_i}{x_p} \right) = \prod_{i=1}^k (x_p - x_i)$$
as desired.
Alternatively we can argue in the following "Vandermonde-like" way: whatever the coefficient of $t^k$ is, it is a homogeneous polynomial of degree $k$ in the variables $x_i$. Moreover, if $x_p = x_i$ for any $1 \le i \le k$ then the factor of $\frac{1}{1 - tx_p}$ in the denominator cancels with the factor of $1 - tx_i$ in the numerator, leaving a polynomial of degree $k-1$, meaning the coefficient of $t^k$ is zero in this case. So this polynomial must be divisible by $x_p - x_i$ for each $i$ and hence must be divisible by $\prod_{i=1}^k (x_p - x_i)$. Since it has degree $k$ it must be a constant times this polynomial. And we can evaluate this constant by setting $x_p = 0$, which gives $(-1)^k \prod_{i=1}^k x_i$, so the constant is $1$.
