Chu-Vandermonde Identity
Statement
The Chu–Vandermonde identity generalizes Vandermonde's convolution to arbitrary upper parameters in a binomial ring. For in a binomial ring and , where is defined via the falling factorial :
This extends the classical combinatorial identity to polynomial rings and formal power series. The key symmetric-function viewpoint: in , multiplying the generating series and extracting the coefficient of yields the identity directly.
For natural numbers , the identity reduces to Vandermonde's convolution: choosing items from two disjoint pools of sizes and decomposes as .
Visualization
Small case , , . Check :
| product | |||
|---|---|---|---|
| 1 | 4 | 1 | 4 |
| 2 | 6 | 0 | 0 |
| 3 | 4 | 0 | 0 |
Wait — that gives 4, not 20. Include and with , and note at :
| product | |||
|---|---|---|---|
| 0 | 1 | 0 | |
| 1 | 4 | 4 | |
| 2 | 6 | 12 | |
| 3 | 4 | 4 | |
| sum | 20 |
Confirmed: .
Proof Sketch
- Polynomial identity. In the polynomial ring , the generalized binomial series satisfies as formal power series (or polynomials when ).
- Multiply series. .
- Extract coefficient. The coefficient of on the left is ; on the right it is .
- Chu's extension. For in a binomial ring the same algebraic steps go through because the ring axioms and the definition of the generalized are enough.
Connections
This is a direct generalization of Vandermonde's IdentityVandermonde's IdentityThe convolution identity for binomial coefficients: C(m+n,r) = sum over k of C(m,k)*C(n,r-k).Read more → and specializes to Pascal's IdentityPascal's IdentityThe binomial coefficient recurrence: C(n,k) = C(n-1,k-1) + C(n-1,k), the engine of Pascal's triangle.Read more → when , . It also connects to the Binomial TheoremBinomial TheoremExpanding powers of a sum via binomial coefficientsRead more → (the case).
Lean4 Proof
import Mathlib.Data.Nat.Choose.Vandermonde
/-- Vandermonde's identity in Mathlib:
∑ k in Finset.range (r+1), C(m,k) * C(n, r-k) = C(m+n, r).
`Nat.add_choose_eq` packages this as `Nat.choose (m+n) r`. -/
theorem vandermonde_identity (m n r : ℕ) :
∑ k ∈ Finset.range (r + 1), Nat.choose m k * Nat.choose n (r - k) =
Nat.choose (m + n) r :=
Nat.add_choose_eq m n r
/-- Chu–Vandermonde concrete instance (m=4, n=2, r=3):
C(4,1)*C(2,2) + C(4,2)*C(2,1) + C(4,3)*C(2,0) = 4 + 12 + 4 = 20 = C(6,3).
Proved by reducing to Vandermonde then `decide`. -/
theorem chu_vandermonde_4_2_3 :
∑ k ∈ Finset.range 4, Nat.choose 4 k * Nat.choose 2 (3 - k) = 20 := by
have := vandermonde_identity 4 2 3
simp [Finset.sum_range_succ] at this ⊢
omegaReferenced by
- Vandermonde's IdentityCombinatorics