| Step |
Hyp |
Ref |
Expression |
| 1 |
|
fzsum2sub.m |
|- ( ph -> M e. NN0 ) |
| 2 |
|
fzsum2sub.n |
|- ( ph -> N e. NN0 ) |
| 3 |
|
fzsum2sub.1 |
|- ( i = ( k - j ) -> A = B ) |
| 4 |
|
fzsum2sub.2 |
|- ( ( ph /\ i e. ( ZZ>= ` -u j ) /\ j e. ( 1 ... N ) ) -> A e. CC ) |
| 5 |
|
fzsum2sub.3 |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( ( ( M + j ) + 1 ) ... ( M + N ) ) ) -> B = 0 ) |
| 6 |
|
fzsum2sub.4 |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( 0 ..^ j ) ) -> B = 0 ) |
| 7 |
|
simpr |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> j e. ( 1 ... N ) ) |
| 8 |
7
|
elfzelzd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> j e. ZZ ) |
| 9 |
|
0zd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> 0 e. ZZ ) |
| 10 |
1
|
nn0zd |
|- ( ph -> M e. ZZ ) |
| 11 |
10
|
adantr |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> M e. ZZ ) |
| 12 |
|
simpll |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ i e. ( 0 ... M ) ) -> ph ) |
| 13 |
|
fz1ssnn |
|- ( 1 ... N ) C_ NN |
| 14 |
|
nnssnn0 |
|- NN C_ NN0 |
| 15 |
13 14
|
sstri |
|- ( 1 ... N ) C_ NN0 |
| 16 |
15 7
|
sselid |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> j e. NN0 ) |
| 17 |
|
nn0uz |
|- NN0 = ( ZZ>= ` 0 ) |
| 18 |
16 17
|
eleqtrdi |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> j e. ( ZZ>= ` 0 ) ) |
| 19 |
|
neg0 |
|- -u 0 = 0 |
| 20 |
|
uzneg |
|- ( j e. ( ZZ>= ` 0 ) -> -u 0 e. ( ZZ>= ` -u j ) ) |
| 21 |
19 20
|
eqeltrrid |
|- ( j e. ( ZZ>= ` 0 ) -> 0 e. ( ZZ>= ` -u j ) ) |
| 22 |
|
fzss1 |
|- ( 0 e. ( ZZ>= ` -u j ) -> ( 0 ... M ) C_ ( -u j ... M ) ) |
| 23 |
18 21 22
|
3syl |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( 0 ... M ) C_ ( -u j ... M ) ) |
| 24 |
|
fzssuz |
|- ( -u j ... M ) C_ ( ZZ>= ` -u j ) |
| 25 |
23 24
|
sstrdi |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( 0 ... M ) C_ ( ZZ>= ` -u j ) ) |
| 26 |
25
|
sselda |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ i e. ( 0 ... M ) ) -> i e. ( ZZ>= ` -u j ) ) |
| 27 |
7
|
adantr |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ i e. ( 0 ... M ) ) -> j e. ( 1 ... N ) ) |
| 28 |
12 26 27 4
|
syl3anc |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ i e. ( 0 ... M ) ) -> A e. CC ) |
| 29 |
8 9 11 28 3
|
fsumshft |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ i e. ( 0 ... M ) A = sum_ k e. ( ( 0 + j ) ... ( M + j ) ) B ) |
| 30 |
1
|
adantr |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> M e. NN0 ) |
| 31 |
13 7
|
sselid |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> j e. NN ) |
| 32 |
31
|
nnnn0d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> j e. NN0 ) |
| 33 |
30 32
|
nn0addcld |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( M + j ) e. NN0 ) |
| 34 |
33
|
nn0red |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( M + j ) e. RR ) |
| 35 |
34
|
ltp1d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( M + j ) < ( ( M + j ) + 1 ) ) |
| 36 |
|
fzdisj |
|- ( ( M + j ) < ( ( M + j ) + 1 ) -> ( ( j ... ( M + j ) ) i^i ( ( ( M + j ) + 1 ) ... ( M + N ) ) ) = (/) ) |
| 37 |
35 36
|
syl |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( ( j ... ( M + j ) ) i^i ( ( ( M + j ) + 1 ) ... ( M + N ) ) ) = (/) ) |
| 38 |
2
|
nn0zd |
|- ( ph -> N e. ZZ ) |
| 39 |
10 38
|
zaddcld |
|- ( ph -> ( M + N ) e. ZZ ) |
| 40 |
39
|
adantr |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( M + N ) e. ZZ ) |
| 41 |
33
|
nn0zd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( M + j ) e. ZZ ) |
| 42 |
31
|
nnred |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> j e. RR ) |
| 43 |
|
nn0addge2 |
|- ( ( j e. RR /\ M e. NN0 ) -> j <_ ( M + j ) ) |
| 44 |
42 30 43
|
syl2anc |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> j <_ ( M + j ) ) |
| 45 |
2
|
nn0red |
|- ( ph -> N e. RR ) |
| 46 |
45
|
adantr |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> N e. RR ) |
| 47 |
30
|
nn0red |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> M e. RR ) |
| 48 |
|
elfzle2 |
|- ( j e. ( 1 ... N ) -> j <_ N ) |
| 49 |
48
|
adantl |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> j <_ N ) |
| 50 |
42 46 47 49
|
leadd2dd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( M + j ) <_ ( M + N ) ) |
| 51 |
8 40 41 44 50
|
elfzd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( M + j ) e. ( j ... ( M + N ) ) ) |
| 52 |
|
fzsplit |
|- ( ( M + j ) e. ( j ... ( M + N ) ) -> ( j ... ( M + N ) ) = ( ( j ... ( M + j ) ) u. ( ( ( M + j ) + 1 ) ... ( M + N ) ) ) ) |
| 53 |
51 52
|
syl |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( j ... ( M + N ) ) = ( ( j ... ( M + j ) ) u. ( ( ( M + j ) + 1 ) ... ( M + N ) ) ) ) |
| 54 |
|
fzfid |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( j ... ( M + N ) ) e. Fin ) |
| 55 |
|
simpll |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( j ... ( M + N ) ) ) -> ph ) |
| 56 |
7
|
adantr |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( j ... ( M + N ) ) ) -> j e. ( 1 ... N ) ) |
| 57 |
15 56
|
sselid |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( j ... ( M + N ) ) ) -> j e. NN0 ) |
| 58 |
|
fz2ssnn0 |
|- ( j e. NN0 -> ( j ... ( M + N ) ) C_ NN0 ) |
| 59 |
57 58
|
syl |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( j ... ( M + N ) ) ) -> ( j ... ( M + N ) ) C_ NN0 ) |
| 60 |
|
simpr |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( j ... ( M + N ) ) ) -> k e. ( j ... ( M + N ) ) ) |
| 61 |
59 60
|
sseldd |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( j ... ( M + N ) ) ) -> k e. NN0 ) |
| 62 |
3
|
eleq1d |
|- ( i = ( k - j ) -> ( A e. CC <-> B e. CC ) ) |
| 63 |
|
simpll |
|- ( ( ( ph /\ i e. ( ZZ>= ` -u j ) ) /\ j e. ( 1 ... N ) ) -> ph ) |
| 64 |
|
simplr |
|- ( ( ( ph /\ i e. ( ZZ>= ` -u j ) ) /\ j e. ( 1 ... N ) ) -> i e. ( ZZ>= ` -u j ) ) |
| 65 |
|
simpr |
|- ( ( ( ph /\ i e. ( ZZ>= ` -u j ) ) /\ j e. ( 1 ... N ) ) -> j e. ( 1 ... N ) ) |
| 66 |
63 64 65 4
|
syl3anc |
|- ( ( ( ph /\ i e. ( ZZ>= ` -u j ) ) /\ j e. ( 1 ... N ) ) -> A e. CC ) |
| 67 |
66
|
an32s |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ i e. ( ZZ>= ` -u j ) ) -> A e. CC ) |
| 68 |
67
|
ralrimiva |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> A. i e. ( ZZ>= ` -u j ) A e. CC ) |
| 69 |
68
|
adantr |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. NN0 ) -> A. i e. ( ZZ>= ` -u j ) A e. CC ) |
| 70 |
|
nnsscn |
|- NN C_ CC |
| 71 |
13 70
|
sstri |
|- ( 1 ... N ) C_ CC |
| 72 |
|
simplr |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. NN0 ) -> j e. ( 1 ... N ) ) |
| 73 |
71 72
|
sselid |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. NN0 ) -> j e. CC ) |
| 74 |
|
simpr |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. NN0 ) -> k e. NN0 ) |
| 75 |
74
|
nn0cnd |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. NN0 ) -> k e. CC ) |
| 76 |
73 75
|
negsubdi2d |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. NN0 ) -> -u ( j - k ) = ( k - j ) ) |
| 77 |
72
|
elfzelzd |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. NN0 ) -> j e. ZZ ) |
| 78 |
|
eluzmn |
|- ( ( j e. ZZ /\ k e. NN0 ) -> j e. ( ZZ>= ` ( j - k ) ) ) |
| 79 |
77 74 78
|
syl2anc |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. NN0 ) -> j e. ( ZZ>= ` ( j - k ) ) ) |
| 80 |
|
uzneg |
|- ( j e. ( ZZ>= ` ( j - k ) ) -> -u ( j - k ) e. ( ZZ>= ` -u j ) ) |
| 81 |
79 80
|
syl |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. NN0 ) -> -u ( j - k ) e. ( ZZ>= ` -u j ) ) |
| 82 |
76 81
|
eqeltrrd |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. NN0 ) -> ( k - j ) e. ( ZZ>= ` -u j ) ) |
| 83 |
62 69 82
|
rspcdva |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. NN0 ) -> B e. CC ) |
| 84 |
55 56 61 83
|
syl21anc |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( j ... ( M + N ) ) ) -> B e. CC ) |
| 85 |
37 53 54 84
|
fsumsplit |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ k e. ( j ... ( M + N ) ) B = ( sum_ k e. ( j ... ( M + j ) ) B + sum_ k e. ( ( ( M + j ) + 1 ) ... ( M + N ) ) B ) ) |
| 86 |
8
|
zcnd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> j e. CC ) |
| 87 |
86
|
addlidd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( 0 + j ) = j ) |
| 88 |
87
|
oveq1d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( ( 0 + j ) ... ( M + j ) ) = ( j ... ( M + j ) ) ) |
| 89 |
88
|
eqcomd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( j ... ( M + j ) ) = ( ( 0 + j ) ... ( M + j ) ) ) |
| 90 |
89
|
sumeq1d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ k e. ( j ... ( M + j ) ) B = sum_ k e. ( ( 0 + j ) ... ( M + j ) ) B ) |
| 91 |
5
|
sumeq2dv |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ k e. ( ( ( M + j ) + 1 ) ... ( M + N ) ) B = sum_ k e. ( ( ( M + j ) + 1 ) ... ( M + N ) ) 0 ) |
| 92 |
|
fzfi |
|- ( ( ( M + j ) + 1 ) ... ( M + N ) ) e. Fin |
| 93 |
|
sumz |
|- ( ( ( ( ( M + j ) + 1 ) ... ( M + N ) ) C_ ( ZZ>= ` 0 ) \/ ( ( ( M + j ) + 1 ) ... ( M + N ) ) e. Fin ) -> sum_ k e. ( ( ( M + j ) + 1 ) ... ( M + N ) ) 0 = 0 ) |
| 94 |
93
|
olcs |
|- ( ( ( ( M + j ) + 1 ) ... ( M + N ) ) e. Fin -> sum_ k e. ( ( ( M + j ) + 1 ) ... ( M + N ) ) 0 = 0 ) |
| 95 |
92 94
|
ax-mp |
|- sum_ k e. ( ( ( M + j ) + 1 ) ... ( M + N ) ) 0 = 0 |
| 96 |
91 95
|
eqtrdi |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ k e. ( ( ( M + j ) + 1 ) ... ( M + N ) ) B = 0 ) |
| 97 |
90 96
|
oveq12d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( sum_ k e. ( j ... ( M + j ) ) B + sum_ k e. ( ( ( M + j ) + 1 ) ... ( M + N ) ) B ) = ( sum_ k e. ( ( 0 + j ) ... ( M + j ) ) B + 0 ) ) |
| 98 |
|
fzfid |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( ( 0 + j ) ... ( M + j ) ) e. Fin ) |
| 99 |
|
simpll |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( ( 0 + j ) ... ( M + j ) ) ) -> ph ) |
| 100 |
7
|
adantr |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( ( 0 + j ) ... ( M + j ) ) ) -> j e. ( 1 ... N ) ) |
| 101 |
|
elfzuz3 |
|- ( j e. ( 1 ... N ) -> N e. ( ZZ>= ` j ) ) |
| 102 |
101
|
adantl |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> N e. ( ZZ>= ` j ) ) |
| 103 |
|
eluzadd |
|- ( ( N e. ( ZZ>= ` j ) /\ M e. ZZ ) -> ( N + M ) e. ( ZZ>= ` ( j + M ) ) ) |
| 104 |
102 11 103
|
syl2anc |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( N + M ) e. ( ZZ>= ` ( j + M ) ) ) |
| 105 |
2
|
nn0cnd |
|- ( ph -> N e. CC ) |
| 106 |
105
|
adantr |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> N e. CC ) |
| 107 |
|
zsscn |
|- ZZ C_ CC |
| 108 |
107 11
|
sselid |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> M e. CC ) |
| 109 |
106 108
|
addcomd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( N + M ) = ( M + N ) ) |
| 110 |
86 108
|
addcomd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( j + M ) = ( M + j ) ) |
| 111 |
110
|
fveq2d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( ZZ>= ` ( j + M ) ) = ( ZZ>= ` ( M + j ) ) ) |
| 112 |
104 109 111
|
3eltr3d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( M + N ) e. ( ZZ>= ` ( M + j ) ) ) |
| 113 |
112
|
adantr |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( ( 0 + j ) ... ( M + j ) ) ) -> ( M + N ) e. ( ZZ>= ` ( M + j ) ) ) |
| 114 |
|
fzss2 |
|- ( ( M + N ) e. ( ZZ>= ` ( M + j ) ) -> ( j ... ( M + j ) ) C_ ( j ... ( M + N ) ) ) |
| 115 |
113 114
|
syl |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( ( 0 + j ) ... ( M + j ) ) ) -> ( j ... ( M + j ) ) C_ ( j ... ( M + N ) ) ) |
| 116 |
|
simpr |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( ( 0 + j ) ... ( M + j ) ) ) -> k e. ( ( 0 + j ) ... ( M + j ) ) ) |
| 117 |
88
|
adantr |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( ( 0 + j ) ... ( M + j ) ) ) -> ( ( 0 + j ) ... ( M + j ) ) = ( j ... ( M + j ) ) ) |
| 118 |
116 117
|
eleqtrd |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( ( 0 + j ) ... ( M + j ) ) ) -> k e. ( j ... ( M + j ) ) ) |
| 119 |
115 118
|
sseldd |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( ( 0 + j ) ... ( M + j ) ) ) -> k e. ( j ... ( M + N ) ) ) |
| 120 |
99 100 119 61
|
syl21anc |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( ( 0 + j ) ... ( M + j ) ) ) -> k e. NN0 ) |
| 121 |
99 100 120 83
|
syl21anc |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( ( 0 + j ) ... ( M + j ) ) ) -> B e. CC ) |
| 122 |
98 121
|
fsumcl |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ k e. ( ( 0 + j ) ... ( M + j ) ) B e. CC ) |
| 123 |
122
|
addridd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( sum_ k e. ( ( 0 + j ) ... ( M + j ) ) B + 0 ) = sum_ k e. ( ( 0 + j ) ... ( M + j ) ) B ) |
| 124 |
85 97 123
|
3eqtrrd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ k e. ( ( 0 + j ) ... ( M + j ) ) B = sum_ k e. ( j ... ( M + N ) ) B ) |
| 125 |
|
fzval3 |
|- ( ( M + N ) e. ZZ -> ( j ... ( M + N ) ) = ( j ..^ ( ( M + N ) + 1 ) ) ) |
| 126 |
40 125
|
syl |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( j ... ( M + N ) ) = ( j ..^ ( ( M + N ) + 1 ) ) ) |
| 127 |
126
|
ineq2d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( ( 0 ..^ j ) i^i ( j ... ( M + N ) ) ) = ( ( 0 ..^ j ) i^i ( j ..^ ( ( M + N ) + 1 ) ) ) ) |
| 128 |
|
fzodisj |
|- ( ( 0 ..^ j ) i^i ( j ..^ ( ( M + N ) + 1 ) ) ) = (/) |
| 129 |
127 128
|
eqtrdi |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( ( 0 ..^ j ) i^i ( j ... ( M + N ) ) ) = (/) ) |
| 130 |
40
|
peano2zd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( ( M + N ) + 1 ) e. ZZ ) |
| 131 |
32
|
nn0ge0d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> 0 <_ j ) |
| 132 |
130
|
zred |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( ( M + N ) + 1 ) e. RR ) |
| 133 |
40
|
zred |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( M + N ) e. RR ) |
| 134 |
|
nn0addge2 |
|- ( ( N e. RR /\ M e. NN0 ) -> N <_ ( M + N ) ) |
| 135 |
45 1 134
|
syl2anc |
|- ( ph -> N <_ ( M + N ) ) |
| 136 |
135
|
adantr |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> N <_ ( M + N ) ) |
| 137 |
133
|
lep1d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( M + N ) <_ ( ( M + N ) + 1 ) ) |
| 138 |
46 133 132 136 137
|
letrd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> N <_ ( ( M + N ) + 1 ) ) |
| 139 |
42 46 132 49 138
|
letrd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> j <_ ( ( M + N ) + 1 ) ) |
| 140 |
9 130 8 131 139
|
elfzd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> j e. ( 0 ... ( ( M + N ) + 1 ) ) ) |
| 141 |
|
fzosplit |
|- ( j e. ( 0 ... ( ( M + N ) + 1 ) ) -> ( 0 ..^ ( ( M + N ) + 1 ) ) = ( ( 0 ..^ j ) u. ( j ..^ ( ( M + N ) + 1 ) ) ) ) |
| 142 |
140 141
|
syl |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( 0 ..^ ( ( M + N ) + 1 ) ) = ( ( 0 ..^ j ) u. ( j ..^ ( ( M + N ) + 1 ) ) ) ) |
| 143 |
|
fzval3 |
|- ( ( M + N ) e. ZZ -> ( 0 ... ( M + N ) ) = ( 0 ..^ ( ( M + N ) + 1 ) ) ) |
| 144 |
40 143
|
syl |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( 0 ... ( M + N ) ) = ( 0 ..^ ( ( M + N ) + 1 ) ) ) |
| 145 |
126
|
uneq2d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( ( 0 ..^ j ) u. ( j ... ( M + N ) ) ) = ( ( 0 ..^ j ) u. ( j ..^ ( ( M + N ) + 1 ) ) ) ) |
| 146 |
142 144 145
|
3eqtr4d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( 0 ... ( M + N ) ) = ( ( 0 ..^ j ) u. ( j ... ( M + N ) ) ) ) |
| 147 |
|
fzfid |
|- ( ph -> ( 0 ... ( M + N ) ) e. Fin ) |
| 148 |
147
|
adantr |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( 0 ... ( M + N ) ) e. Fin ) |
| 149 |
|
simpl |
|- ( ( ph /\ ( k e. ( 0 ... ( M + N ) ) /\ j e. ( 1 ... N ) ) ) -> ph ) |
| 150 |
7
|
adantrl |
|- ( ( ph /\ ( k e. ( 0 ... ( M + N ) ) /\ j e. ( 1 ... N ) ) ) -> j e. ( 1 ... N ) ) |
| 151 |
|
fz0ssnn0 |
|- ( 0 ... ( M + N ) ) C_ NN0 |
| 152 |
|
simprl |
|- ( ( ph /\ ( k e. ( 0 ... ( M + N ) ) /\ j e. ( 1 ... N ) ) ) -> k e. ( 0 ... ( M + N ) ) ) |
| 153 |
151 152
|
sselid |
|- ( ( ph /\ ( k e. ( 0 ... ( M + N ) ) /\ j e. ( 1 ... N ) ) ) -> k e. NN0 ) |
| 154 |
149 150 153 83
|
syl21anc |
|- ( ( ph /\ ( k e. ( 0 ... ( M + N ) ) /\ j e. ( 1 ... N ) ) ) -> B e. CC ) |
| 155 |
154
|
anass1rs |
|- ( ( ( ph /\ j e. ( 1 ... N ) ) /\ k e. ( 0 ... ( M + N ) ) ) -> B e. CC ) |
| 156 |
129 146 148 155
|
fsumsplit |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ k e. ( 0 ... ( M + N ) ) B = ( sum_ k e. ( 0 ..^ j ) B + sum_ k e. ( j ... ( M + N ) ) B ) ) |
| 157 |
6
|
sumeq2dv |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ k e. ( 0 ..^ j ) B = sum_ k e. ( 0 ..^ j ) 0 ) |
| 158 |
|
fzofi |
|- ( 0 ..^ j ) e. Fin |
| 159 |
|
sumz |
|- ( ( ( 0 ..^ j ) C_ ( ZZ>= ` 0 ) \/ ( 0 ..^ j ) e. Fin ) -> sum_ k e. ( 0 ..^ j ) 0 = 0 ) |
| 160 |
159
|
olcs |
|- ( ( 0 ..^ j ) e. Fin -> sum_ k e. ( 0 ..^ j ) 0 = 0 ) |
| 161 |
158 160
|
ax-mp |
|- sum_ k e. ( 0 ..^ j ) 0 = 0 |
| 162 |
157 161
|
eqtrdi |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ k e. ( 0 ..^ j ) B = 0 ) |
| 163 |
162
|
oveq1d |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( sum_ k e. ( 0 ..^ j ) B + sum_ k e. ( j ... ( M + N ) ) B ) = ( 0 + sum_ k e. ( j ... ( M + N ) ) B ) ) |
| 164 |
54 84
|
fsumcl |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ k e. ( j ... ( M + N ) ) B e. CC ) |
| 165 |
164
|
addlidd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> ( 0 + sum_ k e. ( j ... ( M + N ) ) B ) = sum_ k e. ( j ... ( M + N ) ) B ) |
| 166 |
156 163 165
|
3eqtrrd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ k e. ( j ... ( M + N ) ) B = sum_ k e. ( 0 ... ( M + N ) ) B ) |
| 167 |
124 166
|
eqtrd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ k e. ( ( 0 + j ) ... ( M + j ) ) B = sum_ k e. ( 0 ... ( M + N ) ) B ) |
| 168 |
29 167
|
eqtrd |
|- ( ( ph /\ j e. ( 1 ... N ) ) -> sum_ i e. ( 0 ... M ) A = sum_ k e. ( 0 ... ( M + N ) ) B ) |
| 169 |
168
|
sumeq2dv |
|- ( ph -> sum_ j e. ( 1 ... N ) sum_ i e. ( 0 ... M ) A = sum_ j e. ( 1 ... N ) sum_ k e. ( 0 ... ( M + N ) ) B ) |
| 170 |
|
fzfid |
|- ( ph -> ( 0 ... M ) e. Fin ) |
| 171 |
|
fzfid |
|- ( ph -> ( 1 ... N ) e. Fin ) |
| 172 |
28
|
anasss |
|- ( ( ph /\ ( j e. ( 1 ... N ) /\ i e. ( 0 ... M ) ) ) -> A e. CC ) |
| 173 |
172
|
ancom2s |
|- ( ( ph /\ ( i e. ( 0 ... M ) /\ j e. ( 1 ... N ) ) ) -> A e. CC ) |
| 174 |
170 171 173
|
fsumcom |
|- ( ph -> sum_ i e. ( 0 ... M ) sum_ j e. ( 1 ... N ) A = sum_ j e. ( 1 ... N ) sum_ i e. ( 0 ... M ) A ) |
| 175 |
147 171 154
|
fsumcom |
|- ( ph -> sum_ k e. ( 0 ... ( M + N ) ) sum_ j e. ( 1 ... N ) B = sum_ j e. ( 1 ... N ) sum_ k e. ( 0 ... ( M + N ) ) B ) |
| 176 |
169 174 175
|
3eqtr4d |
|- ( ph -> sum_ i e. ( 0 ... M ) sum_ j e. ( 1 ... N ) A = sum_ k e. ( 0 ... ( M + N ) ) sum_ j e. ( 1 ... N ) B ) |