| 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 ) ) ) |