Metamath Proof Explorer


Theorem bccolsum

Description: A column-sum rule for binomial coefficients. (Contributed by Scott Fenton, 24-Jun-2020)

Ref Expression
Assertion bccolsum ⊢ N ∈ ℕ 0 ∧ C ∈ ℕ 0 → ∑ k = 0 N ( k C) = ( N + 1 C + 1 )

Proof

Step Hyp Ref Expression
1 oveq2 ⊢ m = 0 → 0 … m = 0 … 0
2 1 sumeq1d ⊢ m = 0 → ∑ k = 0 m ( k C) = ∑ k = 0 0 ( k C)
3 oveq1 ⊢ m = 0 → m + 1 = 0 + 1
4 0p1e1 ⊢ 0 + 1 = 1
5 3 4 eqtrdi ⊢ m = 0 → m + 1 = 1
6 5 oveq1d ⊢ m = 0 → ( m + 1 C + 1 ) = ( 1 C + 1 )
7 2 6 eqeq12d ⊢ m = 0 → ∑ k = 0 m ( k C) = ( m + 1 C + 1 ) ↔ ∑ k = 0 0 ( k C) = ( 1 C + 1 )
8 7 imbi2d ⊢ m = 0 → C ∈ ℕ 0 → ∑ k = 0 m ( k C) = ( m + 1 C + 1 ) ↔ C ∈ ℕ 0 → ∑ k = 0 0 ( k C) = ( 1 C + 1 )
9 oveq2 ⊢ m = n → 0 … m = 0 … n
10 9 sumeq1d ⊢ m = n → ∑ k = 0 m ( k C) = ∑ k = 0 n ( k C)
11 oveq1 ⊢ m = n → m + 1 = n + 1
12 11 oveq1d ⊢ m = n → ( m + 1 C + 1 ) = ( n + 1 C + 1 )
13 10 12 eqeq12d ⊢ m = n → ∑ k = 0 m ( k C) = ( m + 1 C + 1 ) ↔ ∑ k = 0 n ( k C) = ( n + 1 C + 1 )
14 13 imbi2d ⊢ m = n → C ∈ ℕ 0 → ∑ k = 0 m ( k C) = ( m + 1 C + 1 ) ↔ C ∈ ℕ 0 → ∑ k = 0 n ( k C) = ( n + 1 C + 1 )
15 oveq2 ⊢ m = n + 1 → 0 … m = 0 … n + 1
16 15 sumeq1d ⊢ m = n + 1 → ∑ k = 0 m ( k C) = ∑ k = 0 n + 1 ( k C)
17 oveq1 ⊢ m = n + 1 → m + 1 = n + 1 + 1
18 17 oveq1d ⊢ m = n + 1 → ( m + 1 C + 1 ) = ( n + 1 + 1 C + 1 )
19 16 18 eqeq12d ⊢ m = n + 1 → ∑ k = 0 m ( k C) = ( m + 1 C + 1 ) ↔ ∑ k = 0 n + 1 ( k C) = ( n + 1 + 1 C + 1 )
20 19 imbi2d ⊢ m = n + 1 → C ∈ ℕ 0 → ∑ k = 0 m ( k C) = ( m + 1 C + 1 ) ↔ C ∈ ℕ 0 → ∑ k = 0 n + 1 ( k C) = ( n + 1 + 1 C + 1 )
21 oveq2 ⊢ m = N → 0 … m = 0 … N
22 21 sumeq1d ⊢ m = N → ∑ k = 0 m ( k C) = ∑ k = 0 N ( k C)
23 oveq1 ⊢ m = N → m + 1 = N + 1
24 23 oveq1d ⊢ m = N → ( m + 1 C + 1 ) = ( N + 1 C + 1 )
25 22 24 eqeq12d ⊢ m = N → ∑ k = 0 m ( k C) = ( m + 1 C + 1 ) ↔ ∑ k = 0 N ( k C) = ( N + 1 C + 1 )
26 25 imbi2d ⊢ m = N → C ∈ ℕ 0 → ∑ k = 0 m ( k C) = ( m + 1 C + 1 ) ↔ C ∈ ℕ 0 → ∑ k = 0 N ( k C) = ( N + 1 C + 1 )
27 0z ⊢ 0 ∈ ℤ
28 0nn0 ⊢ 0 ∈ ℕ 0
29 nn0z ⊢ C ∈ ℕ 0 → C ∈ ℤ
30 bccl ⊢ 0 ∈ ℕ 0 ∧ C ∈ ℤ → ( 0 C) ∈ ℕ 0
31 28 29 30 sylancr ⊢ C ∈ ℕ 0 → ( 0 C) ∈ ℕ 0
32 31 nn0cnd ⊢ C ∈ ℕ 0 → ( 0 C) ∈ ℂ
33 oveq1 ⊢ k = 0 → ( k C) = ( 0 C)
34 33 fsum1 ⊢ 0 ∈ ℤ ∧ ( 0 C) ∈ ℂ → ∑ k = 0 0 ( k C) = ( 0 C)
35 27 32 34 sylancr ⊢ C ∈ ℕ 0 → ∑ k = 0 0 ( k C) = ( 0 C)
36 elnn0 ⊢ C ∈ ℕ 0 ↔ C ∈ ℕ ∨ C = 0
37 1red ⊢ C ∈ ℕ → 1 ∈ ℝ
38 nnrp ⊢ C ∈ ℕ → C ∈ ℝ +
39 37 38 ltaddrp2d ⊢ C ∈ ℕ → 1 < C + 1
40 peano2nn ⊢ C ∈ ℕ → C + 1 ∈ ℕ
41 40 nnred ⊢ C ∈ ℕ → C + 1 ∈ ℝ
42 37 41 ltnled ⊢ C ∈ ℕ → 1 < C + 1 ↔ ¬ C + 1 ≤ 1
43 39 42 mpbid ⊢ C ∈ ℕ → ¬ C + 1 ≤ 1
44 elfzle2 ⊢ C + 1 ∈ 0 … 1 → C + 1 ≤ 1
45 43 44 nsyl ⊢ C ∈ ℕ → ¬ C + 1 ∈ 0 … 1
46 45 iffalsed ⊢ C ∈ ℕ → if C + 1 ∈ 0 … 1 1 ! 1 − C + 1 ! ⁢ C + 1 ! 0 = 0
47 1nn0 ⊢ 1 ∈ ℕ 0
48 40 nnzd ⊢ C ∈ ℕ → C + 1 ∈ ℤ
49 bcval ⊢ 1 ∈ ℕ 0 ∧ C + 1 ∈ ℤ → ( 1 C + 1 ) = if C + 1 ∈ 0 … 1 1 ! 1 − C + 1 ! ⁢ C + 1 ! 0
50 47 48 49 sylancr ⊢ C ∈ ℕ → ( 1 C + 1 ) = if C + 1 ∈ 0 … 1 1 ! 1 − C + 1 ! ⁢ C + 1 ! 0
51 bc0k ⊢ C ∈ ℕ → ( 0 C) = 0
52 46 50 51 3eqtr4rd ⊢ C ∈ ℕ → ( 0 C) = ( 1 C + 1 )
53 bcnn ⊢ 0 ∈ ℕ 0 → ( 0 0 ) = 1
54 28 53 ax-mp ⊢ ( 0 0 ) = 1
55 bcnn ⊢ 1 ∈ ℕ 0 → ( 1 1 ) = 1
56 47 55 ax-mp ⊢ ( 1 1 ) = 1
57 54 56 eqtr4i ⊢ ( 0 0 ) = ( 1 1 )
58 oveq2 ⊢ C = 0 → ( 0 C) = ( 0 0 )
59 oveq1 ⊢ C = 0 → C + 1 = 0 + 1
60 59 4 eqtrdi ⊢ C = 0 → C + 1 = 1
61 60 oveq2d ⊢ C = 0 → ( 1 C + 1 ) = ( 1 1 )
62 57 58 61 3eqtr4a ⊢ C = 0 → ( 0 C) = ( 1 C + 1 )
63 52 62 jaoi ⊢ C ∈ ℕ ∨ C = 0 → ( 0 C) = ( 1 C + 1 )
64 36 63 sylbi ⊢ C ∈ ℕ 0 → ( 0 C) = ( 1 C + 1 )
65 35 64 eqtrd ⊢ C ∈ ℕ 0 → ∑ k = 0 0 ( k C) = ( 1 C + 1 )
66 elnn0uz ⊢ n ∈ ℕ 0 ↔ n ∈ ℤ ≥ 0
67 66 birani ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 → n ∈ ℤ ≥ 0
68 elfznn0 ⊢ k ∈ 0 … n + 1 → k ∈ ℕ 0
69 68 adantl ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 ∧ k ∈ 0 … n + 1 → k ∈ ℕ 0
70 simplr ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 ∧ k ∈ 0 … n + 1 → C ∈ ℕ 0
71 70 nn0zd ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 ∧ k ∈ 0 … n + 1 → C ∈ ℤ
72 bccl ⊢ k ∈ ℕ 0 ∧ C ∈ ℤ → ( k C) ∈ ℕ 0
73 69 71 72 syl2anc ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 ∧ k ∈ 0 … n + 1 → ( k C) ∈ ℕ 0
74 73 nn0cnd ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 ∧ k ∈ 0 … n + 1 → ( k C) ∈ ℂ
75 oveq1 ⊢ k = n + 1 → ( k C) = ( n + 1 C)
76 67 74 75 fsump1 ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 → ∑ k = 0 n + 1 ( k C) = ∑ k = 0 n ( k C) + ( n + 1 C)
77 76 adantr ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 ∧ ∑ k = 0 n ( k C) = ( n + 1 C + 1 ) → ∑ k = 0 n + 1 ( k C) = ∑ k = 0 n ( k C) + ( n + 1 C)
78 id ⊢ ∑ k = 0 n ( k C) = ( n + 1 C + 1 ) → ∑ k = 0 n ( k C) = ( n + 1 C + 1 )
79 nn0cn ⊢ C ∈ ℕ 0 → C ∈ ℂ
80 79 adantl ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 → C ∈ ℂ
81 1cnd ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 → 1 ∈ ℂ
82 80 81 pncand ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 → C + 1 - 1 = C
83 82 oveq2d ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 → ( n + 1 C + 1 - 1 ) = ( n + 1 C)
84 83 eqcomd ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 → ( n + 1 C) = ( n + 1 C + 1 - 1 )
85 78 84 oveqan12rd ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 ∧ ∑ k = 0 n ( k C) = ( n + 1 C + 1 ) → ∑ k = 0 n ( k C) + ( n + 1 C) = ( n + 1 C + 1 ) + ( n + 1 C + 1 - 1 )
86 peano2nn0 ⊢ n ∈ ℕ 0 → n + 1 ∈ ℕ 0
87 peano2nn0 ⊢ C ∈ ℕ 0 → C + 1 ∈ ℕ 0
88 87 nn0zd ⊢ C ∈ ℕ 0 → C + 1 ∈ ℤ
89 bcpasc ⊢ n + 1 ∈ ℕ 0 ∧ C + 1 ∈ ℤ → ( n + 1 C + 1 ) + ( n + 1 C + 1 - 1 ) = ( n + 1 + 1 C + 1 )
90 86 88 89 syl2an ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 → ( n + 1 C + 1 ) + ( n + 1 C + 1 - 1 ) = ( n + 1 + 1 C + 1 )
91 90 adantr ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 ∧ ∑ k = 0 n ( k C) = ( n + 1 C + 1 ) → ( n + 1 C + 1 ) + ( n + 1 C + 1 - 1 ) = ( n + 1 + 1 C + 1 )
92 77 85 91 3eqtrd ⊢ n ∈ ℕ 0 ∧ C ∈ ℕ 0 ∧ ∑ k = 0 n ( k C) = ( n + 1 C + 1 ) → ∑ k = 0 n + 1 ( k C) = ( n + 1 + 1 C + 1 )
93 92 exp31 ⊢ n ∈ ℕ 0 → C ∈ ℕ 0 → ∑ k = 0 n ( k C) = ( n + 1 C + 1 ) → ∑ k = 0 n + 1 ( k C) = ( n + 1 + 1 C + 1 )
94 93 a2d ⊢ n ∈ ℕ 0 → C ∈ ℕ 0 → ∑ k = 0 n ( k C) = ( n + 1 C + 1 ) → C ∈ ℕ 0 → ∑ k = 0 n + 1 ( k C) = ( n + 1 + 1 C + 1 )
95 8 14 20 26 65 94 nn0ind ⊢ N ∈ ℕ 0 → C ∈ ℕ 0 → ∑ k = 0 N ( k C) = ( N + 1 C + 1 )
96 95 imp ⊢ N ∈ ℕ 0 ∧ C ∈ ℕ 0 → ∑ k = 0 N ( k C) = ( N + 1 C + 1 )