HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem fsum0diag 7201
Description: Two ways to express "the sum of A(j) x. B(k) where j + k <_ N."
Assertion
Ref Expression
fsum0diag |- ((N e. NN0 /\ A.j e. (0...N)A e. CC /\ A.k e. (0...N)B e. CC) -> sum_j e. (0...N)sum_k e. (0...(N - j))(A x. B) = sum_k e. (0...N)sum_j e. (0...k)(A x. [_(k - j) / k]_B))
Distinct variable groups:   A,k   B,j   j,k,N

Proof of Theorem fsum0diag
StepHypRef Expression
1 fsum0diaglem2 7200 . . 3 |- (n e. NN0 -> (((A.j e. (0...n)A e. CC /\ A.k e. (0...n)B e. CC) -> sum_j e. (0...n)sum_k e. (0...(n - j))(A x. B) = sum_k e. (0...n)sum_j e. (0...k)(A x. [_(k - j) / k]_B)) -> ((A.j e. (0...(n + 1))A e. CC /\ A.k e. (0...(n + 1))B e. CC) -> sum_j e. (0...(n + 1))sum_k e. (0...((n + 1) - j))(A x. B) = sum_k e. (0...(n + 1))sum_j e. (0...k)(A x. [_(k - j) / k]_B))))
2 oprex 3974 . . . . . 6 |- ([_0 / j]_A x. [_0 / k]_B) e. V
3 0z 6101 . . . . . 6 |- 0 e. ZZ
4 ax-17 969 . . . . . . . . . 10 |- (m e. 0 -> A.j m e. 0)
54hbcsb1g 2020 . . . . . . . . 9 |- (0 e. ZZ -> (m e. [_0 / j]_A -> A.j m e. [_0 / j]_A))
63, 5ax-mp 7 . . . . . . . 8 |- (m e. [_0 / j]_A -> A.j m e. [_0 / j]_A)
7 ax-17 969 . . . . . . . 8 |- (m e. x. -> A.j m e. x. )
8 ax-17 969 . . . . . . . 8 |- (m e. [_0 / k]_B -> A.j m e. [_0 / k]_B)
96, 7, 8hbopr 3972 . . . . . . 7 |- (m e. ([_0 / j]_A x. [_0 / k]_B) -> A.j m e. ([_0 / j]_A x. [_0 / k]_B))
10 csbeq1a 2002 . . . . . . . 8 |- (j = 0 -> A = [_0 / j]_A)
1110opreq1d 3966 . . . . . . 7 |- (j = 0 -> (A x. [_0 / k]_B) = ([_0 / j]_A x. [_0 / k]_B))
129, 11fsum1f 6953 . . . . . 6 |- ((([_0 / j]_A x. [_0 / k]_B) e. V /\ 0 e. ZZ) -> sum_j e. (0...0)(A x. [_0 / k]_B) = ([_0 / j]_A x. [_0 / k]_B))
132, 3, 12mp2an 696 . . . . 5 |- sum_j e. (0...0)(A x. [_0 / k]_B) = ([_0 / j]_A x. [_0 / k]_B)
14 sumex 6927 . . . . . 6 |- sum_j e. (0...0)(A x. [_0 / k]_B) e. V
15 ax-17 969 . . . . . . . 8 |- (m e. (0...0) -> A.k m e. (0...0))
16 ax-17 969 . . . . . . . . 9 |- (m e. A -> A.k m e. A)
17 ax-17 969 . . . . . . . . 9 |- (m e. x. -> A.k m e. x. )
18 ax-17 969 . . . . . . . . . . 11 |- (m e. 0 -> A.k m e. 0)
1918hbcsb1g 2020 . . . . . . . . . 10 |- (0 e. ZZ -> (m e. [_0 / k]_B -> A.k m e. [_0 / k]_B))
203, 19ax-mp 7 . . . . . . . . 9 |- (m e. [_0 / k]_B -> A.k m e. [_0 / k]_B)
2116, 17, 20hbopr 3972 . . . . . . . 8 |- (m e. (A x. [_0 / k]_B) -> A.k m e. (A x. [_0 / k]_B))
2215, 21hbsum 6930 . . . . . . 7 |- (m e. sum_j e. (0...0)(A x. [_0 / k]_B) -> A.k m e. sum_j e. (0...0)(A x. [_0 / k]_B))
23 opreq2 3960 . . . . . . . 8 |- (k = 0 -> (0...k) = (0...0))
24 opreq12 3961 . . . . . . . . . . . 12 |- ((k = 0 /\ j = 0) -> (k - j) = (0 - 0))
25 0cn 5308 . . . . . . . . . . . . 13 |- 0 e. CC
2625subid 5371 . . . . . . . . . . . 12 |- (0 - 0) = 0
2724, 26syl6eq 1520 . . . . . . . . . . 11 |- ((k = 0 /\ j = 0) -> (k - j) = 0)
2827csbeq1d 2000 . . . . . . . . . 10 |- ((k = 0 /\ j = 0) -> [_(k - j) / k]_B = [_0 / k]_B)
2928opreq2d 3967 . . . . . . . . 9 |- ((k = 0 /\ j = 0) -> (A x. [_(k - j) / k]_B) = (A x. [_0 / k]_B))
30 elfz1eqt 6432 . . . . . . . . 9 |- (j e. (0...0) -> j = 0)
3129, 30sylan2 451 . . . . . . . 8 |- ((k = 0 /\ j e. (0...0)) -> (A x. [_(k - j) / k]_B) = (A x. [_0 / k]_B))
3223, 31sumeq12rdv 6942 . . . . . . 7 |- (k = 0 -> sum_j e. (0...k)(A x. [_(k - j) / k]_B) = sum_j e. (0...0)(A x. [_0 / k]_B))
3322, 32fsum1f 6953 . . . . . 6 |- ((sum_j e. (0...0)(A x. [_0 / k]_B) e. V /\ 0 e. ZZ) -> sum_k e. (0...0)sum_j e. (0...k)(A x. [_(k - j) / k]_B) = sum_j e. (0...0)(A x. [_0 / k]_B))
3414, 3, 33mp2an 696 . . . . 5 |- sum_k e. (0...0)sum_j e. (0...k)(A x. [_(k - j) / k]_B) = sum_j e. (0...0)(A x. [_0 / k]_B)
35 sumex 6927 . . . . . . 7 |- sum_k e. (0...0)([_0 / j]_A x. B) e. V
36 ax-17 969 . . . . . . . . 9 |- (m e. (0...0) -> A.j m e. (0...0))
37 ax-17 969 . . . . . . . . . 10 |- (m e. B -> A.j m e. B)
386, 7, 37hbopr 3972 . . . . . . . . 9 |- (m e. ([_0 / j]_A x. B) -> A.j m e. ([_0 / j]_A x. B))
3936, 38hbsum 6930 . . . . . . . 8 |- (m e. sum_k e. (0...0)([_0 / j]_A x. B) -> A.j m e. sum_k e. (0...0)([_0 / j]_A x. B))
40 opreq2 3960 . . . . . . . . . . 11 |- (j = 0 -> (0 - j) = (0 - 0))
4140, 26syl6eq 1520 . . . . . . . . . 10 |- (j = 0 -> (0 - j) = 0)
4241opreq2d 3967 . . . . . . . . 9 |- (j = 0 -> (0...(0 - j)) = (0...0))
4310opreq1d 3966 . . . . . . . . . 10 |- (j = 0 -> (A x. B) = ([_0 / j]_A x. B))
4443adantr 389 . . . . . . . . 9 |- ((j = 0 /\ k e. (0...0)) -> (A x. B) = ([_0 / j]_A x. B))
4542, 44sumeq12rdv 6942 . . . . . . . 8 |- (j = 0 -> sum_k e. (0...(0 - j))(A x. B) = sum_k e. (0...0)([_0 / j]_A x. B))
4639, 45fsum1f 6953 . . . . . . 7 |- ((sum_k e. (0...0)([_0 / j]_A x. B) e. V /\ 0 e. ZZ) -> sum_j e. (0...0)sum_k e. (0...(0 - j))(A x. B) = sum_k e. (0...0)([_0 / j]_A x. B))
4735, 3, 46mp2an 696 . . . . . 6 |- sum_j e. (0...0)sum_k e. (0...(0 - j))(A x. B) = sum_k e. (0...0)([_0 / j]_A x. B)
48 ax-17 969 . . . . . . . . 9 |- (m e. [_0 / j]_A -> A.k m e. [_0 / j]_A)
4948, 17, 20hbopr 3972 . . . . . . . 8 |- (m e. ([_0 / j]_A x. [_0 / k]_B) -> A.k m e. ([_0 / j]_A x. [_0 / k]_B))
50 csbeq1a 2002 . . . . . . . . 9 |- (k = 0 -> B = [_0 / k]_B)
5150opreq2d 3967 . . . . . . . 8 |- (k = 0 -> ([_0 / j]_A x. B) = ([_0 / j]_A x. [_0 / k]_B))
5249, 51fsum1f 6953 . . . . . . 7 |- ((([_0 / j]_A x. [_0 / k]_B) e. V /\ 0 e. ZZ) -> sum_k e. (0...0)([_0 / j]_A x. B) = ([_0 / j]_A x. [_0 / k]_B))
532, 3, 52mp2an 696 . . . . . 6 |- sum_k e. (0...0)([_0 / j]_A x. B) = ([_0 / j]_A x. [_0 / k]_B)
5447, 53eqtr 1492 . . . . 5 |- sum_j e. (0...0)sum_k e. (0...(0 - j))(A x. B) = ([_0 / j]_A x. [_0 / k]_B)
5513, 34, 543eqtr4r 1503 . . . 4 |- sum_j e. (0...0)sum_k e. (0...(0 - j))(A x. B) = sum_k e. (0...0)sum_j e. (0...k)(A x. [_(k - j) / k]_B)
5655a1i 8 . . 3 |- ((A.j e. (0...0)A e. CC /\ A.k e. (0...0)B e. CC) -> sum_j e. (0...0)sum_k e. (0...(0 - j))(A x. B) = sum_k e. (0...0)sum_j e. (0...k)(A x. [_(k - j) / k]_B))
57 opreq2 3960 . . . . . 6 |- (m = 0 -> (0...m) = (0...0))
5857raleq1d 1786 . . . . 5 |- (m = 0 -> (A.j e. (0...m)A e. CC <->