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
|
addid2d |
|- ( 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
|
2timesd |
|- ( N e. NN -> ( 2 x. N ) = ( N + N ) ) |
25 |
24
|
oveq2d |
|- ( N e. NN -> ( ( N ^ 2 ) - ( 2 x. N ) ) = ( ( N ^ 2 ) - ( N + N ) ) ) |
26 |
23
|
sqcld |
|- ( N e. NN -> ( N ^ 2 ) e. CC ) |
27 |
26 23 23
|
subsub4d |
|- ( N e. NN -> ( ( ( N ^ 2 ) - N ) - N ) = ( ( N ^ 2 ) - ( N + N ) ) ) |
28 |
25 27
|
eqtr4d |
|- ( N e. NN -> ( ( N ^ 2 ) - ( 2 x. N ) ) = ( ( ( N ^ 2 ) - N ) - N ) ) |
29 |
28
|
oveq1d |
|- ( N e. NN -> ( ( ( N ^ 2 ) - ( 2 x. N ) ) + 1 ) = ( ( ( ( N ^ 2 ) - N ) - N ) + 1 ) ) |
30 |
|
binom2sub1 |
|- ( N e. CC -> ( ( N - 1 ) ^ 2 ) = ( ( ( N ^ 2 ) - ( 2 x. N ) ) + 1 ) ) |
31 |
23 30
|
syl |
|- ( N e. NN -> ( ( N - 1 ) ^ 2 ) = ( ( ( N ^ 2 ) - ( 2 x. N ) ) + 1 ) ) |
32 |
26 23
|
subcld |
|- ( N e. NN -> ( ( N ^ 2 ) - N ) e. CC ) |
33 |
|
1cnd |
|- ( N e. NN -> 1 e. CC ) |
34 |
32 23 33
|
subsubd |
|- ( N e. NN -> ( ( ( N ^ 2 ) - N ) - ( N - 1 ) ) = ( ( ( ( N ^ 2 ) - N ) - N ) + 1 ) ) |
35 |
29 31 34
|
3eqtr4d |
|- ( N e. NN -> ( ( N - 1 ) ^ 2 ) = ( ( ( N ^ 2 ) - N ) - ( N - 1 ) ) ) |
36 |
35
|
oveq1d |
|- ( N e. NN -> ( ( ( N - 1 ) ^ 2 ) + ( N - 1 ) ) = ( ( ( ( N ^ 2 ) - N ) - ( N - 1 ) ) + ( N - 1 ) ) ) |
37 |
|
ax-1cn |
|- 1 e. CC |
38 |
|
subcl |
|- ( ( N e. CC /\ 1 e. CC ) -> ( N - 1 ) e. CC ) |
39 |
23 37 38
|
sylancl |
|- ( N e. NN -> ( N - 1 ) e. CC ) |
40 |
32 39
|
npcand |
|- ( N e. NN -> ( ( ( ( N ^ 2 ) - N ) - ( N - 1 ) ) + ( N - 1 ) ) = ( ( N ^ 2 ) - N ) ) |
41 |
36 40
|
eqtrd |
|- ( N e. NN -> ( ( ( N - 1 ) ^ 2 ) + ( N - 1 ) ) = ( ( N ^ 2 ) - N ) ) |
42 |
41
|
oveq1d |
|- ( N e. NN -> ( ( ( ( N - 1 ) ^ 2 ) + ( N - 1 ) ) / 2 ) = ( ( ( N ^ 2 ) - N ) / 2 ) ) |
43 |
22 42
|
eqtrd |
|- ( N e. NN -> sum_ k e. ( 1 ... ( N - 1 ) ) k = ( ( ( N ^ 2 ) - N ) / 2 ) ) |
44 |
20 43
|
eqtrd |
|- ( N e. NN -> ( 0 + sum_ k e. ( ( 0 + 1 ) ... ( N - 1 ) ) k ) = ( ( ( N ^ 2 ) - N ) / 2 ) ) |
45 |
9 44
|
eqtrd |
|- ( N e. NN -> sum_ k e. ( 0 ... ( N - 1 ) ) k = ( ( ( N ^ 2 ) - N ) / 2 ) ) |
46 |
|
oveq1 |
|- ( N = 0 -> ( N - 1 ) = ( 0 - 1 ) ) |
47 |
46
|
oveq2d |
|- ( N = 0 -> ( 0 ... ( N - 1 ) ) = ( 0 ... ( 0 - 1 ) ) ) |
48 |
|
0re |
|- 0 e. RR |
49 |
|
ltm1 |
|- ( 0 e. RR -> ( 0 - 1 ) < 0 ) |
50 |
48 49
|
ax-mp |
|- ( 0 - 1 ) < 0 |
51 |
|
0z |
|- 0 e. ZZ |
52 |
|
peano2zm |
|- ( 0 e. ZZ -> ( 0 - 1 ) e. ZZ ) |
53 |
51 52
|
ax-mp |
|- ( 0 - 1 ) e. ZZ |
54 |
|
fzn |
|- ( ( 0 e. ZZ /\ ( 0 - 1 ) e. ZZ ) -> ( ( 0 - 1 ) < 0 <-> ( 0 ... ( 0 - 1 ) ) = (/) ) ) |
55 |
51 53 54
|
mp2an |
|- ( ( 0 - 1 ) < 0 <-> ( 0 ... ( 0 - 1 ) ) = (/) ) |
56 |
50 55
|
mpbi |
|- ( 0 ... ( 0 - 1 ) ) = (/) |
57 |
47 56
|
eqtrdi |
|- ( N = 0 -> ( 0 ... ( N - 1 ) ) = (/) ) |
58 |
57
|
sumeq1d |
|- ( N = 0 -> sum_ k e. ( 0 ... ( N - 1 ) ) k = sum_ k e. (/) k ) |
59 |
|
sum0 |
|- sum_ k e. (/) k = 0 |
60 |
58 59
|
eqtrdi |
|- ( N = 0 -> sum_ k e. ( 0 ... ( N - 1 ) ) k = 0 ) |
61 |
|
sq0i |
|- ( N = 0 -> ( N ^ 2 ) = 0 ) |
62 |
|
id |
|- ( N = 0 -> N = 0 ) |
63 |
61 62
|
oveq12d |
|- ( N = 0 -> ( ( N ^ 2 ) - N ) = ( 0 - 0 ) ) |
64 |
|
0m0e0 |
|- ( 0 - 0 ) = 0 |
65 |
63 64
|
eqtrdi |
|- ( N = 0 -> ( ( N ^ 2 ) - N ) = 0 ) |
66 |
65
|
oveq1d |
|- ( N = 0 -> ( ( ( N ^ 2 ) - N ) / 2 ) = ( 0 / 2 ) ) |
67 |
|
2cn |
|- 2 e. CC |
68 |
|
2ne0 |
|- 2 =/= 0 |
69 |
67 68
|
div0i |
|- ( 0 / 2 ) = 0 |
70 |
66 69
|
eqtrdi |
|- ( N = 0 -> ( ( ( N ^ 2 ) - N ) / 2 ) = 0 ) |
71 |
60 70
|
eqtr4d |
|- ( N = 0 -> sum_ k e. ( 0 ... ( N - 1 ) ) k = ( ( ( N ^ 2 ) - N ) / 2 ) ) |
72 |
45 71
|
jaoi |
|- ( ( N e. NN \/ N = 0 ) -> sum_ k e. ( 0 ... ( N - 1 ) ) k = ( ( ( N ^ 2 ) - N ) / 2 ) ) |
73 |
1 72
|
sylbi |
|- ( N e. NN0 -> sum_ k e. ( 0 ... ( N - 1 ) ) k = ( ( ( N ^ 2 ) - N ) / 2 ) ) |