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