This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Express a finite sum over a two-dimensional range as a double sum. See also gsum2d . (Contributed by Thierry Arnoux, 27-Apr-2020)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | gsummpt2d.c | |- F/_ z C |
|
| gsummpt2d.0 | |- F/ y ph |
||
| gsummpt2d.b | |- B = ( Base ` W ) |
||
| gsummpt2d.1 | |- ( x = <. y , z >. -> C = D ) |
||
| gsummpt2d.r | |- ( ph -> Rel A ) |
||
| gsummpt2d.2 | |- ( ph -> A e. Fin ) |
||
| gsummpt2d.m | |- ( ph -> W e. CMnd ) |
||
| gsummpt2d.3 | |- ( ( ph /\ x e. A ) -> C e. B ) |
||
| Assertion | gsummpt2d | |- ( ph -> ( W gsum ( x e. A |-> C ) ) = ( W gsum ( y e. dom A |-> ( W gsum ( z e. ( A " { y } ) |-> D ) ) ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | gsummpt2d.c | |- F/_ z C |
|
| 2 | gsummpt2d.0 | |- F/ y ph |
|
| 3 | gsummpt2d.b | |- B = ( Base ` W ) |
|
| 4 | gsummpt2d.1 | |- ( x = <. y , z >. -> C = D ) |
|
| 5 | gsummpt2d.r | |- ( ph -> Rel A ) |
|
| 6 | gsummpt2d.2 | |- ( ph -> A e. Fin ) |
|
| 7 | gsummpt2d.m | |- ( ph -> W e. CMnd ) |
|
| 8 | gsummpt2d.3 | |- ( ( ph /\ x e. A ) -> C e. B ) |
|
| 9 | eqid | |- ( 0g ` W ) = ( 0g ` W ) |
|
| 10 | 6 | dmexd | |- ( ph -> dom A e. _V ) |
| 11 | 1stdm | |- ( ( Rel A /\ x e. A ) -> ( 1st ` x ) e. dom A ) |
|
| 12 | 5 11 | sylan | |- ( ( ph /\ x e. A ) -> ( 1st ` x ) e. dom A ) |
| 13 | fo1st | |- 1st : _V -onto-> _V |
|
| 14 | fofn | |- ( 1st : _V -onto-> _V -> 1st Fn _V ) |
|
| 15 | dffn5 | |- ( 1st Fn _V <-> 1st = ( x e. _V |-> ( 1st ` x ) ) ) |
|
| 16 | 15 | biimpi | |- ( 1st Fn _V -> 1st = ( x e. _V |-> ( 1st ` x ) ) ) |
| 17 | 13 14 16 | mp2b | |- 1st = ( x e. _V |-> ( 1st ` x ) ) |
| 18 | 17 | reseq1i | |- ( 1st |` A ) = ( ( x e. _V |-> ( 1st ` x ) ) |` A ) |
| 19 | ssv | |- A C_ _V |
|
| 20 | resmpt | |- ( A C_ _V -> ( ( x e. _V |-> ( 1st ` x ) ) |` A ) = ( x e. A |-> ( 1st ` x ) ) ) |
|
| 21 | 19 20 | ax-mp | |- ( ( x e. _V |-> ( 1st ` x ) ) |` A ) = ( x e. A |-> ( 1st ` x ) ) |
| 22 | 18 21 | eqtri | |- ( 1st |` A ) = ( x e. A |-> ( 1st ` x ) ) |
| 23 | 3 9 7 6 10 8 12 22 | gsummpt2co | |- ( ph -> ( W gsum ( x e. A |-> C ) ) = ( W gsum ( y e. dom A |-> ( W gsum ( x e. ( `' ( 1st |` A ) " { y } ) |-> C ) ) ) ) ) |
| 24 | 7 | adantr | |- ( ( ph /\ y e. dom A ) -> W e. CMnd ) |
| 25 | 6 | adantr | |- ( ( ph /\ y e. dom A ) -> A e. Fin ) |
| 26 | imaexg | |- ( A e. Fin -> ( A " { y } ) e. _V ) |
|
| 27 | 25 26 | syl | |- ( ( ph /\ y e. dom A ) -> ( A " { y } ) e. _V ) |
| 28 | 4 | adantl | |- ( ( ( ( ( ph /\ y e. dom A ) /\ z e. ( A " { y } ) ) /\ x e. A ) /\ x = <. y , z >. ) -> C = D ) |
| 29 | simp-4l | |- ( ( ( ( ( ph /\ y e. dom A ) /\ z e. ( A " { y } ) ) /\ x e. A ) /\ x = <. y , z >. ) -> ph ) |
|
| 30 | simplr | |- ( ( ( ( ( ph /\ y e. dom A ) /\ z e. ( A " { y } ) ) /\ x e. A ) /\ x = <. y , z >. ) -> x e. A ) |
|
| 31 | 29 30 8 | syl2anc | |- ( ( ( ( ( ph /\ y e. dom A ) /\ z e. ( A " { y } ) ) /\ x e. A ) /\ x = <. y , z >. ) -> C e. B ) |
| 32 | 28 31 | eqeltrrd | |- ( ( ( ( ( ph /\ y e. dom A ) /\ z e. ( A " { y } ) ) /\ x e. A ) /\ x = <. y , z >. ) -> D e. B ) |
| 33 | vex | |- y e. _V |
|
| 34 | vex | |- z e. _V |
|
| 35 | 33 34 | elimasn | |- ( z e. ( A " { y } ) <-> <. y , z >. e. A ) |
| 36 | 35 | biimpi | |- ( z e. ( A " { y } ) -> <. y , z >. e. A ) |
| 37 | 36 | adantl | |- ( ( ( ph /\ y e. dom A ) /\ z e. ( A " { y } ) ) -> <. y , z >. e. A ) |
| 38 | simpr | |- ( ( ( ( ph /\ y e. dom A ) /\ z e. ( A " { y } ) ) /\ x = <. y , z >. ) -> x = <. y , z >. ) |
|
| 39 | 38 | eqeq1d | |- ( ( ( ( ph /\ y e. dom A ) /\ z e. ( A " { y } ) ) /\ x = <. y , z >. ) -> ( x = <. y , z >. <-> <. y , z >. = <. y , z >. ) ) |
| 40 | eqidd | |- ( ( ( ph /\ y e. dom A ) /\ z e. ( A " { y } ) ) -> <. y , z >. = <. y , z >. ) |
|
| 41 | 37 39 40 | rspcedvd | |- ( ( ( ph /\ y e. dom A ) /\ z e. ( A " { y } ) ) -> E. x e. A x = <. y , z >. ) |
| 42 | 32 41 | r19.29a | |- ( ( ( ph /\ y e. dom A ) /\ z e. ( A " { y } ) ) -> D e. B ) |
| 43 | 42 | fmpttd | |- ( ( ph /\ y e. dom A ) -> ( z e. ( A " { y } ) |-> D ) : ( A " { y } ) --> B ) |
| 44 | eqid | |- ( z e. ( A " { y } ) |-> D ) = ( z e. ( A " { y } ) |-> D ) |
|
| 45 | imafi2 | |- ( A e. Fin -> ( A " { y } ) e. Fin ) |
|
| 46 | 6 45 | syl | |- ( ph -> ( A " { y } ) e. Fin ) |
| 47 | 46 | adantr | |- ( ( ph /\ y e. dom A ) -> ( A " { y } ) e. Fin ) |
| 48 | fvex | |- ( 0g ` W ) e. _V |
|
| 49 | 48 | a1i | |- ( ( ph /\ y e. dom A ) -> ( 0g ` W ) e. _V ) |
| 50 | 44 47 42 49 | fsuppmptdm | |- ( ( ph /\ y e. dom A ) -> ( z e. ( A " { y } ) |-> D ) finSupp ( 0g ` W ) ) |
| 51 | 2ndconst | |- ( y e. dom A -> ( 2nd |` ( { y } X. ( A " { y } ) ) ) : ( { y } X. ( A " { y } ) ) -1-1-onto-> ( A " { y } ) ) |
|
| 52 | 51 | adantl | |- ( ( ph /\ y e. dom A ) -> ( 2nd |` ( { y } X. ( A " { y } ) ) ) : ( { y } X. ( A " { y } ) ) -1-1-onto-> ( A " { y } ) ) |
| 53 | 1stpreimas | |- ( ( Rel A /\ y e. dom A ) -> ( `' ( 1st |` A ) " { y } ) = ( { y } X. ( A " { y } ) ) ) |
|
| 54 | 5 53 | sylan | |- ( ( ph /\ y e. dom A ) -> ( `' ( 1st |` A ) " { y } ) = ( { y } X. ( A " { y } ) ) ) |
| 55 | 54 | reseq2d | |- ( ( ph /\ y e. dom A ) -> ( 2nd |` ( `' ( 1st |` A ) " { y } ) ) = ( 2nd |` ( { y } X. ( A " { y } ) ) ) ) |
| 56 | 55 | f1oeq1d | |- ( ( ph /\ y e. dom A ) -> ( ( 2nd |` ( `' ( 1st |` A ) " { y } ) ) : ( { y } X. ( A " { y } ) ) -1-1-onto-> ( A " { y } ) <-> ( 2nd |` ( { y } X. ( A " { y } ) ) ) : ( { y } X. ( A " { y } ) ) -1-1-onto-> ( A " { y } ) ) ) |
| 57 | 52 56 | mpbird | |- ( ( ph /\ y e. dom A ) -> ( 2nd |` ( `' ( 1st |` A ) " { y } ) ) : ( { y } X. ( A " { y } ) ) -1-1-onto-> ( A " { y } ) ) |
| 58 | 3 9 24 27 43 50 57 | gsumf1o | |- ( ( ph /\ y e. dom A ) -> ( W gsum ( z e. ( A " { y } ) |-> D ) ) = ( W gsum ( ( z e. ( A " { y } ) |-> D ) o. ( 2nd |` ( `' ( 1st |` A ) " { y } ) ) ) ) ) |
| 59 | simpr | |- ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) -> x e. ( `' ( 1st |` A ) " { y } ) ) |
|
| 60 | 54 | adantr | |- ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) -> ( `' ( 1st |` A ) " { y } ) = ( { y } X. ( A " { y } ) ) ) |
| 61 | 59 60 | eleqtrd | |- ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) -> x e. ( { y } X. ( A " { y } ) ) ) |
| 62 | xp2nd | |- ( x e. ( { y } X. ( A " { y } ) ) -> ( 2nd ` x ) e. ( A " { y } ) ) |
|
| 63 | 61 62 | syl | |- ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) -> ( 2nd ` x ) e. ( A " { y } ) ) |
| 64 | 63 | ralrimiva | |- ( ( ph /\ y e. dom A ) -> A. x e. ( `' ( 1st |` A ) " { y } ) ( 2nd ` x ) e. ( A " { y } ) ) |
| 65 | fo2nd | |- 2nd : _V -onto-> _V |
|
| 66 | fofn | |- ( 2nd : _V -onto-> _V -> 2nd Fn _V ) |
|
| 67 | dffn5 | |- ( 2nd Fn _V <-> 2nd = ( x e. _V |-> ( 2nd ` x ) ) ) |
|
| 68 | 67 | biimpi | |- ( 2nd Fn _V -> 2nd = ( x e. _V |-> ( 2nd ` x ) ) ) |
| 69 | 65 66 68 | mp2b | |- 2nd = ( x e. _V |-> ( 2nd ` x ) ) |
| 70 | 69 | reseq1i | |- ( 2nd |` ( `' ( 1st |` A ) " { y } ) ) = ( ( x e. _V |-> ( 2nd ` x ) ) |` ( `' ( 1st |` A ) " { y } ) ) |
| 71 | ssv | |- ( `' ( 1st |` A ) " { y } ) C_ _V |
|
| 72 | resmpt | |- ( ( `' ( 1st |` A ) " { y } ) C_ _V -> ( ( x e. _V |-> ( 2nd ` x ) ) |` ( `' ( 1st |` A ) " { y } ) ) = ( x e. ( `' ( 1st |` A ) " { y } ) |-> ( 2nd ` x ) ) ) |
|
| 73 | 71 72 | ax-mp | |- ( ( x e. _V |-> ( 2nd ` x ) ) |` ( `' ( 1st |` A ) " { y } ) ) = ( x e. ( `' ( 1st |` A ) " { y } ) |-> ( 2nd ` x ) ) |
| 74 | 70 73 | eqtri | |- ( 2nd |` ( `' ( 1st |` A ) " { y } ) ) = ( x e. ( `' ( 1st |` A ) " { y } ) |-> ( 2nd ` x ) ) |
| 75 | 74 | a1i | |- ( ( ph /\ y e. dom A ) -> ( 2nd |` ( `' ( 1st |` A ) " { y } ) ) = ( x e. ( `' ( 1st |` A ) " { y } ) |-> ( 2nd ` x ) ) ) |
| 76 | eqidd | |- ( ( ph /\ y e. dom A ) -> ( z e. ( A " { y } ) |-> D ) = ( z e. ( A " { y } ) |-> D ) ) |
|
| 77 | 64 75 76 | fmptcos | |- ( ( ph /\ y e. dom A ) -> ( ( z e. ( A " { y } ) |-> D ) o. ( 2nd |` ( `' ( 1st |` A ) " { y } ) ) ) = ( x e. ( `' ( 1st |` A ) " { y } ) |-> [_ ( 2nd ` x ) / z ]_ D ) ) |
| 78 | nfv | |- F/ z ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) |
|
| 79 | 1 | a1i | |- ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) -> F/_ z C ) |
| 80 | 61 | adantr | |- ( ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) /\ z = ( 2nd ` x ) ) -> x e. ( { y } X. ( A " { y } ) ) ) |
| 81 | xp1st | |- ( x e. ( { y } X. ( A " { y } ) ) -> ( 1st ` x ) e. { y } ) |
|
| 82 | 80 81 | syl | |- ( ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) /\ z = ( 2nd ` x ) ) -> ( 1st ` x ) e. { y } ) |
| 83 | fvex | |- ( 1st ` x ) e. _V |
|
| 84 | 83 | elsn | |- ( ( 1st ` x ) e. { y } <-> ( 1st ` x ) = y ) |
| 85 | 82 84 | sylib | |- ( ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) /\ z = ( 2nd ` x ) ) -> ( 1st ` x ) = y ) |
| 86 | simpr | |- ( ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) /\ z = ( 2nd ` x ) ) -> z = ( 2nd ` x ) ) |
|
| 87 | 86 | eqcomd | |- ( ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) /\ z = ( 2nd ` x ) ) -> ( 2nd ` x ) = z ) |
| 88 | eqopi | |- ( ( x e. ( { y } X. ( A " { y } ) ) /\ ( ( 1st ` x ) = y /\ ( 2nd ` x ) = z ) ) -> x = <. y , z >. ) |
|
| 89 | 80 85 87 88 | syl12anc | |- ( ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) /\ z = ( 2nd ` x ) ) -> x = <. y , z >. ) |
| 90 | 89 4 | syl | |- ( ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) /\ z = ( 2nd ` x ) ) -> C = D ) |
| 91 | 90 | eqcomd | |- ( ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) /\ z = ( 2nd ` x ) ) -> D = C ) |
| 92 | 78 79 63 91 | csbiedf | |- ( ( ( ph /\ y e. dom A ) /\ x e. ( `' ( 1st |` A ) " { y } ) ) -> [_ ( 2nd ` x ) / z ]_ D = C ) |
| 93 | 92 | mpteq2dva | |- ( ( ph /\ y e. dom A ) -> ( x e. ( `' ( 1st |` A ) " { y } ) |-> [_ ( 2nd ` x ) / z ]_ D ) = ( x e. ( `' ( 1st |` A ) " { y } ) |-> C ) ) |
| 94 | 77 93 | eqtrd | |- ( ( ph /\ y e. dom A ) -> ( ( z e. ( A " { y } ) |-> D ) o. ( 2nd |` ( `' ( 1st |` A ) " { y } ) ) ) = ( x e. ( `' ( 1st |` A ) " { y } ) |-> C ) ) |
| 95 | 94 | oveq2d | |- ( ( ph /\ y e. dom A ) -> ( W gsum ( ( z e. ( A " { y } ) |-> D ) o. ( 2nd |` ( `' ( 1st |` A ) " { y } ) ) ) ) = ( W gsum ( x e. ( `' ( 1st |` A ) " { y } ) |-> C ) ) ) |
| 96 | 58 95 | eqtr2d | |- ( ( ph /\ y e. dom A ) -> ( W gsum ( x e. ( `' ( 1st |` A ) " { y } ) |-> C ) ) = ( W gsum ( z e. ( A " { y } ) |-> D ) ) ) |
| 97 | 2 96 | mpteq2da | |- ( ph -> ( y e. dom A |-> ( W gsum ( x e. ( `' ( 1st |` A ) " { y } ) |-> C ) ) ) = ( y e. dom A |-> ( W gsum ( z e. ( A " { y } ) |-> D ) ) ) ) |
| 98 | 97 | oveq2d | |- ( ph -> ( W gsum ( y e. dom A |-> ( W gsum ( x e. ( `' ( 1st |` A ) " { y } ) |-> C ) ) ) ) = ( W gsum ( y e. dom A |-> ( W gsum ( z e. ( A " { y } ) |-> D ) ) ) ) ) |
| 99 | 23 98 | eqtrd | |- ( ph -> ( W gsum ( x e. A |-> C ) ) = ( W gsum ( y e. dom A |-> ( W gsum ( z e. ( A " { y } ) |-> D ) ) ) ) ) |