This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Write a group sum over a cartesian product as a double sum. (Contributed by Mario Carneiro, 28-Dec-2014) (Revised by AV, 9-Jun-2019)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | gsumxp.b | |- B = ( Base ` G ) |
|
| gsumxp.z | |- .0. = ( 0g ` G ) |
||
| gsumxp.g | |- ( ph -> G e. CMnd ) |
||
| gsumxp.a | |- ( ph -> A e. V ) |
||
| gsumxp.r | |- ( ph -> C e. W ) |
||
| gsumxp.f | |- ( ph -> F : ( A X. C ) --> B ) |
||
| gsumxp.w | |- ( ph -> F finSupp .0. ) |
||
| Assertion | gsumxp | |- ( ph -> ( G gsum F ) = ( G gsum ( j e. A |-> ( G gsum ( k e. C |-> ( j F k ) ) ) ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | gsumxp.b | |- B = ( Base ` G ) |
|
| 2 | gsumxp.z | |- .0. = ( 0g ` G ) |
|
| 3 | gsumxp.g | |- ( ph -> G e. CMnd ) |
|
| 4 | gsumxp.a | |- ( ph -> A e. V ) |
|
| 5 | gsumxp.r | |- ( ph -> C e. W ) |
|
| 6 | gsumxp.f | |- ( ph -> F : ( A X. C ) --> B ) |
|
| 7 | gsumxp.w | |- ( ph -> F finSupp .0. ) |
|
| 8 | 4 5 | xpexd | |- ( ph -> ( A X. C ) e. _V ) |
| 9 | relxp | |- Rel ( A X. C ) |
|
| 10 | 9 | a1i | |- ( ph -> Rel ( A X. C ) ) |
| 11 | dmxpss | |- dom ( A X. C ) C_ A |
|
| 12 | 11 | a1i | |- ( ph -> dom ( A X. C ) C_ A ) |
| 13 | 1 2 3 8 10 4 12 6 7 | gsum2d | |- ( ph -> ( G gsum F ) = ( G gsum ( j e. A |-> ( G gsum ( k e. ( ( A X. C ) " { j } ) |-> ( j F k ) ) ) ) ) ) |
| 14 | df-ima | |- ( ( A X. C ) " { j } ) = ran ( ( A X. C ) |` { j } ) |
|
| 15 | df-res | |- ( ( A X. C ) |` { j } ) = ( ( A X. C ) i^i ( { j } X. _V ) ) |
|
| 16 | inxp | |- ( ( A X. C ) i^i ( { j } X. _V ) ) = ( ( A i^i { j } ) X. ( C i^i _V ) ) |
|
| 17 | 15 16 | eqtri | |- ( ( A X. C ) |` { j } ) = ( ( A i^i { j } ) X. ( C i^i _V ) ) |
| 18 | simpr | |- ( ( ph /\ j e. A ) -> j e. A ) |
|
| 19 | 18 | snssd | |- ( ( ph /\ j e. A ) -> { j } C_ A ) |
| 20 | sseqin2 | |- ( { j } C_ A <-> ( A i^i { j } ) = { j } ) |
|
| 21 | 19 20 | sylib | |- ( ( ph /\ j e. A ) -> ( A i^i { j } ) = { j } ) |
| 22 | inv1 | |- ( C i^i _V ) = C |
|
| 23 | 22 | a1i | |- ( ( ph /\ j e. A ) -> ( C i^i _V ) = C ) |
| 24 | 21 23 | xpeq12d | |- ( ( ph /\ j e. A ) -> ( ( A i^i { j } ) X. ( C i^i _V ) ) = ( { j } X. C ) ) |
| 25 | 17 24 | eqtrid | |- ( ( ph /\ j e. A ) -> ( ( A X. C ) |` { j } ) = ( { j } X. C ) ) |
| 26 | 25 | rneqd | |- ( ( ph /\ j e. A ) -> ran ( ( A X. C ) |` { j } ) = ran ( { j } X. C ) ) |
| 27 | vex | |- j e. _V |
|
| 28 | 27 | snnz | |- { j } =/= (/) |
| 29 | rnxp | |- ( { j } =/= (/) -> ran ( { j } X. C ) = C ) |
|
| 30 | 28 29 | ax-mp | |- ran ( { j } X. C ) = C |
| 31 | 26 30 | eqtrdi | |- ( ( ph /\ j e. A ) -> ran ( ( A X. C ) |` { j } ) = C ) |
| 32 | 14 31 | eqtrid | |- ( ( ph /\ j e. A ) -> ( ( A X. C ) " { j } ) = C ) |
| 33 | 32 | mpteq1d | |- ( ( ph /\ j e. A ) -> ( k e. ( ( A X. C ) " { j } ) |-> ( j F k ) ) = ( k e. C |-> ( j F k ) ) ) |
| 34 | 33 | oveq2d | |- ( ( ph /\ j e. A ) -> ( G gsum ( k e. ( ( A X. C ) " { j } ) |-> ( j F k ) ) ) = ( G gsum ( k e. C |-> ( j F k ) ) ) ) |
| 35 | 34 | mpteq2dva | |- ( ph -> ( j e. A |-> ( G gsum ( k e. ( ( A X. C ) " { j } ) |-> ( j F k ) ) ) ) = ( j e. A |-> ( G gsum ( k e. C |-> ( j F k ) ) ) ) ) |
| 36 | 35 | oveq2d | |- ( ph -> ( G gsum ( j e. A |-> ( G gsum ( k e. ( ( A X. C ) " { j } ) |-> ( j F k ) ) ) ) ) = ( G gsum ( j e. A |-> ( G gsum ( k e. C |-> ( j F k ) ) ) ) ) ) |
| 37 | 13 36 | eqtrd | |- ( ph -> ( G gsum F ) = ( G gsum ( j e. A |-> ( G gsum ( k e. C |-> ( j F k ) ) ) ) ) ) |