Metamath Proof Explorer


Theorem bcxmas

Description: Parallel summation (Christmas Stocking) theorem for Pascal's Triangle. (Contributed by Paul Chapman, 18-May-2007) (Revised by Mario Carneiro, 24-Apr-2014)

Ref Expression
Assertion bcxmas ⊢ N ∈ ℕ 0 ∧ M ∈ ℕ 0 → ( N + 1 + M M) = ∑ j = 0 M ( N + j j)

Proof

Step Hyp Ref Expression
1 bcxmaslem1 ⊢ m = 0 → ( N + 1 + m m) = ( N + 1 + 0 0 )
2 oveq2 ⊢ m = 0 → 0 … m = 0 … 0
3 2 sumeq1d ⊢ m = 0 → ∑ j = 0 m ( N + j j) = ∑ j = 0 0 ( N + j j)
4 1 3 eqeq12d ⊢ m = 0 → ( N + 1 + m m) = ∑ j = 0 m ( N + j j) ↔ ( N + 1 + 0 0 ) = ∑ j = 0 0 ( N + j j)
5 bcxmaslem1 ⊢ m = k → ( N + 1 + m m) = ( N + 1 + k k)
6 oveq2 ⊢ m = k → 0 … m = 0 … k
7 6 sumeq1d ⊢ m = k → ∑ j = 0 m ( N + j j) = ∑ j = 0 k ( N + j j)
8 5 7 eqeq12d ⊢ m = k → ( N + 1 + m m) = ∑ j = 0 m ( N + j j) ↔ ( N + 1 + k k) = ∑ j = 0 k ( N + j j)
9 bcxmaslem1 ⊢ m = k + 1 → ( N + 1 + m m) = ( N + 1 + k + 1 k + 1 )
10 oveq2 ⊢ m = k + 1 → 0 … m = 0 … k + 1
11 10 sumeq1d ⊢ m = k + 1 → ∑ j = 0 m ( N + j j) = ∑ j = 0 k + 1 ( N + j j)
12 9 11 eqeq12d ⊢ m = k + 1 → ( N + 1 + m m) = ∑ j = 0 m ( N + j j) ↔ ( N + 1 + k + 1 k + 1 ) = ∑ j = 0 k + 1 ( N + j j)
13 bcxmaslem1 ⊢ m = M → ( N + 1 + m m) = ( N + 1 + M M)
14 oveq2 ⊢ m = M → 0 … m = 0 … M
15 14 sumeq1d ⊢ m = M → ∑ j = 0 m ( N + j j) = ∑ j = 0 M ( N + j j)
16 13 15 eqeq12d ⊢ m = M → ( N + 1 + m m) = ∑ j = 0 m ( N + j j) ↔ ( N + 1 + M M) = ∑ j = 0 M ( N + j j)
17 0nn0 ⊢ 0 ∈ ℕ 0
18 nn0addcl ⊢ N ∈ ℕ 0 ∧ 0 ∈ ℕ 0 → N + 0 ∈ ℕ 0
19 bcn0 ⊢ N + 0 ∈ ℕ 0 → ( N + 0 0 ) = 1
20 18 19 syl ⊢ N ∈ ℕ 0 ∧ 0 ∈ ℕ 0 → ( N + 0 0 ) = 1
21 17 20 mpan2 ⊢ N ∈ ℕ 0 → ( N + 0 0 ) = 1
22 0z ⊢ 0 ∈ ℤ
23 1nn0 ⊢ 1 ∈ ℕ 0
24 21 23 eqeltrdi ⊢ N ∈ ℕ 0 → ( N + 0 0 ) ∈ ℕ 0
25 24 nn0cnd ⊢ N ∈ ℕ 0 → ( N + 0 0 ) ∈ ℂ
26 bcxmaslem1 ⊢ j = 0 → ( N + j j) = ( N + 0 0 )
27 26 fsum1 ⊢ 0 ∈ ℤ ∧ ( N + 0 0 ) ∈ ℂ → ∑ j = 0 0 ( N + j j) = ( N + 0 0 )
28 22 25 27 sylancr ⊢ N ∈ ℕ 0 → ∑ j = 0 0 ( N + j j) = ( N + 0 0 )
29 peano2nn0 ⊢ N ∈ ℕ 0 → N + 1 ∈ ℕ 0
30 nn0addcl ⊢ N + 1 ∈ ℕ 0 ∧ 0 ∈ ℕ 0 → N + 1 + 0 ∈ ℕ 0
31 29 17 30 sylancl ⊢ N ∈ ℕ 0 → N + 1 + 0 ∈ ℕ 0
32 bcn0 ⊢ N + 1 + 0 ∈ ℕ 0 → ( N + 1 + 0 0 ) = 1
33 31 32 syl ⊢ N ∈ ℕ 0 → ( N + 1 + 0 0 ) = 1
34 21 28 33 3eqtr4rd ⊢ N ∈ ℕ 0 → ( N + 1 + 0 0 ) = ∑ j = 0 0 ( N + j j)
35 elnn0uz ⊢ k ∈ ℕ 0 ↔ k ∈ ℤ ≥ 0
36 35 bilani ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → k ∈ ℤ ≥ 0
37 simpl ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → N ∈ ℕ 0
38 elfznn0 ⊢ j ∈ 0 … k + 1 → j ∈ ℕ 0
39 nn0addcl ⊢ N ∈ ℕ 0 ∧ j ∈ ℕ 0 → N + j ∈ ℕ 0
40 37 38 39 syl2an ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 ∧ j ∈ 0 … k + 1 → N + j ∈ ℕ 0
41 elfzelz ⊢ j ∈ 0 … k + 1 → j ∈ ℤ
42 41 adantl ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 ∧ j ∈ 0 … k + 1 → j ∈ ℤ
43 bccl ⊢ N + j ∈ ℕ 0 ∧ j ∈ ℤ → ( N + j j) ∈ ℕ 0
44 40 42 43 syl2anc ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 ∧ j ∈ 0 … k + 1 → ( N + j j) ∈ ℕ 0
45 44 nn0cnd ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 ∧ j ∈ 0 … k + 1 → ( N + j j) ∈ ℂ
46 bcxmaslem1 ⊢ j = k + 1 → ( N + j j) = ( N + k + 1 k + 1 )
47 36 45 46 fsump1 ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ∑ j = 0 k + 1 ( N + j j) = ∑ j = 0 k ( N + j j) + ( N + k + 1 k + 1 )
48 nn0cn ⊢ N ∈ ℕ 0 → N ∈ ℂ
49 48 adantr ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → N ∈ ℂ
50 nn0cn ⊢ k ∈ ℕ 0 → k ∈ ℂ
51 50 adantl ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → k ∈ ℂ
52 1cnd ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → 1 ∈ ℂ
53 add32r ⊢ N ∈ ℂ ∧ k ∈ ℂ ∧ 1 ∈ ℂ → N + k + 1 = N + 1 + k
54 49 51 52 53 syl3anc ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → N + k + 1 = N + 1 + k
55 54 oveq1d ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + k + 1 k + 1 ) = ( N + 1 + k k + 1 )
56 55 oveq2d ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ∑ j = 0 k ( N + j j) + ( N + k + 1 k + 1 ) = ∑ j = 0 k ( N + j j) + ( N + 1 + k k + 1 )
57 47 56 eqtrd ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ∑ j = 0 k + 1 ( N + j j) = ∑ j = 0 k ( N + j j) + ( N + 1 + k k + 1 )
58 57 adantr ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 ∧ ( N + 1 + k k) = ∑ j = 0 k ( N + j j) → ∑ j = 0 k + 1 ( N + j j) = ∑ j = 0 k ( N + j j) + ( N + 1 + k k + 1 )
59 oveq1 ⊢ ( N + 1 + k k) = ∑ j = 0 k ( N + j j) → ( N + 1 + k k) + ( N + 1 + k k + 1 ) = ∑ j = 0 k ( N + j j) + ( N + 1 + k k + 1 )
60 59 adantl ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 ∧ ( N + 1 + k k) = ∑ j = 0 k ( N + j j) → ( N + 1 + k k) + ( N + 1 + k k + 1 ) = ∑ j = 0 k ( N + j j) + ( N + 1 + k k + 1 )
61 ax-1cn ⊢ 1 ∈ ℂ
62 pncan ⊢ k ∈ ℂ ∧ 1 ∈ ℂ → k + 1 - 1 = k
63 51 61 62 sylancl ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → k + 1 - 1 = k
64 63 oveq2d ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + 1 + k k + 1 - 1 ) = ( N + 1 + k k)
65 64 oveq2d ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + 1 + k k + 1 ) + ( N + 1 + k k + 1 - 1 ) = ( N + 1 + k k + 1 ) + ( N + 1 + k k)
66 nn0addcl ⊢ N + 1 ∈ ℕ 0 ∧ k ∈ ℕ 0 → N + 1 + k ∈ ℕ 0
67 29 66 sylan ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → N + 1 + k ∈ ℕ 0
68 nn0p1nn ⊢ k ∈ ℕ 0 → k + 1 ∈ ℕ
69 68 adantl ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → k + 1 ∈ ℕ
70 69 nnzd ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → k + 1 ∈ ℤ
71 bcpasc ⊢ N + 1 + k ∈ ℕ 0 ∧ k + 1 ∈ ℤ → ( N + 1 + k k + 1 ) + ( N + 1 + k k + 1 - 1 ) = ( N + 1 + k + 1 k + 1 )
72 67 70 71 syl2anc ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + 1 + k k + 1 ) + ( N + 1 + k k + 1 - 1 ) = ( N + 1 + k + 1 k + 1 )
73 65 72 eqtr3d ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + 1 + k k + 1 ) + ( N + 1 + k k) = ( N + 1 + k + 1 k + 1 )
74 nn0p1nn ⊢ N ∈ ℕ 0 → N + 1 ∈ ℕ
75 nnnn0addcl ⊢ N + 1 ∈ ℕ ∧ k ∈ ℕ 0 → N + 1 + k ∈ ℕ
76 74 75 sylan ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → N + 1 + k ∈ ℕ
77 76 nnnn0d ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → N + 1 + k ∈ ℕ 0
78 bccl ⊢ N + 1 + k ∈ ℕ 0 ∧ k + 1 ∈ ℤ → ( N + 1 + k k + 1 ) ∈ ℕ 0
79 77 70 78 syl2anc ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + 1 + k k + 1 ) ∈ ℕ 0
80 79 nn0cnd ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + 1 + k k + 1 ) ∈ ℂ
81 nn0z ⊢ k ∈ ℕ 0 → k ∈ ℤ
82 81 adantl ⊢ N + 1 ∈ ℕ 0 ∧ k ∈ ℕ 0 → k ∈ ℤ
83 bccl ⊢ N + 1 + k ∈ ℕ 0 ∧ k ∈ ℤ → ( N + 1 + k k) ∈ ℕ 0
84 66 82 83 syl2anc ⊢ N + 1 ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + 1 + k k) ∈ ℕ 0
85 29 84 sylan ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + 1 + k k) ∈ ℕ 0
86 85 nn0cnd ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + 1 + k k) ∈ ℂ
87 80 86 addcomd ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + 1 + k k + 1 ) + ( N + 1 + k k) = ( N + 1 + k k) + ( N + 1 + k k + 1 )
88 peano2cn ⊢ N ∈ ℂ → N + 1 ∈ ℂ
89 48 88 syl ⊢ N ∈ ℕ 0 → N + 1 ∈ ℂ
90 89 adantr ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → N + 1 ∈ ℂ
91 90 51 52 addassd ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → N + 1 + k + 1 = N + 1 + k + 1
92 91 oveq1d ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + 1 + k + 1 k + 1 ) = ( N + 1 + k + 1 k + 1 )
93 73 87 92 3eqtr3d ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 → ( N + 1 + k k) + ( N + 1 + k k + 1 ) = ( N + 1 + k + 1 k + 1 )
94 93 adantr ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 ∧ ( N + 1 + k k) = ∑ j = 0 k ( N + j j) → ( N + 1 + k k) + ( N + 1 + k k + 1 ) = ( N + 1 + k + 1 k + 1 )
95 58 60 94 3eqtr2rd ⊢ N ∈ ℕ 0 ∧ k ∈ ℕ 0 ∧ ( N + 1 + k k) = ∑ j = 0 k ( N + j j) → ( N + 1 + k + 1 k + 1 ) = ∑ j = 0 k + 1 ( N + j j)
96 4 8 12 16 34 95 nn0indd ⊢ N ∈ ℕ 0 ∧ M ∈ ℕ 0 → ( N + 1 + M M) = ∑ j = 0 M ( N + j j)