Lucas's theorem #
This file contains a proof of Lucas's theorem about
binomial coefficients, which says that for primes p, n choose k is congruent to product of
n_i choose k_i modulo p, where n_i and k_i are the base-p digits of n and k,
respectively.
Main statements #
lucas_theorem: the binomial coefficientn choose kis congruent to the product ofn_i choose k_imodulop, wheren_iandk_iare the base-pdigits ofnandk, respectively.
For primes p, choose n k is congruent to choose (n % p) (k % p) * choose (n / p) (k / p)
modulo p. Also see choose_modEq_choose_mod_mul_choose_div_nat for the version with MOD.
For primes p, choose n k is congruent to choose (n % p) (k % p) * choose (n / p) (k / p)
modulo p. Also see choose_modEq_choose_mod_mul_choose_div for the version with ZMOD.
For primes p, choose n k is congruent to the product of choose (⌊n / p ^ i⌋ % p) (⌊k / p ^ i⌋ % p) over i < a, multiplied by choose (⌊n / p ^ a⌋) (⌊k / p ^ a⌋), modulo p.
Alias of Choose.choose_modEq_prod_range_choose.
Lucas's Theorem: For primes p, choose n k is congruent to the product of
choose (⌊n / p ^ i⌋ % p) (⌊k / p ^ i⌋ % p) over i modulo p.
Alias of Choose.choose_modEq_prod_range_choose_nat.
Lucas's Theorem: For primes p, choose n k is congruent to the product of
choose (⌊n / p ^ i⌋ % p) (⌊k / p ^ i⌋ % p) over i modulo p.