Metamath Proof Explorer


Theorem gsummpt2d

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 ⊢ Ⅎ _ z C
gsummpt2d.0 ⊢ Ⅎ y φ
gsummpt2d.b ⊢ B = Base W
gsummpt2d.1 ⊢ x = y z → C = D
gsummpt2d.r ⊢ φ → Rel ⁡ A
gsummpt2d.2 ⊢ φ → A ∈ Fin
gsummpt2d.m ⊢ φ → W ∈ CMnd
gsummpt2d.3 ⊢ φ ∧ x ∈ A → C ∈ B
Assertion gsummpt2d ⊢ φ → ∑ W x ∈ A C = ∑ W y ∈ dom ⁡ A ∑ W z ∈ A y D

Proof

Step Hyp Ref Expression
1 gsummpt2d.c ⊢ Ⅎ _ z C
2 gsummpt2d.0 ⊢ Ⅎ y φ
3 gsummpt2d.b ⊢ B = Base W
4 gsummpt2d.1 ⊢ x = y z → C = D
5 gsummpt2d.r ⊢ φ → Rel ⁡ A
6 gsummpt2d.2 ⊢ φ → A ∈ Fin
7 gsummpt2d.m ⊢ φ → W ∈ CMnd
8 gsummpt2d.3 ⊢ φ ∧ x ∈ A → C ∈ B
9 eqid ⊢ 0 W = 0 W
10 6 dmexd ⊢ φ → dom ⁡ A ∈ V
11 1stdm ⊢ Rel ⁡ A ∧ x ∈ A → 1 st ⁡ x ∈ dom ⁡ A
12 5 11 sylan ⊢ φ ∧ x ∈ A → 1 st ⁡ x ∈ dom ⁡ A
13 fo1st ⊢ 1 st : V ⟶ onto V
14 fofn ⊢ 1 st : V ⟶ onto V → 1 st Fn V
15 dffn5 ⊢ 1 st Fn V ↔ 1 st = x ∈ V ⟼ 1 st ⁡ x
16 15 biimpi ⊢ 1 st Fn V → 1 st = x ∈ V ⟼ 1 st ⁡ x
17 13 14 16 mp2b ⊢ 1 st = x ∈ V ⟼ 1 st ⁡ x
18 17 reseq1i ⊢ 1 st ↾ A = x ∈ V ⟼ 1 st ⁡ x ↾ A
19 ssv ⊢ A ⊆ V
20 resmpt ⊢ A ⊆ V → x ∈ V ⟼ 1 st ⁡ x ↾ A = x ∈ A ⟼ 1 st ⁡ x
21 19 20 ax-mp ⊢ x ∈ V ⟼ 1 st ⁡ x ↾ A = x ∈ A ⟼ 1 st ⁡ x
22 18 21 eqtri ⊢ 1 st ↾ A = x ∈ A ⟼ 1 st ⁡ x
23 3 9 7 6 10 8 12 22 gsummpt2co ⊢ φ → ∑ W x ∈ A C = ∑ W y ∈ dom ⁡ A ∑ W x ∈ 1 st ↾ A -1 y C
24 7 adantr ⊢ φ ∧ y ∈ dom ⁡ A → W ∈ CMnd
25 6 adantr ⊢ φ ∧ y ∈ dom ⁡ A → A ∈ Fin
26 imaexg ⊢ A ∈ Fin → A y ∈ V
27 25 26 syl ⊢ φ ∧ y ∈ dom ⁡ A → A y ∈ V
28 4 adantl ⊢ φ ∧ y ∈ dom ⁡ A ∧ z ∈ A y ∧ x ∈ A ∧ x = y z → C = D
29 simp-4l ⊢ φ ∧ y ∈ dom ⁡ A ∧ z ∈ A y ∧ x ∈ A ∧ x = y z → φ
30 simplr ⊢ φ ∧ y ∈ dom ⁡ A ∧ z ∈ A y ∧ x ∈ A ∧ x = y z → x ∈ A
31 29 30 8 syl2anc ⊢ φ ∧ y ∈ dom ⁡ A ∧ z ∈ A y ∧ x ∈ A ∧ x = y z → C ∈ B
32 28 31 eqeltrrd ⊢ φ ∧ y ∈ dom ⁡ A ∧ z ∈ A y ∧ x ∈ A ∧ x = y z → D ∈ B
33 vex ⊢ y ∈ V
34 vex ⊢ z ∈ V
35 33 34 elimasn ⊢ z ∈ A y ↔ y z ∈ A
36 35 biimpi ⊢ z ∈ A y → y z ∈ A
37 36 adantl ⊢ φ ∧ y ∈ dom ⁡ A ∧ z ∈ A y → y z ∈ A
38 simpr ⊢ φ ∧ y ∈ dom ⁡ A ∧ z ∈ A y ∧ x = y z → x = y z
39 38 eqeq1d ⊢ φ ∧ y ∈ dom ⁡ A ∧ z ∈ A y ∧ x = y z → x = y z ↔ y z = y z
40 eqidd ⊢ φ ∧ y ∈ dom ⁡ A ∧ z ∈ A y → y z = y z
41 37 39 40 rspcedvd ⊢ φ ∧ y ∈ dom ⁡ A ∧ z ∈ A y → ∃ x ∈ A x = y z
42 32 41 r19.29a ⊢ φ ∧ y ∈ dom ⁡ A ∧ z ∈ A y → D ∈ B
43 42 fmpttd ⊢ φ ∧ y ∈ dom ⁡ A → z ∈ A y ⟼ D : A y ⟶ B
44 eqid ⊢ z ∈ A y ⟼ D = z ∈ A y ⟼ D
45 imafi2 ⊢ A ∈ Fin → A y ∈ Fin
46 6 45 syl ⊢ φ → A y ∈ Fin
47 46 adantr ⊢ φ ∧ y ∈ dom ⁡ A → A y ∈ Fin
48 fvex ⊢ 0 W ∈ V
49 48 a1i ⊢ φ ∧ y ∈ dom ⁡ A → 0 W ∈ V
50 44 47 42 49 fsuppmptdm ⊢ φ ∧ y ∈ dom ⁡ A → finSupp 0 W⁡ z ∈ A y ⟼ D
51 2ndconst ⊢ y ∈ dom ⁡ A → 2 nd ↾ y × A y : y × A y ⟶ 1-1 onto A y
52 51 adantl ⊢ φ ∧ y ∈ dom ⁡ A → 2 nd ↾ y × A y : y × A y ⟶ 1-1 onto A y
53 1stpreimas ⊢ Rel ⁡ A ∧ y ∈ dom ⁡ A → 1 st ↾ A -1 y = y × A y
54 5 53 sylan ⊢ φ ∧ y ∈ dom ⁡ A → 1 st ↾ A -1 y = y × A y
55 54 reseq2d ⊢ φ ∧ y ∈ dom ⁡ A → 2 nd ↾ 1 st ↾ A -1 y = 2 nd ↾ y × A y
56 55 f1oeq1d ⊢ φ ∧ y ∈ dom ⁡ A → 2 nd ↾ 1 st ↾ A -1 y : y × A y ⟶ 1-1 onto A y ↔ 2 nd ↾ y × A y : y × A y ⟶ 1-1 onto A y
57 52 56 mpbird ⊢ φ ∧ y ∈ dom ⁡ A → 2 nd ↾ 1 st ↾ A -1 y : y × A y ⟶ 1-1 onto A y
58 3 9 24 27 43 50 57 gsumf1o ⊢ φ ∧ y ∈ dom ⁡ A → ∑ W z ∈ A y D = ∑ W z ∈ A y ⟼ D ∘ 2 nd ↾ 1 st ↾ A -1 y
59 simpr ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y → x ∈ 1 st ↾ A -1 y
60 54 adantr ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y → 1 st ↾ A -1 y = y × A y
61 59 60 eleqtrd ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y → x ∈ y × A y
62 xp2nd ⊢ x ∈ y × A y → 2 nd ⁡ x ∈ A y
63 61 62 syl ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y → 2 nd ⁡ x ∈ A y
64 63 ralrimiva ⊢ φ ∧ y ∈ dom ⁡ A → ∀ x ∈ 1 st ↾ A -1 y 2 nd ⁡ x ∈ A y
65 fo2nd ⊢ 2 nd : V ⟶ onto V
66 fofn ⊢ 2 nd : V ⟶ onto V → 2 nd Fn V
67 dffn5 ⊢ 2 nd Fn V ↔ 2 nd = x ∈ V ⟼ 2 nd ⁡ x
68 67 biimpi ⊢ 2 nd Fn V → 2 nd = x ∈ V ⟼ 2 nd ⁡ x
69 65 66 68 mp2b ⊢ 2 nd = x ∈ V ⟼ 2 nd ⁡ x
70 69 reseq1i ⊢ 2 nd ↾ 1 st ↾ A -1 y = x ∈ V ⟼ 2 nd ⁡ x ↾ 1 st ↾ A -1 y
71 ssv ⊢ 1 st ↾ A -1 y ⊆ V
72 resmpt ⊢ 1 st ↾ A -1 y ⊆ V → x ∈ V ⟼ 2 nd ⁡ x ↾ 1 st ↾ A -1 y = x ∈ 1 st ↾ A -1 y ⟼ 2 nd ⁡ x
73 71 72 ax-mp ⊢ x ∈ V ⟼ 2 nd ⁡ x ↾ 1 st ↾ A -1 y = x ∈ 1 st ↾ A -1 y ⟼ 2 nd ⁡ x
74 70 73 eqtri ⊢ 2 nd ↾ 1 st ↾ A -1 y = x ∈ 1 st ↾ A -1 y ⟼ 2 nd ⁡ x
75 74 a1i ⊢ φ ∧ y ∈ dom ⁡ A → 2 nd ↾ 1 st ↾ A -1 y = x ∈ 1 st ↾ A -1 y ⟼ 2 nd ⁡ x
76 eqidd ⊢ φ ∧ y ∈ dom ⁡ A → z ∈ A y ⟼ D = z ∈ A y ⟼ D
77 64 75 76 fmptcos ⊢ φ ∧ y ∈ dom ⁡ A → z ∈ A y ⟼ D ∘ 2 nd ↾ 1 st ↾ A -1 y = x ∈ 1 st ↾ A -1 y ⟼ ⦋ 2 nd ⁡ x / z⦌ D
78 nfv ⊢ Ⅎ z φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y
79 1 a1i ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y → Ⅎ _ z C
80 61 adantr ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y ∧ z = 2 nd ⁡ x → x ∈ y × A y
81 xp1st ⊢ x ∈ y × A y → 1 st ⁡ x ∈ y
82 80 81 syl ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y ∧ z = 2 nd ⁡ x → 1 st ⁡ x ∈ y
83 fvex ⊢ 1 st ⁡ x ∈ V
84 83 elsn ⊢ 1 st ⁡ x ∈ y ↔ 1 st ⁡ x = y
85 82 84 sylib ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y ∧ z = 2 nd ⁡ x → 1 st ⁡ x = y
86 simpr ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y ∧ z = 2 nd ⁡ x → z = 2 nd ⁡ x
87 86 eqcomd ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y ∧ z = 2 nd ⁡ x → 2 nd ⁡ x = z
88 eqopi ⊢ x ∈ y × A y ∧ 1 st ⁡ x = y ∧ 2 nd ⁡ x = z → x = y z
89 80 85 87 88 syl12anc ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y ∧ z = 2 nd ⁡ x → x = y z
90 89 4 syl ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y ∧ z = 2 nd ⁡ x → C = D
91 90 eqcomd ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y ∧ z = 2 nd ⁡ x → D = C
92 78 79 63 91 csbiedf ⊢ φ ∧ y ∈ dom ⁡ A ∧ x ∈ 1 st ↾ A -1 y → ⦋ 2 nd ⁡ x / z⦌ D = C
93 92 mpteq2dva ⊢ φ ∧ y ∈ dom ⁡ A → x ∈ 1 st ↾ A -1 y ⟼ ⦋ 2 nd ⁡ x / z⦌ D = x ∈ 1 st ↾ A -1 y ⟼ C
94 77 93 eqtrd ⊢ φ ∧ y ∈ dom ⁡ A → z ∈ A y ⟼ D ∘ 2 nd ↾ 1 st ↾ A -1 y = x ∈ 1 st ↾ A -1 y ⟼ C
95 94 oveq2d ⊢ φ ∧ y ∈ dom ⁡ A → ∑ W z ∈ A y ⟼ D ∘ 2 nd ↾ 1 st ↾ A -1 y = ∑ W x ∈ 1 st ↾ A -1 y C
96 58 95 eqtr2d ⊢ φ ∧ y ∈ dom ⁡ A → ∑ W x ∈ 1 st ↾ A -1 y C = ∑ W z ∈ A y D
97 2 96 mpteq2da ⊢ φ → y ∈ dom ⁡ A ⟼ ∑ W x ∈ 1 st ↾ A -1 y C = y ∈ dom ⁡ A ⟼ ∑ W z ∈ A y D
98 97 oveq2d ⊢ φ → ∑ W y ∈ dom ⁡ A ∑ W x ∈ 1 st ↾ A -1 y C = ∑ W y ∈ dom ⁡ A ∑ W z ∈ A y D
99 23 98 eqtrd ⊢ φ → ∑ W x ∈ A C = ∑ W y ∈ dom ⁡ A ∑ W z ∈ A y D