Documentation

Mathlib.Data.Nat.Choose.Vandermonde

Vandermonde's identity #

In this file we prove Vandermonde's identity (Nat.add_choose_eq): (m + n).choose k = ∑ (ij : ℕ × ℕ) in antidiagonal k, m.choose ij.1 * n.choose ij.2

We follow the algebraic proof from https://en.wikipedia.org/wiki/Vandermonde%27s_identity#Algebraic_proof .

theorem Nat.add_choose_eq (m : ) (n : ) (k : ) :
Nat.choose (m + n) k = Finset.sum (Finset.antidiagonal k) fun (ij : × ) => Nat.choose m ij.1 * Nat.choose n ij.2

Vandermonde's identity