Metamath Proof Explorer


Theorem bccmpl

Description: "Complementing" its second argument doesn't change a binary coefficient. (Contributed by NM, 21-Jun-2005) (Revised by Mario Carneiro, 5-Mar-2014)

Ref Expression
Assertion bccmpl ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ → ( N K) = ( N N − K)

Proof

Step Hyp Ref Expression
1 bcval2 ⊢ K ∈ 0 … N → ( N K) = N ! N − K ! ⁢ K !
2 fznn0sub2 ⊢ K ∈ 0 … N → N − K ∈ 0 … N
3 bcval2 ⊢ N − K ∈ 0 … N → ( N N − K) = N ! N − N − K ! ⁢ N − K !
4 2 3 syl ⊢ K ∈ 0 … N → ( N N − K) = N ! N − N − K ! ⁢ N − K !
5 elfznn0 ⊢ N − K ∈ 0 … N → N − K ∈ ℕ 0
6 5 faccld ⊢ N − K ∈ 0 … N → N − K ! ∈ ℕ
7 6 nncnd ⊢ N − K ∈ 0 … N → N − K ! ∈ ℂ
8 2 7 syl ⊢ K ∈ 0 … N → N − K ! ∈ ℂ
9 elfznn0 ⊢ K ∈ 0 … N → K ∈ ℕ 0
10 9 faccld ⊢ K ∈ 0 … N → K ! ∈ ℕ
11 10 nncnd ⊢ K ∈ 0 … N → K ! ∈ ℂ
12 8 11 mulcomd ⊢ K ∈ 0 … N → N − K ! ⁢ K ! = K ! ⁢ N − K !
13 elfz3nn0 ⊢ K ∈ 0 … N → N ∈ ℕ 0
14 elfzelz ⊢ K ∈ 0 … N → K ∈ ℤ
15 nn0cn ⊢ N ∈ ℕ 0 → N ∈ ℂ
16 zcn ⊢ K ∈ ℤ → K ∈ ℂ
17 nncan ⊢ N ∈ ℂ ∧ K ∈ ℂ → N − N − K = K
18 15 16 17 syl2an ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ → N − N − K = K
19 13 14 18 syl2anc ⊢ K ∈ 0 … N → N − N − K = K
20 19 fveq2d ⊢ K ∈ 0 … N → N − N − K ! = K !
21 20 oveq1d ⊢ K ∈ 0 … N → N − N − K ! ⁢ N − K ! = K ! ⁢ N − K !
22 12 21 eqtr4d ⊢ K ∈ 0 … N → N − K ! ⁢ K ! = N − N − K ! ⁢ N − K !
23 22 oveq2d ⊢ K ∈ 0 … N → N ! N − K ! ⁢ K ! = N ! N − N − K ! ⁢ N − K !
24 4 23 eqtr4d ⊢ K ∈ 0 … N → ( N N − K) = N ! N − K ! ⁢ K !
25 1 24 eqtr4d ⊢ K ∈ 0 … N → ( N K) = ( N N − K)
26 25 adantl ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ ∧ K ∈ 0 … N → ( N K) = ( N N − K)
27 bcval3 ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ ∧ ¬ K ∈ 0 … N → ( N K) = 0
28 simp1 ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ ∧ ¬ K ∈ 0 … N → N ∈ ℕ 0
29 nn0z ⊢ N ∈ ℕ 0 → N ∈ ℤ
30 zsubcl ⊢ N ∈ ℤ ∧ K ∈ ℤ → N − K ∈ ℤ
31 29 30 sylan ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ → N − K ∈ ℤ
32 31 3adant3 ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ ∧ ¬ K ∈ 0 … N → N − K ∈ ℤ
33 fznn0sub2 ⊢ N − K ∈ 0 … N → N − N − K ∈ 0 … N
34 18 eleq1d ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ → N − N − K ∈ 0 … N ↔ K ∈ 0 … N
35 33 34 imbitrid ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ → N − K ∈ 0 … N → K ∈ 0 … N
36 35 con3d ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ → ¬ K ∈ 0 … N → ¬ N − K ∈ 0 … N
37 36 3impia ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ ∧ ¬ K ∈ 0 … N → ¬ N − K ∈ 0 … N
38 bcval3 ⊢ N ∈ ℕ 0 ∧ N − K ∈ ℤ ∧ ¬ N − K ∈ 0 … N → ( N N − K) = 0
39 28 32 37 38 syl3anc ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ ∧ ¬ K ∈ 0 … N → ( N N − K) = 0
40 27 39 eqtr4d ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ ∧ ¬ K ∈ 0 … N → ( N K) = ( N N − K)
41 40 3expa ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ ∧ ¬ K ∈ 0 … N → ( N K) = ( N N − K)
42 26 41 pm2.61dan ⊢ N ∈ ℕ 0 ∧ K ∈ ℤ → ( N K) = ( N N − K)