Metamath Proof Explorer


Theorem fsum0diag2

Description: Two ways to express "the sum of A ( j , k ) over the triangular region 0 <_ j , 0 <_ k , j + k <_ N ". (Contributed by Mario Carneiro, 21-Jul-2014)

Ref Expression
Hypotheses fsum0diag2.1 x=kB=A
fsum0diag2.2 x=kjB=C
fsum0diag2.3 φj0Nk0NjA
Assertion fsum0diag2 φj=0Nk=0NjA=k=0Nj=0kC

Proof

Step Hyp Ref Expression
1 fsum0diag2.1 x=kB=A
2 fsum0diag2.2 x=kjB=C
3 fsum0diag2.3 φj0Nk0NjA
4 fznn0sub2 n0NjN-j-n0Nj
5 4 ad2antll φj0Nn0NjN-j-n0Nj
6 3 expr φj0Nk0NjA
7 6 ralrimiv φj0Nk0NjA
8 1 eleq1d x=kBA
9 8 cbvralvw x0NjBk0NjA
10 7 9 sylibr φj0Nx0NjB
11 10 adantrr φj0Nn0Njx0NjB
12 nfcsb1v _xN-j-n/xB
13 12 nfel1 xN-j-n/xB
14 csbeq1a x=N-j-nB=N-j-n/xB
15 14 eleq1d x=N-j-nBN-j-n/xB
16 13 15 rspc N-j-n0Njx0NjBN-j-n/xB
17 5 11 16 sylc φj0Nn0NjN-j-n/xB
18 17 fsum0diag φj=0Nn=0NjN-j-n/xB=n=0Nj=0NnN-j-n/xB
19 nfcsb1v _xk/xB
20 19 nfel1 xk/xB
21 csbeq1a x=kB=k/xB
22 21 eleq1d x=kBk/xB
23 20 22 rspc k0Njx0NjBk/xB
24 10 23 mpan9 φj0Nk0Njk/xB
25 csbeq1 k=0+Nj-nk/xB=0+Nj-n/xB
26 24 25 fsumrev2 φj0Nk=0Njk/xB=n=0Nj0+Nj-n/xB
27 elfz3nn0 j0NN0
28 27 ad2antlr φj0Nn0NjN0
29 elfzelz j0Nj
30 29 ad2antlr φj0Nn0Njj
31 nn0cn N0N
32 zcn jj
33 subcl NjNj
34 31 32 33 syl2an N0jNj
35 28 30 34 syl2anc φj0Nn0NjNj
36 addlid Nj0+N-j=Nj
37 35 36 syl φj0Nn0Nj0+N-j=Nj
38 37 oveq1d φj0Nn0Nj0+Nj-n=N-j-n
39 38 csbeq1d φj0Nn0Nj0+Nj-n/xB=N-j-n/xB
40 39 sumeq2dv φj0Nn=0Nj0+Nj-n/xB=n=0NjN-j-n/xB
41 26 40 eqtrd φj0Nk=0Njk/xB=n=0NjN-j-n/xB
42 41 sumeq2dv φj=0Nk=0Njk/xB=j=0Nn=0NjN-j-n/xB
43 elfz3nn0 n0NN0
44 43 adantl φn0NN0
45 addlid N0+N=N
46 44 31 45 3syl φn0N0+N=N
47 46 oveq1d φn0N0+N-n=Nn
48 47 oveq2d φn0N00+N-n=0Nn
49 47 oveq1d φn0N0+N-n-j=N-n-j
50 49 adantr φn0Nj0Nn0+N-n-j=N-n-j
51 43 ad2antlr φn0Nj0NnN0
52 elfzelz n0Nn
53 52 ad2antlr φn0Nj0Nnn
54 elfzelz j0Nnj
55 54 adantl φn0Nj0Nnj
56 zcn nn
57 sub32 NnjN-n-j=N-j-n
58 31 56 32 57 syl3an N0njN-n-j=N-j-n
59 51 53 55 58 syl3anc φn0Nj0NnN-n-j=N-j-n
60 50 59 eqtrd φn0Nj0Nn0+N-n-j=N-j-n
61 60 csbeq1d φn0Nj0Nn0+N-n-j/xB=N-j-n/xB
62 48 61 sumeq12rdv φn0Nj=00+N-n0+N-n-j/xB=j=0NnN-j-n/xB
63 62 sumeq2dv φn=0Nj=00+N-n0+N-n-j/xB=n=0Nj=0NnN-j-n/xB
64 18 42 63 3eqtr4d φj=0Nk=0Njk/xB=n=0Nj=00+N-n0+N-n-j/xB
65 fzfid φk0N0kFin
66 elfzuz3 j0kkj
67 66 adantl φk0Nj0kkj
68 elfzuz3 k0NNk
69 68 adantl φk0NNk
70 69 adantr φk0Nj0kNk
71 elfzuzb kjNkjNk
72 67 70 71 sylanbrc φk0Nj0kkjN
73 elfzelz j0kj
74 73 adantl φk0Nj0kj
75 elfzel2 k0NN
76 75 ad2antlr φk0Nj0kN
77 elfzelz k0Nk
78 77 ad2antlr φk0Nj0kk
79 fzsubel jNkjkjNkjjjNj
80 74 76 78 74 79 syl22anc φk0Nj0kkjNkjjjNj
81 72 80 mpbid φk0Nj0kkjjjNj
82 subid jjj=0
83 74 32 82 3syl φk0Nj0kjj=0
84 83 oveq1d φk0Nj0kjjNj=0Nj
85 81 84 eleqtrd φk0Nj0kkj0Nj
86 simpll φk0Nj0kφ
87 fzss2 Nk0k0N
88 69 87 syl φk0N0k0N
89 88 sselda φk0Nj0kj0N
90 86 89 10 syl2anc φk0Nj0kx0NjB
91 nfcsb1v _xkj/xB
92 91 nfel1 xkj/xB
93 csbeq1a x=kjB=kj/xB
94 93 eleq1d x=kjBkj/xB
95 92 94 rspc kj0Njx0NjBkj/xB
96 85 90 95 sylc φk0Nj0kkj/xB
97 65 96 fsumcl φk0Nj=0kkj/xB
98 oveq2 k=0+N-n0k=00+N-n
99 oveq1 k=0+N-nkj=0+N-n-j
100 99 csbeq1d k=0+N-nkj/xB=0+N-n-j/xB
101 100 adantr k=0+N-nj0kkj/xB=0+N-n-j/xB
102 98 101 sumeq12dv k=0+N-nj=0kkj/xB=j=00+N-n0+N-n-j/xB
103 97 102 fsumrev2 φk=0Nj=0kkj/xB=n=0Nj=00+N-n0+N-n-j/xB
104 64 103 eqtr4d φj=0Nk=0Njk/xB=k=0Nj=0kkj/xB
105 vex kV
106 105 1 csbie k/xB=A
107 106 a1i j0Nk0Njk/xB=A
108 107 sumeq2dv j0Nk=0Njk/xB=k=0NjA
109 108 sumeq2i j=0Nk=0Njk/xB=j=0Nk=0NjA
110 ovex kjV
111 110 2 csbie kj/xB=C
112 111 a1i k0Nj0kkj/xB=C
113 112 sumeq2dv k0Nj=0kkj/xB=j=0kC
114 113 sumeq2i k=0Nj=0kkj/xB=k=0Nj=0kC
115 104 109 114 3eqtr3g φj=0Nk=0NjA=k=0Nj=0kC