Metamath Proof Explorer


Theorem gsumxp

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=BaseG
gsumxp.z 0˙=0G
gsumxp.g φGCMnd
gsumxp.a φAV
gsumxp.r φCW
gsumxp.f φF:A×CB
gsumxp.w φfinSupp0˙F
Assertion gsumxp φGF=GjAGkCjFk

Proof

Step Hyp Ref Expression
1 gsumxp.b B=BaseG
2 gsumxp.z 0˙=0G
3 gsumxp.g φGCMnd
4 gsumxp.a φAV
5 gsumxp.r φCW
6 gsumxp.f φF:A×CB
7 gsumxp.w φfinSupp0˙F
8 4 5 xpexd φA×CV
9 relxp RelA×C
10 9 a1i φRelA×C
11 dmxpss domA×CA
12 11 a1i φdomA×CA
13 1 2 3 8 10 4 12 6 7 gsum2d φGF=GjAGkA×CjjFk
14 df-ima A×Cj=ranA×Cj
15 df-res A×Cj=A×Cj×V
16 inxp A×Cj×V=Aj×CV
17 15 16 eqtri A×Cj=Aj×CV
18 simpr φjAjA
19 18 snssd φjAjA
20 sseqin2 jAAj=j
21 19 20 sylib φjAAj=j
22 inv1 CV=C
23 22 a1i φjACV=C
24 21 23 xpeq12d φjAAj×CV=j×C
25 17 24 eqtrid φjAA×Cj=j×C
26 25 rneqd φjAranA×Cj=ranj×C
27 vex jV
28 27 snnz j
29 rnxp jranj×C=C
30 28 29 ax-mp ranj×C=C
31 26 30 eqtrdi φjAranA×Cj=C
32 14 31 eqtrid φjAA×Cj=C
33 32 mpteq1d φjAkA×CjjFk=kCjFk
34 33 oveq2d φjAGkA×CjjFk=GkCjFk
35 34 mpteq2dva φjAGkA×CjjFk=jAGkCjFk
36 35 oveq2d φGjAGkA×CjjFk=GjAGkCjFk
37 13 36 eqtrd φGF=GjAGkCjFk