| Step |
Hyp |
Ref |
Expression |
| 1 |
|
elnn0 |
|- ( N e. NN0 <-> ( N e. NN \/ N = 0 ) ) |
| 2 |
|
nnm1nn0 |
|- ( N e. NN -> ( N - 1 ) e. NN0 ) |
| 3 |
|
nn0uz |
|- NN0 = ( ZZ>= ` 0 ) |
| 4 |
2 3
|
eleqtrdi |
|- ( N e. NN -> ( N - 1 ) e. ( ZZ>= ` 0 ) ) |
| 5 |
|
elfznn0 |
|- ( k e. ( 0 ... ( N - 1 ) ) -> k e. NN0 ) |
| 6 |
5
|
adantl |
|- ( ( N e. NN /\ k e. ( 0 ... ( N - 1 ) ) ) -> k e. NN0 ) |
| 7 |
6
|
nn0cnd |
|- ( ( N e. NN /\ k e. ( 0 ... ( N - 1 ) ) ) -> k e. CC ) |
| 8 |
|
id |
|- ( k = 0 -> k = 0 ) |
| 9 |
4 7 8
|
fsum1p |
|- ( N e. NN -> sum_ k e. ( 0 ... ( N - 1 ) ) k = ( 0 + sum_ k e. ( ( 0 + 1 ) ... ( N - 1 ) ) k ) ) |
| 10 |
|
1e0p1 |
|- 1 = ( 0 + 1 ) |
| 11 |
10
|
oveq1i |
|- ( 1 ... ( N - 1 ) ) = ( ( 0 + 1 ) ... ( N - 1 ) ) |
| 12 |
11
|
sumeq1i |
|- sum_ k e. ( 1 ... ( N - 1 ) ) k = sum_ k e. ( ( 0 + 1 ) ... ( N - 1 ) ) k |
| 13 |
12
|
oveq2i |
|- ( 0 + sum_ k e. ( 1 ... ( N - 1 ) ) k ) = ( 0 + sum_ k e. ( ( 0 + 1 ) ... ( N - 1 ) ) k ) |
| 14 |
|
fzfid |
|- ( N e. NN -> ( 1 ... ( N - 1 ) ) e. Fin ) |
| 15 |
|
elfznn |
|- ( k e. ( 1 ... ( N - 1 ) ) -> k e. NN ) |
| 16 |
15
|
adantl |
|- ( ( N e. NN /\ k e. ( 1 ... ( N - 1 ) ) ) -> k e. NN ) |
| 17 |
16
|
nncnd |
|- ( ( N e. NN /\ k e. ( 1 ... ( N - 1 ) ) ) -> k e. CC ) |
| 18 |
14 17
|
fsumcl |
|- ( N e. NN -> sum_ k e. ( 1 ... ( N - 1 ) ) k e. CC ) |
| 19 |
18
|
addlidd |
|- ( N e. NN -> ( 0 + sum_ k e. ( 1 ... ( N - 1 ) ) k ) = sum_ k e. ( 1 ... ( N - 1 ) ) k ) |
| 20 |
13 19
|
eqtr3id |
|- ( N e. NN -> ( 0 + sum_ k e. ( ( 0 + 1 ) ... ( N - 1 ) ) k ) = sum_ k e. ( 1 ... ( N - 1 ) ) k ) |
| 21 |
|
arisum |
|- ( ( N - 1 ) e. NN0 -> sum_ k e. ( 1 ... ( N - 1 ) ) k = ( ( ( ( N - 1 ) ^ 2 ) + ( N - 1 ) ) / 2 ) ) |
| 22 |
2 21
|
syl |
|- ( N e. NN -> sum_ k e. ( 1 ... ( N - 1 ) ) k = ( ( ( ( N - 1 ) ^ 2 ) + ( N - 1 ) ) / 2 ) ) |
| 23 |
|
nncn |
|- ( N e. NN -> N e. CC ) |
| 24 |
23
|
sqcld |
|- ( N e. NN -> ( N ^ 2 ) e. CC ) |
| 25 |
24 23
|
subcld |
|- ( N e. NN -> ( ( N ^ 2 ) - N ) e. CC ) |
| 26 |
2
|
nn0cnd |
|- ( N e. NN -> ( N - 1 ) e. CC ) |
| 27 |
23
|
2timesd |
|- ( N e. NN -> ( 2 x. N ) = ( N + N ) ) |
| 28 |
27
|
oveq2d |
|- ( N e. NN -> ( ( N ^ 2 ) - ( 2 x. N ) ) = ( ( N ^ 2 ) - ( N + N ) ) ) |
| 29 |
24 23 23
|
subsub4d |
|- ( N e. NN -> ( ( ( N ^ 2 ) - N ) - N ) = ( ( N ^ 2 ) - ( N + N ) ) ) |
| 30 |
28 29
|
eqtr4d |
|- ( N e. NN -> ( ( N ^ 2 ) - ( 2 x. N ) ) = ( ( ( N ^ 2 ) - N ) - N ) ) |
| 31 |
30
|
oveq1d |
|- ( N e. NN -> ( ( ( N ^ 2 ) - ( 2 x. N ) ) + 1 ) = ( ( ( ( N ^ 2 ) - N ) - N ) + 1 ) ) |
| 32 |
|
binom2sub1 |
|- ( N e. CC -> ( ( N - 1 ) ^ 2 ) = ( ( ( N ^ 2 ) - ( 2 x. N ) ) + 1 ) ) |
| 33 |
23 32
|
syl |
|- ( N e. NN -> ( ( N - 1 ) ^ 2 ) = ( ( ( N ^ 2 ) - ( 2 x. N ) ) + 1 ) ) |
| 34 |
|
1cnd |
|- ( N e. NN -> 1 e. CC ) |
| 35 |
25 23 34
|
subsubd |
|- ( N e. NN -> ( ( ( N ^ 2 ) - N ) - ( N - 1 ) ) = ( ( ( ( N ^ 2 ) - N ) - N ) + 1 ) ) |
| 36 |
31 33 35
|
3eqtr4d |
|- ( N e. NN -> ( ( N - 1 ) ^ 2 ) = ( ( ( N ^ 2 ) - N ) - ( N - 1 ) ) ) |
| 37 |
25 26 36
|
mvrrsubd |
|- ( N e. NN -> ( ( ( N - 1 ) ^ 2 ) + ( N - 1 ) ) = ( ( N ^ 2 ) - N ) ) |
| 38 |
37
|
oveq1d |
|- ( N e. NN -> ( ( ( ( N - 1 ) ^ 2 ) + ( N - 1 ) ) / 2 ) = ( ( ( N ^ 2 ) - N ) / 2 ) ) |
| 39 |
22 38
|
eqtrd |
|- ( N e. NN -> sum_ k e. ( 1 ... ( N - 1 ) ) k = ( ( ( N ^ 2 ) - N ) / 2 ) ) |
| 40 |
9 20 39
|
3eqtrd |
|- ( N e. NN -> sum_ k e. ( 0 ... ( N - 1 ) ) k = ( ( ( N ^ 2 ) - N ) / 2 ) ) |
| 41 |
|
oveq1 |
|- ( N = 0 -> ( N - 1 ) = ( 0 - 1 ) ) |
| 42 |
41
|
oveq2d |
|- ( N = 0 -> ( 0 ... ( N - 1 ) ) = ( 0 ... ( 0 - 1 ) ) ) |
| 43 |
|
fz00m1 |
|- ( 0 ... ( 0 - 1 ) ) = (/) |
| 44 |
42 43
|
eqtrdi |
|- ( N = 0 -> ( 0 ... ( N - 1 ) ) = (/) ) |
| 45 |
44
|
sumeq1d |
|- ( N = 0 -> sum_ k e. ( 0 ... ( N - 1 ) ) k = sum_ k e. (/) k ) |
| 46 |
|
sum0 |
|- sum_ k e. (/) k = 0 |
| 47 |
45 46
|
eqtrdi |
|- ( N = 0 -> sum_ k e. ( 0 ... ( N - 1 ) ) k = 0 ) |
| 48 |
|
sq0i |
|- ( N = 0 -> ( N ^ 2 ) = 0 ) |
| 49 |
|
id |
|- ( N = 0 -> N = 0 ) |
| 50 |
48 49
|
oveq12d |
|- ( N = 0 -> ( ( N ^ 2 ) - N ) = ( 0 - 0 ) ) |
| 51 |
|
0m0e0 |
|- ( 0 - 0 ) = 0 |
| 52 |
50 51
|
eqtrdi |
|- ( N = 0 -> ( ( N ^ 2 ) - N ) = 0 ) |
| 53 |
52
|
oveq1d |
|- ( N = 0 -> ( ( ( N ^ 2 ) - N ) / 2 ) = ( 0 / 2 ) ) |
| 54 |
|
2cn |
|- 2 e. CC |
| 55 |
|
2ne0 |
|- 2 =/= 0 |
| 56 |
54 55
|
div0i |
|- ( 0 / 2 ) = 0 |
| 57 |
53 56
|
eqtrdi |
|- ( N = 0 -> ( ( ( N ^ 2 ) - N ) / 2 ) = 0 ) |
| 58 |
47 57
|
eqtr4d |
|- ( N = 0 -> sum_ k e. ( 0 ... ( N - 1 ) ) k = ( ( ( N ^ 2 ) - N ) / 2 ) ) |
| 59 |
40 58
|
jaoi |
|- ( ( N e. NN \/ N = 0 ) -> sum_ k e. ( 0 ... ( N - 1 ) ) k = ( ( ( N ^ 2 ) - N ) / 2 ) ) |
| 60 |
1 59
|
sylbi |
|- ( N e. NN0 -> sum_ k e. ( 0 ... ( N - 1 ) ) k = ( ( ( N ^ 2 ) - N ) / 2 ) ) |