Metamath Proof Explorer


Theorem gsumwrd2dccat

Description: Rewrite a sum ranging over pairs of words as a sum of sums over concatenated subwords. (Contributed by Thierry Arnoux, 5-Oct-2025)

Ref Expression
Hypotheses gsumwrd2dccat.1 B = Base M
gsumwrd2dccat.2 Z = 0 M
gsumwrd2dccat.3 φ F : Word A × Word A B
gsumwrd2dccat.4 φ finSupp Z F
gsumwrd2dccat.5 φ M CMnd
gsumwrd2dccat.6 φ A B
Assertion gsumwrd2dccat φ M F = M w Word A M j = 0 w F w prefix j w substr j w

Proof

Step Hyp Ref Expression
1 gsumwrd2dccat.1 B = Base M
2 gsumwrd2dccat.2 Z = 0 M
3 gsumwrd2dccat.3 φ F : Word A × Word A B
4 gsumwrd2dccat.4 φ finSupp Z F
5 gsumwrd2dccat.5 φ M CMnd
6 gsumwrd2dccat.6 φ A B
7 1 fvexi B V
8 7 a1i φ B V
9 8 6 ssexd φ A V
10 wrdexg A V Word A V
11 9 10 syl φ Word A V
12 11 11 xpexd φ Word A × Word A V
13 eqid w Word A w × 0 w = w Word A w × 0 w
14 eqid a Word A × Word A 1 st a ++ 2 nd a 1 st a = a Word A × Word A 1 st a ++ 2 nd a 1 st a
15 eqid b w Word A w × 0 w 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b = b w Word A w × 0 w 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
16 13 14 15 9 gsumwrd2dccatlem φ a Word A × Word A 1 st a ++ 2 nd a 1 st a : Word A × Word A 1-1 onto w Word A w × 0 w a Word A × Word A 1 st a ++ 2 nd a 1 st a -1 = b w Word A w × 0 w 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
17 16 simpld φ a Word A × Word A 1 st a ++ 2 nd a 1 st a : Word A × Word A 1-1 onto w Word A w × 0 w
18 f1ocnv a Word A × Word A 1 st a ++ 2 nd a 1 st a : Word A × Word A 1-1 onto w Word A w × 0 w a Word A × Word A 1 st a ++ 2 nd a 1 st a -1 : w Word A w × 0 w 1-1 onto Word A × Word A
19 17 18 syl φ a Word A × Word A 1 st a ++ 2 nd a 1 st a -1 : w Word A w × 0 w 1-1 onto Word A × Word A
20 16 simprd φ a Word A × Word A 1 st a ++ 2 nd a 1 st a -1 = b w Word A w × 0 w 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
21 20 f1oeq1d φ a Word A × Word A 1 st a ++ 2 nd a 1 st a -1 : w Word A w × 0 w 1-1 onto Word A × Word A b w Word A w × 0 w 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b : w Word A w × 0 w 1-1 onto Word A × Word A
22 19 21 mpbid φ b w Word A w × 0 w 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b : w Word A w × 0 w 1-1 onto Word A × Word A
23 1 2 5 12 3 4 22 gsumf1o φ M F = M F b w Word A w × 0 w 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
24 relxp Rel x × 0 x
25 24 a1i φ x Word A Rel x × 0 x
26 25 ralrimiva φ x Word A Rel x × 0 x
27 reliun Rel x Word A x × 0 x x Word A Rel x × 0 x
28 26 27 sylibr φ Rel x Word A x × 0 x
29 1stdm Rel x Word A x × 0 x b x Word A x × 0 x 1 st b dom x Word A x × 0 x
30 28 29 sylan φ b x Word A x × 0 x 1 st b dom x Word A x × 0 x
31 lencl x Word A x 0
32 31 adantl φ x Word A x 0
33 nn0uz 0 = 0
34 32 33 eleqtrdi φ x Word A x 0
35 fzn0 0 x x 0
36 34 35 sylibr φ x Word A 0 x
37 36 dmdju φ dom x Word A x × 0 x = Word A
38 37 adantr φ b x Word A x × 0 x dom x Word A x × 0 x = Word A
39 30 38 eleqtrd φ b x Word A x × 0 x 1 st b Word A
40 pfxcl 1 st b Word A 1 st b prefix 2 nd b Word A
41 39 40 syl φ b x Word A x × 0 x 1 st b prefix 2 nd b Word A
42 swrdcl 1 st b Word A 1 st b substr 2 nd b 1 st b Word A
43 39 42 syl φ b x Word A x × 0 x 1 st b substr 2 nd b 1 st b Word A
44 41 43 opelxpd φ b x Word A x × 0 x 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b Word A × Word A
45 sneq w = x w = x
46 fveq2 w = x w = x
47 46 oveq2d w = x 0 w = 0 x
48 45 47 xpeq12d w = x w × 0 w = x × 0 x
49 48 cbviunv w Word A w × 0 w = x Word A x × 0 x
50 49 mpteq1i b w Word A w × 0 w 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b = b x Word A x × 0 x 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
51 50 a1i φ b w Word A w × 0 w 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b = b x Word A x × 0 x 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
52 3 feqmptd φ F = a Word A × Word A F a
53 fveq2 a = 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b F a = F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
54 44 51 52 53 fmptco φ F b w Word A w × 0 w 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b = b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
55 54 oveq2d φ M F b w Word A w × 0 w 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b = M b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
56 nfv w φ
57 3 44 cofmpt φ F b x Word A x × 0 x 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b = b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
58 20 51 eqtr2d φ b x Word A x × 0 x 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b = a Word A × Word A 1 st a ++ 2 nd a 1 st a -1
59 49 eqcomi x Word A x × 0 x = w Word A w × 0 w
60 59 a1i φ x Word A x × 0 x = w Word A w × 0 w
61 eqidd φ Word A × Word A = Word A × Word A
62 58 60 61 f1oeq123d φ b x Word A x × 0 x 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b : x Word A x × 0 x 1-1 onto Word A × Word A a Word A × Word A 1 st a ++ 2 nd a 1 st a -1 : w Word A w × 0 w 1-1 onto Word A × Word A
63 19 62 mpbird φ b x Word A x × 0 x 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b : x Word A x × 0 x 1-1 onto Word A × Word A
64 f1of1 b x Word A x × 0 x 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b : x Word A x × 0 x 1-1 onto Word A × Word A b x Word A x × 0 x 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b : x Word A x × 0 x 1-1 Word A × Word A
65 63 64 syl φ b x Word A x × 0 x 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b : x Word A x × 0 x 1-1 Word A × Word A
66 2 fvexi Z V
67 66 a1i φ Z V
68 3 12 fexd φ F V
69 4 65 67 68 fsuppco φ finSupp Z F b x Word A x × 0 x 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
70 57 69 eqbrtrrd φ finSupp Z b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
71 3 adantr φ b x Word A x × 0 x F : Word A × Word A B
72 71 44 ffvelcdmd φ b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b B
73 72 fmpttd φ b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b : x Word A x × 0 x B
74 vsnex x V
75 ovex 0 x V
76 74 75 xpex x × 0 x V
77 76 a1i φ x Word A x × 0 x V
78 77 ralrimiva φ x Word A x × 0 x V
79 iunexg Word A V x Word A x × 0 x V x Word A x × 0 x V
80 11 78 79 syl2anc φ x Word A x × 0 x V
81 56 1 2 28 70 5 73 80 gsumfs2d φ M b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b = M w dom x Word A x × 0 x M j x Word A x × 0 x w b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b w j
82 23 55 81 3eqtrd φ M F = M w dom x Word A x × 0 x M j x Word A x × 0 x w b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b w j
83 eqid b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b = b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b
84 vex w V
85 vex j V
86 84 85 op1std b = w j 1 st b = w
87 84 85 op2ndd b = w j 2 nd b = j
88 86 87 oveq12d b = w j 1 st b prefix 2 nd b = w prefix j
89 86 fveq2d b = w j 1 st b = w
90 87 89 opeq12d b = w j 2 nd b 1 st b = j w
91 86 90 oveq12d b = w j 1 st b substr 2 nd b 1 st b = w substr j w
92 88 91 opeq12d b = w j 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b = w prefix j w substr j w
93 92 fveq2d b = w j F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b = F w prefix j w substr j w
94 37 eleq2d φ w dom x Word A x × 0 x w Word A
95 94 biimpa φ w dom x Word A x × 0 x w Word A
96 95 adantr φ w dom x Word A x × 0 x j x Word A x × 0 x w w Word A
97 ovexd φ x Word A 0 x V
98 nfcv _ x 0 w
99 fveq2 x = w x = w
100 99 oveq2d x = w 0 x = 0 w
101 11 97 98 100 iunsnima2 φ w Word A x Word A x × 0 x w = 0 w
102 95 101 syldan φ w dom x Word A x × 0 x x Word A x × 0 x w = 0 w
103 102 eleq2d φ w dom x Word A x × 0 x j x Word A x × 0 x w j 0 w
104 103 biimpa φ w dom x Word A x × 0 x j x Word A x × 0 x w j 0 w
105 100 opeliunxp2 w j x Word A x × 0 x w Word A j 0 w
106 96 104 105 sylanbrc φ w dom x Word A x × 0 x j x Word A x × 0 x w w j x Word A x × 0 x
107 fvexd φ w dom x Word A x × 0 x j x Word A x × 0 x w F w prefix j w substr j w V
108 83 93 106 107 fvmptd3 φ w dom x Word A x × 0 x j x Word A x × 0 x w b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b w j = F w prefix j w substr j w
109 108 mpteq2dva φ w dom x Word A x × 0 x j x Word A x × 0 x w b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b w j = j x Word A x × 0 x w F w prefix j w substr j w
110 109 oveq2d φ w dom x Word A x × 0 x M j x Word A x × 0 x w b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b w j = M j x Word A x × 0 x w F w prefix j w substr j w
111 110 mpteq2dva φ w dom x Word A x × 0 x M j x Word A x × 0 x w b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b w j = w dom x Word A x × 0 x M j x Word A x × 0 x w F w prefix j w substr j w
112 111 oveq2d φ M w dom x Word A x × 0 x M j x Word A x × 0 x w b x Word A x × 0 x F 1 st b prefix 2 nd b 1 st b substr 2 nd b 1 st b w j = M w dom x Word A x × 0 x M j x Word A x × 0 x w F w prefix j w substr j w
113 102 mpteq1d φ w dom x Word A x × 0 x j x Word A x × 0 x w F w prefix j w substr j w = j 0 w F w prefix j w substr j w
114 113 oveq2d φ w dom x Word A x × 0 x M j x Word A x × 0 x w F w prefix j w substr j w = M j = 0 w F w prefix j w substr j w
115 37 114 mpteq12dva φ w dom x Word A x × 0 x M j x Word A x × 0 x w F w prefix j w substr j w = w Word A M j = 0 w F w prefix j w substr j w
116 115 oveq2d φ M w dom x Word A x × 0 x M j x Word A x × 0 x w F w prefix j w substr j w = M w Word A M j = 0 w F w prefix j w substr j w
117 82 112 116 3eqtrd φ M F = M w Word A M j = 0 w F w prefix j w substr j w