| Step |
Hyp |
Ref |
Expression |
| 1 |
|
oveq2 |
|- ( m = 0 -> ( 0 ... m ) = ( 0 ... 0 ) ) |
| 2 |
1
|
sumeq1d |
|- ( m = 0 -> sum_ k e. ( 0 ... m ) ( k _C C ) = sum_ k e. ( 0 ... 0 ) ( k _C 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 ( C + 1 ) ) = ( 1 _C ( C + 1 ) ) ) |
| 7 |
2 6
|
eqeq12d |
|- ( m = 0 -> ( sum_ k e. ( 0 ... m ) ( k _C C ) = ( ( m + 1 ) _C ( C + 1 ) ) <-> sum_ k e. ( 0 ... 0 ) ( k _C C ) = ( 1 _C ( C + 1 ) ) ) ) |
| 8 |
7
|
imbi2d |
|- ( m = 0 -> ( ( C e. NN0 -> sum_ k e. ( 0 ... m ) ( k _C C ) = ( ( m + 1 ) _C ( C + 1 ) ) ) <-> ( C e. NN0 -> sum_ k e. ( 0 ... 0 ) ( k _C C ) = ( 1 _C ( C + 1 ) ) ) ) ) |
| 9 |
|
oveq2 |
|- ( m = n -> ( 0 ... m ) = ( 0 ... n ) ) |
| 10 |
9
|
sumeq1d |
|- ( m = n -> sum_ k e. ( 0 ... m ) ( k _C C ) = sum_ k e. ( 0 ... n ) ( k _C C ) ) |
| 11 |
|
oveq1 |
|- ( m = n -> ( m + 1 ) = ( n + 1 ) ) |
| 12 |
11
|
oveq1d |
|- ( m = n -> ( ( m + 1 ) _C ( C + 1 ) ) = ( ( n + 1 ) _C ( C + 1 ) ) ) |
| 13 |
10 12
|
eqeq12d |
|- ( m = n -> ( sum_ k e. ( 0 ... m ) ( k _C C ) = ( ( m + 1 ) _C ( C + 1 ) ) <-> sum_ k e. ( 0 ... n ) ( k _C C ) = ( ( n + 1 ) _C ( C + 1 ) ) ) ) |
| 14 |
13
|
imbi2d |
|- ( m = n -> ( ( C e. NN0 -> sum_ k e. ( 0 ... m ) ( k _C C ) = ( ( m + 1 ) _C ( C + 1 ) ) ) <-> ( C e. NN0 -> sum_ k e. ( 0 ... n ) ( k _C C ) = ( ( n + 1 ) _C ( C + 1 ) ) ) ) ) |
| 15 |
|
oveq2 |
|- ( m = ( n + 1 ) -> ( 0 ... m ) = ( 0 ... ( n + 1 ) ) ) |
| 16 |
15
|
sumeq1d |
|- ( m = ( n + 1 ) -> sum_ k e. ( 0 ... m ) ( k _C C ) = sum_ k e. ( 0 ... ( n + 1 ) ) ( k _C C ) ) |
| 17 |
|
oveq1 |
|- ( m = ( n + 1 ) -> ( m + 1 ) = ( ( n + 1 ) + 1 ) ) |
| 18 |
17
|
oveq1d |
|- ( m = ( n + 1 ) -> ( ( m + 1 ) _C ( C + 1 ) ) = ( ( ( n + 1 ) + 1 ) _C ( C + 1 ) ) ) |
| 19 |
16 18
|
eqeq12d |
|- ( m = ( n + 1 ) -> ( sum_ k e. ( 0 ... m ) ( k _C C ) = ( ( m + 1 ) _C ( C + 1 ) ) <-> sum_ k e. ( 0 ... ( n + 1 ) ) ( k _C C ) = ( ( ( n + 1 ) + 1 ) _C ( C + 1 ) ) ) ) |
| 20 |
19
|
imbi2d |
|- ( m = ( n + 1 ) -> ( ( C e. NN0 -> sum_ k e. ( 0 ... m ) ( k _C C ) = ( ( m + 1 ) _C ( C + 1 ) ) ) <-> ( C e. NN0 -> sum_ k e. ( 0 ... ( n + 1 ) ) ( k _C C ) = ( ( ( n + 1 ) + 1 ) _C ( C + 1 ) ) ) ) ) |
| 21 |
|
oveq2 |
|- ( m = N -> ( 0 ... m ) = ( 0 ... N ) ) |
| 22 |
21
|
sumeq1d |
|- ( m = N -> sum_ k e. ( 0 ... m ) ( k _C C ) = sum_ k e. ( 0 ... N ) ( k _C C ) ) |
| 23 |
|
oveq1 |
|- ( m = N -> ( m + 1 ) = ( N + 1 ) ) |
| 24 |
23
|
oveq1d |
|- ( m = N -> ( ( m + 1 ) _C ( C + 1 ) ) = ( ( N + 1 ) _C ( C + 1 ) ) ) |
| 25 |
22 24
|
eqeq12d |
|- ( m = N -> ( sum_ k e. ( 0 ... m ) ( k _C C ) = ( ( m + 1 ) _C ( C + 1 ) ) <-> sum_ k e. ( 0 ... N ) ( k _C C ) = ( ( N + 1 ) _C ( C + 1 ) ) ) ) |
| 26 |
25
|
imbi2d |
|- ( m = N -> ( ( C e. NN0 -> sum_ k e. ( 0 ... m ) ( k _C C ) = ( ( m + 1 ) _C ( C + 1 ) ) ) <-> ( C e. NN0 -> sum_ k e. ( 0 ... N ) ( k _C C ) = ( ( N + 1 ) _C ( C + 1 ) ) ) ) ) |
| 27 |
|
0z |
|- 0 e. ZZ |
| 28 |
|
0nn0 |
|- 0 e. NN0 |
| 29 |
|
nn0z |
|- ( C e. NN0 -> C e. ZZ ) |
| 30 |
|
bccl |
|- ( ( 0 e. NN0 /\ C e. ZZ ) -> ( 0 _C C ) e. NN0 ) |
| 31 |
28 29 30
|
sylancr |
|- ( C e. NN0 -> ( 0 _C C ) e. NN0 ) |
| 32 |
31
|
nn0cnd |
|- ( C e. NN0 -> ( 0 _C C ) e. CC ) |
| 33 |
|
oveq1 |
|- ( k = 0 -> ( k _C C ) = ( 0 _C C ) ) |
| 34 |
33
|
fsum1 |
|- ( ( 0 e. ZZ /\ ( 0 _C C ) e. CC ) -> sum_ k e. ( 0 ... 0 ) ( k _C C ) = ( 0 _C C ) ) |
| 35 |
27 32 34
|
sylancr |
|- ( C e. NN0 -> sum_ k e. ( 0 ... 0 ) ( k _C C ) = ( 0 _C C ) ) |
| 36 |
|
elnn0 |
|- ( C e. NN0 <-> ( C e. NN \/ C = 0 ) ) |
| 37 |
|
1red |
|- ( C e. NN -> 1 e. RR ) |
| 38 |
|
nnrp |
|- ( C e. NN -> C e. RR+ ) |
| 39 |
37 38
|
ltaddrp2d |
|- ( C e. NN -> 1 < ( C + 1 ) ) |
| 40 |
|
peano2nn |
|- ( C e. NN -> ( C + 1 ) e. NN ) |
| 41 |
40
|
nnred |
|- ( C e. NN -> ( C + 1 ) e. RR ) |
| 42 |
37 41
|
ltnled |
|- ( C e. NN -> ( 1 < ( C + 1 ) <-> -. ( C + 1 ) <_ 1 ) ) |
| 43 |
39 42
|
mpbid |
|- ( C e. NN -> -. ( C + 1 ) <_ 1 ) |
| 44 |
|
elfzle2 |
|- ( ( C + 1 ) e. ( 0 ... 1 ) -> ( C + 1 ) <_ 1 ) |
| 45 |
43 44
|
nsyl |
|- ( C e. NN -> -. ( C + 1 ) e. ( 0 ... 1 ) ) |
| 46 |
45
|
iffalsed |
|- ( C e. NN -> if ( ( C + 1 ) e. ( 0 ... 1 ) , ( ( ! ` 1 ) / ( ( ! ` ( 1 - ( C + 1 ) ) ) x. ( ! ` ( C + 1 ) ) ) ) , 0 ) = 0 ) |
| 47 |
|
1nn0 |
|- 1 e. NN0 |
| 48 |
40
|
nnzd |
|- ( C e. NN -> ( C + 1 ) e. ZZ ) |
| 49 |
|
bcval |
|- ( ( 1 e. NN0 /\ ( C + 1 ) e. ZZ ) -> ( 1 _C ( C + 1 ) ) = if ( ( C + 1 ) e. ( 0 ... 1 ) , ( ( ! ` 1 ) / ( ( ! ` ( 1 - ( C + 1 ) ) ) x. ( ! ` ( C + 1 ) ) ) ) , 0 ) ) |
| 50 |
47 48 49
|
sylancr |
|- ( C e. NN -> ( 1 _C ( C + 1 ) ) = if ( ( C + 1 ) e. ( 0 ... 1 ) , ( ( ! ` 1 ) / ( ( ! ` ( 1 - ( C + 1 ) ) ) x. ( ! ` ( C + 1 ) ) ) ) , 0 ) ) |
| 51 |
|
bc0k |
|- ( C e. NN -> ( 0 _C C ) = 0 ) |
| 52 |
46 50 51
|
3eqtr4rd |
|- ( C e. NN -> ( 0 _C C ) = ( 1 _C ( C + 1 ) ) ) |
| 53 |
|
bcnn |
|- ( 0 e. NN0 -> ( 0 _C 0 ) = 1 ) |
| 54 |
28 53
|
ax-mp |
|- ( 0 _C 0 ) = 1 |
| 55 |
|
bcnn |
|- ( 1 e. NN0 -> ( 1 _C 1 ) = 1 ) |
| 56 |
47 55
|
ax-mp |
|- ( 1 _C 1 ) = 1 |
| 57 |
54 56
|
eqtr4i |
|- ( 0 _C 0 ) = ( 1 _C 1 ) |
| 58 |
|
oveq2 |
|- ( C = 0 -> ( 0 _C C ) = ( 0 _C 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 ( C + 1 ) ) = ( 1 _C 1 ) ) |
| 62 |
57 58 61
|
3eqtr4a |
|- ( C = 0 -> ( 0 _C C ) = ( 1 _C ( C + 1 ) ) ) |
| 63 |
52 62
|
jaoi |
|- ( ( C e. NN \/ C = 0 ) -> ( 0 _C C ) = ( 1 _C ( C + 1 ) ) ) |
| 64 |
36 63
|
sylbi |
|- ( C e. NN0 -> ( 0 _C C ) = ( 1 _C ( C + 1 ) ) ) |
| 65 |
35 64
|
eqtrd |
|- ( C e. NN0 -> sum_ k e. ( 0 ... 0 ) ( k _C C ) = ( 1 _C ( C + 1 ) ) ) |
| 66 |
|
elnn0uz |
|- ( n e. NN0 <-> n e. ( ZZ>= ` 0 ) ) |
| 67 |
66
|
biimpi |
|- ( n e. NN0 -> n e. ( ZZ>= ` 0 ) ) |
| 68 |
67
|
adantr |
|- ( ( n e. NN0 /\ C e. NN0 ) -> n e. ( ZZ>= ` 0 ) ) |
| 69 |
|
elfznn0 |
|- ( k e. ( 0 ... ( n + 1 ) ) -> k e. NN0 ) |
| 70 |
69
|
adantl |
|- ( ( ( n e. NN0 /\ C e. NN0 ) /\ k e. ( 0 ... ( n + 1 ) ) ) -> k e. NN0 ) |
| 71 |
|
simplr |
|- ( ( ( n e. NN0 /\ C e. NN0 ) /\ k e. ( 0 ... ( n + 1 ) ) ) -> C e. NN0 ) |
| 72 |
71
|
nn0zd |
|- ( ( ( n e. NN0 /\ C e. NN0 ) /\ k e. ( 0 ... ( n + 1 ) ) ) -> C e. ZZ ) |
| 73 |
|
bccl |
|- ( ( k e. NN0 /\ C e. ZZ ) -> ( k _C C ) e. NN0 ) |
| 74 |
70 72 73
|
syl2anc |
|- ( ( ( n e. NN0 /\ C e. NN0 ) /\ k e. ( 0 ... ( n + 1 ) ) ) -> ( k _C C ) e. NN0 ) |
| 75 |
74
|
nn0cnd |
|- ( ( ( n e. NN0 /\ C e. NN0 ) /\ k e. ( 0 ... ( n + 1 ) ) ) -> ( k _C C ) e. CC ) |
| 76 |
|
oveq1 |
|- ( k = ( n + 1 ) -> ( k _C C ) = ( ( n + 1 ) _C C ) ) |
| 77 |
68 75 76
|
fsump1 |
|- ( ( n e. NN0 /\ C e. NN0 ) -> sum_ k e. ( 0 ... ( n + 1 ) ) ( k _C C ) = ( sum_ k e. ( 0 ... n ) ( k _C C ) + ( ( n + 1 ) _C C ) ) ) |
| 78 |
77
|
adantr |
|- ( ( ( n e. NN0 /\ C e. NN0 ) /\ sum_ k e. ( 0 ... n ) ( k _C C ) = ( ( n + 1 ) _C ( C + 1 ) ) ) -> sum_ k e. ( 0 ... ( n + 1 ) ) ( k _C C ) = ( sum_ k e. ( 0 ... n ) ( k _C C ) + ( ( n + 1 ) _C C ) ) ) |
| 79 |
|
id |
|- ( sum_ k e. ( 0 ... n ) ( k _C C ) = ( ( n + 1 ) _C ( C + 1 ) ) -> sum_ k e. ( 0 ... n ) ( k _C C ) = ( ( n + 1 ) _C ( C + 1 ) ) ) |
| 80 |
|
nn0cn |
|- ( C e. NN0 -> C e. CC ) |
| 81 |
80
|
adantl |
|- ( ( n e. NN0 /\ C e. NN0 ) -> C e. CC ) |
| 82 |
|
1cnd |
|- ( ( n e. NN0 /\ C e. NN0 ) -> 1 e. CC ) |
| 83 |
81 82
|
pncand |
|- ( ( n e. NN0 /\ C e. NN0 ) -> ( ( C + 1 ) - 1 ) = C ) |
| 84 |
83
|
oveq2d |
|- ( ( n e. NN0 /\ C e. NN0 ) -> ( ( n + 1 ) _C ( ( C + 1 ) - 1 ) ) = ( ( n + 1 ) _C C ) ) |
| 85 |
84
|
eqcomd |
|- ( ( n e. NN0 /\ C e. NN0 ) -> ( ( n + 1 ) _C C ) = ( ( n + 1 ) _C ( ( C + 1 ) - 1 ) ) ) |
| 86 |
79 85
|
oveqan12rd |
|- ( ( ( n e. NN0 /\ C e. NN0 ) /\ sum_ k e. ( 0 ... n ) ( k _C C ) = ( ( n + 1 ) _C ( C + 1 ) ) ) -> ( sum_ k e. ( 0 ... n ) ( k _C C ) + ( ( n + 1 ) _C C ) ) = ( ( ( n + 1 ) _C ( C + 1 ) ) + ( ( n + 1 ) _C ( ( C + 1 ) - 1 ) ) ) ) |
| 87 |
|
peano2nn0 |
|- ( n e. NN0 -> ( n + 1 ) e. NN0 ) |
| 88 |
|
peano2nn0 |
|- ( C e. NN0 -> ( C + 1 ) e. NN0 ) |
| 89 |
88
|
nn0zd |
|- ( C e. NN0 -> ( C + 1 ) e. ZZ ) |
| 90 |
|
bcpasc |
|- ( ( ( n + 1 ) e. NN0 /\ ( C + 1 ) e. ZZ ) -> ( ( ( n + 1 ) _C ( C + 1 ) ) + ( ( n + 1 ) _C ( ( C + 1 ) - 1 ) ) ) = ( ( ( n + 1 ) + 1 ) _C ( C + 1 ) ) ) |
| 91 |
87 89 90
|
syl2an |
|- ( ( n e. NN0 /\ C e. NN0 ) -> ( ( ( n + 1 ) _C ( C + 1 ) ) + ( ( n + 1 ) _C ( ( C + 1 ) - 1 ) ) ) = ( ( ( n + 1 ) + 1 ) _C ( C + 1 ) ) ) |
| 92 |
91
|
adantr |
|- ( ( ( n e. NN0 /\ C e. NN0 ) /\ sum_ k e. ( 0 ... n ) ( k _C C ) = ( ( n + 1 ) _C ( C + 1 ) ) ) -> ( ( ( n + 1 ) _C ( C + 1 ) ) + ( ( n + 1 ) _C ( ( C + 1 ) - 1 ) ) ) = ( ( ( n + 1 ) + 1 ) _C ( C + 1 ) ) ) |
| 93 |
78 86 92
|
3eqtrd |
|- ( ( ( n e. NN0 /\ C e. NN0 ) /\ sum_ k e. ( 0 ... n ) ( k _C C ) = ( ( n + 1 ) _C ( C + 1 ) ) ) -> sum_ k e. ( 0 ... ( n + 1 ) ) ( k _C C ) = ( ( ( n + 1 ) + 1 ) _C ( C + 1 ) ) ) |
| 94 |
93
|
exp31 |
|- ( n e. NN0 -> ( C e. NN0 -> ( sum_ k e. ( 0 ... n ) ( k _C C ) = ( ( n + 1 ) _C ( C + 1 ) ) -> sum_ k e. ( 0 ... ( n + 1 ) ) ( k _C C ) = ( ( ( n + 1 ) + 1 ) _C ( C + 1 ) ) ) ) ) |
| 95 |
94
|
a2d |
|- ( n e. NN0 -> ( ( C e. NN0 -> sum_ k e. ( 0 ... n ) ( k _C C ) = ( ( n + 1 ) _C ( C + 1 ) ) ) -> ( C e. NN0 -> sum_ k e. ( 0 ... ( n + 1 ) ) ( k _C C ) = ( ( ( n + 1 ) + 1 ) _C ( C + 1 ) ) ) ) ) |
| 96 |
8 14 20 26 65 95
|
nn0ind |
|- ( N e. NN0 -> ( C e. NN0 -> sum_ k e. ( 0 ... N ) ( k _C C ) = ( ( N + 1 ) _C ( C + 1 ) ) ) ) |
| 97 |
96
|
imp |
|- ( ( N e. NN0 /\ C e. NN0 ) -> sum_ k e. ( 0 ... N ) ( k _C C ) = ( ( N + 1 ) _C ( C + 1 ) ) ) |