Step |
Hyp |
Ref |
Expression |
1 |
|
gsumwrd2dccat.1 |
⊢ 𝐵 = ( Base ‘ 𝑀 ) |
2 |
|
gsumwrd2dccat.2 |
⊢ 𝑍 = ( 0g ‘ 𝑀 ) |
3 |
|
gsumwrd2dccat.3 |
⊢ ( 𝜑 → 𝐹 : ( Word 𝐴 × Word 𝐴 ) ⟶ 𝐵 ) |
4 |
|
gsumwrd2dccat.4 |
⊢ ( 𝜑 → 𝐹 finSupp 𝑍 ) |
5 |
|
gsumwrd2dccat.5 |
⊢ ( 𝜑 → 𝑀 ∈ CMnd ) |
6 |
|
gsumwrd2dccat.6 |
⊢ ( 𝜑 → 𝐴 ⊆ 𝐵 ) |
7 |
1
|
fvexi |
⊢ 𝐵 ∈ V |
8 |
7
|
a1i |
⊢ ( 𝜑 → 𝐵 ∈ V ) |
9 |
8 6
|
ssexd |
⊢ ( 𝜑 → 𝐴 ∈ V ) |
10 |
|
wrdexg |
⊢ ( 𝐴 ∈ V → Word 𝐴 ∈ V ) |
11 |
9 10
|
syl |
⊢ ( 𝜑 → Word 𝐴 ∈ V ) |
12 |
11 11
|
xpexd |
⊢ ( 𝜑 → ( Word 𝐴 × Word 𝐴 ) ∈ V ) |
13 |
|
eqid |
⊢ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) = ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) |
14 |
|
eqid |
⊢ ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ 〈 ( ( 1st ‘ 𝑎 ) ++ ( 2nd ‘ 𝑎 ) ) , ( ♯ ‘ ( 1st ‘ 𝑎 ) ) 〉 ) = ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ 〈 ( ( 1st ‘ 𝑎 ) ++ ( 2nd ‘ 𝑎 ) ) , ( ♯ ‘ ( 1st ‘ 𝑎 ) ) 〉 ) |
15 |
|
eqid |
⊢ ( 𝑏 ∈ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) = ( 𝑏 ∈ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) |
16 |
13 14 15 9
|
gsumwrd2dccatlem |
⊢ ( 𝜑 → ( ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ 〈 ( ( 1st ‘ 𝑎 ) ++ ( 2nd ‘ 𝑎 ) ) , ( ♯ ‘ ( 1st ‘ 𝑎 ) ) 〉 ) : ( Word 𝐴 × Word 𝐴 ) –1-1-onto→ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ∧ ◡ ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ 〈 ( ( 1st ‘ 𝑎 ) ++ ( 2nd ‘ 𝑎 ) ) , ( ♯ ‘ ( 1st ‘ 𝑎 ) ) 〉 ) = ( 𝑏 ∈ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ) |
17 |
16
|
simpld |
⊢ ( 𝜑 → ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ 〈 ( ( 1st ‘ 𝑎 ) ++ ( 2nd ‘ 𝑎 ) ) , ( ♯ ‘ ( 1st ‘ 𝑎 ) ) 〉 ) : ( Word 𝐴 × Word 𝐴 ) –1-1-onto→ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ) |
18 |
|
f1ocnv |
⊢ ( ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ 〈 ( ( 1st ‘ 𝑎 ) ++ ( 2nd ‘ 𝑎 ) ) , ( ♯ ‘ ( 1st ‘ 𝑎 ) ) 〉 ) : ( Word 𝐴 × Word 𝐴 ) –1-1-onto→ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) → ◡ ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ 〈 ( ( 1st ‘ 𝑎 ) ++ ( 2nd ‘ 𝑎 ) ) , ( ♯ ‘ ( 1st ‘ 𝑎 ) ) 〉 ) : ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) –1-1-onto→ ( Word 𝐴 × Word 𝐴 ) ) |
19 |
17 18
|
syl |
⊢ ( 𝜑 → ◡ ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ 〈 ( ( 1st ‘ 𝑎 ) ++ ( 2nd ‘ 𝑎 ) ) , ( ♯ ‘ ( 1st ‘ 𝑎 ) ) 〉 ) : ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) –1-1-onto→ ( Word 𝐴 × Word 𝐴 ) ) |
20 |
16
|
simprd |
⊢ ( 𝜑 → ◡ ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ 〈 ( ( 1st ‘ 𝑎 ) ++ ( 2nd ‘ 𝑎 ) ) , ( ♯ ‘ ( 1st ‘ 𝑎 ) ) 〉 ) = ( 𝑏 ∈ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) |
21 |
20
|
f1oeq1d |
⊢ ( 𝜑 → ( ◡ ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ 〈 ( ( 1st ‘ 𝑎 ) ++ ( 2nd ‘ 𝑎 ) ) , ( ♯ ‘ ( 1st ‘ 𝑎 ) ) 〉 ) : ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) –1-1-onto→ ( Word 𝐴 × Word 𝐴 ) ↔ ( 𝑏 ∈ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) : ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) –1-1-onto→ ( Word 𝐴 × Word 𝐴 ) ) ) |
22 |
19 21
|
mpbid |
⊢ ( 𝜑 → ( 𝑏 ∈ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) : ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) –1-1-onto→ ( Word 𝐴 × Word 𝐴 ) ) |
23 |
1 2 5 12 3 4 22
|
gsumf1o |
⊢ ( 𝜑 → ( 𝑀 Σg 𝐹 ) = ( 𝑀 Σg ( 𝐹 ∘ ( 𝑏 ∈ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ) ) |
24 |
|
relxp |
⊢ Rel ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) |
25 |
24
|
a1i |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ Word 𝐴 ) → Rel ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) |
26 |
25
|
ralrimiva |
⊢ ( 𝜑 → ∀ 𝑥 ∈ Word 𝐴 Rel ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) |
27 |
|
reliun |
⊢ ( Rel ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↔ ∀ 𝑥 ∈ Word 𝐴 Rel ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) |
28 |
26 27
|
sylibr |
⊢ ( 𝜑 → Rel ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) |
29 |
|
1stdm |
⊢ ( ( Rel ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ∧ 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → ( 1st ‘ 𝑏 ) ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) |
30 |
28 29
|
sylan |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → ( 1st ‘ 𝑏 ) ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) |
31 |
|
lencl |
⊢ ( 𝑥 ∈ Word 𝐴 → ( ♯ ‘ 𝑥 ) ∈ ℕ0 ) |
32 |
31
|
adantl |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ Word 𝐴 ) → ( ♯ ‘ 𝑥 ) ∈ ℕ0 ) |
33 |
|
nn0uz |
⊢ ℕ0 = ( ℤ≥ ‘ 0 ) |
34 |
32 33
|
eleqtrdi |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ Word 𝐴 ) → ( ♯ ‘ 𝑥 ) ∈ ( ℤ≥ ‘ 0 ) ) |
35 |
|
fzn0 |
⊢ ( ( 0 ... ( ♯ ‘ 𝑥 ) ) ≠ ∅ ↔ ( ♯ ‘ 𝑥 ) ∈ ( ℤ≥ ‘ 0 ) ) |
36 |
34 35
|
sylibr |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ Word 𝐴 ) → ( 0 ... ( ♯ ‘ 𝑥 ) ) ≠ ∅ ) |
37 |
36
|
dmdju |
⊢ ( 𝜑 → dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) = Word 𝐴 ) |
38 |
37
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) = Word 𝐴 ) |
39 |
30 38
|
eleqtrd |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → ( 1st ‘ 𝑏 ) ∈ Word 𝐴 ) |
40 |
|
pfxcl |
⊢ ( ( 1st ‘ 𝑏 ) ∈ Word 𝐴 → ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) ∈ Word 𝐴 ) |
41 |
39 40
|
syl |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) ∈ Word 𝐴 ) |
42 |
|
swrdcl |
⊢ ( ( 1st ‘ 𝑏 ) ∈ Word 𝐴 → ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) ∈ Word 𝐴 ) |
43 |
39 42
|
syl |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) ∈ Word 𝐴 ) |
44 |
41 43
|
opelxpd |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ∈ ( Word 𝐴 × Word 𝐴 ) ) |
45 |
|
sneq |
⊢ ( 𝑤 = 𝑥 → { 𝑤 } = { 𝑥 } ) |
46 |
|
fveq2 |
⊢ ( 𝑤 = 𝑥 → ( ♯ ‘ 𝑤 ) = ( ♯ ‘ 𝑥 ) ) |
47 |
46
|
oveq2d |
⊢ ( 𝑤 = 𝑥 → ( 0 ... ( ♯ ‘ 𝑤 ) ) = ( 0 ... ( ♯ ‘ 𝑥 ) ) ) |
48 |
45 47
|
xpeq12d |
⊢ ( 𝑤 = 𝑥 → ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) = ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) |
49 |
48
|
cbviunv |
⊢ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) = ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) |
50 |
49
|
mpteq1i |
⊢ ( 𝑏 ∈ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) = ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) |
51 |
50
|
a1i |
⊢ ( 𝜑 → ( 𝑏 ∈ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) = ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) |
52 |
3
|
feqmptd |
⊢ ( 𝜑 → 𝐹 = ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ ( 𝐹 ‘ 𝑎 ) ) ) |
53 |
|
fveq2 |
⊢ ( 𝑎 = 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 → ( 𝐹 ‘ 𝑎 ) = ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) |
54 |
44 51 52 53
|
fmptco |
⊢ ( 𝜑 → ( 𝐹 ∘ ( 𝑏 ∈ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) = ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ) |
55 |
54
|
oveq2d |
⊢ ( 𝜑 → ( 𝑀 Σg ( 𝐹 ∘ ( 𝑏 ∈ ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ) = ( 𝑀 Σg ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ) ) |
56 |
|
nfv |
⊢ Ⅎ 𝑤 𝜑 |
57 |
3 44
|
cofmpt |
⊢ ( 𝜑 → ( 𝐹 ∘ ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) = ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ) |
58 |
20 51
|
eqtr2d |
⊢ ( 𝜑 → ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) = ◡ ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ 〈 ( ( 1st ‘ 𝑎 ) ++ ( 2nd ‘ 𝑎 ) ) , ( ♯ ‘ ( 1st ‘ 𝑎 ) ) 〉 ) ) |
59 |
49
|
eqcomi |
⊢ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) = ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) |
60 |
59
|
a1i |
⊢ ( 𝜑 → ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) = ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ) |
61 |
|
eqidd |
⊢ ( 𝜑 → ( Word 𝐴 × Word 𝐴 ) = ( Word 𝐴 × Word 𝐴 ) ) |
62 |
58 60 61
|
f1oeq123d |
⊢ ( 𝜑 → ( ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) : ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) –1-1-onto→ ( Word 𝐴 × Word 𝐴 ) ↔ ◡ ( 𝑎 ∈ ( Word 𝐴 × Word 𝐴 ) ↦ 〈 ( ( 1st ‘ 𝑎 ) ++ ( 2nd ‘ 𝑎 ) ) , ( ♯ ‘ ( 1st ‘ 𝑎 ) ) 〉 ) : ∪ 𝑤 ∈ Word 𝐴 ( { 𝑤 } × ( 0 ... ( ♯ ‘ 𝑤 ) ) ) –1-1-onto→ ( Word 𝐴 × Word 𝐴 ) ) ) |
63 |
19 62
|
mpbird |
⊢ ( 𝜑 → ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) : ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) –1-1-onto→ ( Word 𝐴 × Word 𝐴 ) ) |
64 |
|
f1of1 |
⊢ ( ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) : ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) –1-1-onto→ ( Word 𝐴 × Word 𝐴 ) → ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) : ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) –1-1→ ( Word 𝐴 × Word 𝐴 ) ) |
65 |
63 64
|
syl |
⊢ ( 𝜑 → ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) : ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) –1-1→ ( Word 𝐴 × Word 𝐴 ) ) |
66 |
2
|
fvexi |
⊢ 𝑍 ∈ V |
67 |
66
|
a1i |
⊢ ( 𝜑 → 𝑍 ∈ V ) |
68 |
3 12
|
fexd |
⊢ ( 𝜑 → 𝐹 ∈ V ) |
69 |
4 65 67 68
|
fsuppco |
⊢ ( 𝜑 → ( 𝐹 ∘ ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) finSupp 𝑍 ) |
70 |
57 69
|
eqbrtrrd |
⊢ ( 𝜑 → ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) finSupp 𝑍 ) |
71 |
3
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → 𝐹 : ( Word 𝐴 × Word 𝐴 ) ⟶ 𝐵 ) |
72 |
71 44
|
ffvelcdmd |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ∈ 𝐵 ) |
73 |
72
|
fmpttd |
⊢ ( 𝜑 → ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) : ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ⟶ 𝐵 ) |
74 |
|
vsnex |
⊢ { 𝑥 } ∈ V |
75 |
|
ovex |
⊢ ( 0 ... ( ♯ ‘ 𝑥 ) ) ∈ V |
76 |
74 75
|
xpex |
⊢ ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ∈ V |
77 |
76
|
a1i |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ Word 𝐴 ) → ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ∈ V ) |
78 |
77
|
ralrimiva |
⊢ ( 𝜑 → ∀ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ∈ V ) |
79 |
|
iunexg |
⊢ ( ( Word 𝐴 ∈ V ∧ ∀ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ∈ V ) → ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ∈ V ) |
80 |
11 78 79
|
syl2anc |
⊢ ( 𝜑 → ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ∈ V ) |
81 |
56 1 2 28 70 5 73 80
|
gsumfs2d |
⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ) = ( 𝑀 Σg ( 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝑀 Σg ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ‘ 〈 𝑤 , 𝑗 〉 ) ) ) ) ) ) |
82 |
23 55 81
|
3eqtrd |
⊢ ( 𝜑 → ( 𝑀 Σg 𝐹 ) = ( 𝑀 Σg ( 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝑀 Σg ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ‘ 〈 𝑤 , 𝑗 〉 ) ) ) ) ) ) |
83 |
|
eqid |
⊢ ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) = ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) |
84 |
|
vex |
⊢ 𝑤 ∈ V |
85 |
|
vex |
⊢ 𝑗 ∈ V |
86 |
84 85
|
op1std |
⊢ ( 𝑏 = 〈 𝑤 , 𝑗 〉 → ( 1st ‘ 𝑏 ) = 𝑤 ) |
87 |
84 85
|
op2ndd |
⊢ ( 𝑏 = 〈 𝑤 , 𝑗 〉 → ( 2nd ‘ 𝑏 ) = 𝑗 ) |
88 |
86 87
|
oveq12d |
⊢ ( 𝑏 = 〈 𝑤 , 𝑗 〉 → ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) = ( 𝑤 prefix 𝑗 ) ) |
89 |
86
|
fveq2d |
⊢ ( 𝑏 = 〈 𝑤 , 𝑗 〉 → ( ♯ ‘ ( 1st ‘ 𝑏 ) ) = ( ♯ ‘ 𝑤 ) ) |
90 |
87 89
|
opeq12d |
⊢ ( 𝑏 = 〈 𝑤 , 𝑗 〉 → 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 = 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) |
91 |
86 90
|
oveq12d |
⊢ ( 𝑏 = 〈 𝑤 , 𝑗 〉 → ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) = ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) ) |
92 |
88 91
|
opeq12d |
⊢ ( 𝑏 = 〈 𝑤 , 𝑗 〉 → 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 = 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) |
93 |
92
|
fveq2d |
⊢ ( 𝑏 = 〈 𝑤 , 𝑗 〉 → ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) = ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) |
94 |
37
|
eleq2d |
⊢ ( 𝜑 → ( 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↔ 𝑤 ∈ Word 𝐴 ) ) |
95 |
94
|
biimpa |
⊢ ( ( 𝜑 ∧ 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → 𝑤 ∈ Word 𝐴 ) |
96 |
95
|
adantr |
⊢ ( ( ( 𝜑 ∧ 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) ∧ 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ) → 𝑤 ∈ Word 𝐴 ) |
97 |
|
ovexd |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ Word 𝐴 ) → ( 0 ... ( ♯ ‘ 𝑥 ) ) ∈ V ) |
98 |
|
nfcv |
⊢ Ⅎ 𝑥 ( 0 ... ( ♯ ‘ 𝑤 ) ) |
99 |
|
fveq2 |
⊢ ( 𝑥 = 𝑤 → ( ♯ ‘ 𝑥 ) = ( ♯ ‘ 𝑤 ) ) |
100 |
99
|
oveq2d |
⊢ ( 𝑥 = 𝑤 → ( 0 ... ( ♯ ‘ 𝑥 ) ) = ( 0 ... ( ♯ ‘ 𝑤 ) ) ) |
101 |
11 97 98 100
|
iunsnima2 |
⊢ ( ( 𝜑 ∧ 𝑤 ∈ Word 𝐴 ) → ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) = ( 0 ... ( ♯ ‘ 𝑤 ) ) ) |
102 |
95 101
|
syldan |
⊢ ( ( 𝜑 ∧ 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) = ( 0 ... ( ♯ ‘ 𝑤 ) ) ) |
103 |
102
|
eleq2d |
⊢ ( ( 𝜑 ∧ 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↔ 𝑗 ∈ ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ) |
104 |
103
|
biimpa |
⊢ ( ( ( 𝜑 ∧ 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) ∧ 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ) → 𝑗 ∈ ( 0 ... ( ♯ ‘ 𝑤 ) ) ) |
105 |
100
|
opeliunxp2 |
⊢ ( 〈 𝑤 , 𝑗 〉 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↔ ( 𝑤 ∈ Word 𝐴 ∧ 𝑗 ∈ ( 0 ... ( ♯ ‘ 𝑤 ) ) ) ) |
106 |
96 104 105
|
sylanbrc |
⊢ ( ( ( 𝜑 ∧ 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) ∧ 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ) → 〈 𝑤 , 𝑗 〉 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) |
107 |
|
fvexd |
⊢ ( ( ( 𝜑 ∧ 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) ∧ 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ) → ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ∈ V ) |
108 |
83 93 106 107
|
fvmptd3 |
⊢ ( ( ( 𝜑 ∧ 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) ∧ 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ) → ( ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ‘ 〈 𝑤 , 𝑗 〉 ) = ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) |
109 |
108
|
mpteq2dva |
⊢ ( ( 𝜑 ∧ 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ‘ 〈 𝑤 , 𝑗 〉 ) ) = ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) ) |
110 |
109
|
oveq2d |
⊢ ( ( 𝜑 ∧ 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → ( 𝑀 Σg ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ‘ 〈 𝑤 , 𝑗 〉 ) ) ) = ( 𝑀 Σg ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) ) ) |
111 |
110
|
mpteq2dva |
⊢ ( 𝜑 → ( 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝑀 Σg ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ‘ 〈 𝑤 , 𝑗 〉 ) ) ) ) = ( 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝑀 Σg ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) ) ) ) |
112 |
111
|
oveq2d |
⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝑀 Σg ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( ( 𝑏 ∈ ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝐹 ‘ 〈 ( ( 1st ‘ 𝑏 ) prefix ( 2nd ‘ 𝑏 ) ) , ( ( 1st ‘ 𝑏 ) substr 〈 ( 2nd ‘ 𝑏 ) , ( ♯ ‘ ( 1st ‘ 𝑏 ) ) 〉 ) 〉 ) ) ‘ 〈 𝑤 , 𝑗 〉 ) ) ) ) ) = ( 𝑀 Σg ( 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝑀 Σg ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) ) ) ) ) |
113 |
102
|
mpteq1d |
⊢ ( ( 𝜑 ∧ 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) = ( 𝑗 ∈ ( 0 ... ( ♯ ‘ 𝑤 ) ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) ) |
114 |
113
|
oveq2d |
⊢ ( ( 𝜑 ∧ 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ) → ( 𝑀 Σg ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) ) = ( 𝑀 Σg ( 𝑗 ∈ ( 0 ... ( ♯ ‘ 𝑤 ) ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) ) ) |
115 |
37 114
|
mpteq12dva |
⊢ ( 𝜑 → ( 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝑀 Σg ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) ) ) = ( 𝑤 ∈ Word 𝐴 ↦ ( 𝑀 Σg ( 𝑗 ∈ ( 0 ... ( ♯ ‘ 𝑤 ) ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) ) ) ) |
116 |
115
|
oveq2d |
⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑤 ∈ dom ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) ↦ ( 𝑀 Σg ( 𝑗 ∈ ( ∪ 𝑥 ∈ Word 𝐴 ( { 𝑥 } × ( 0 ... ( ♯ ‘ 𝑥 ) ) ) “ { 𝑤 } ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) ) ) ) = ( 𝑀 Σg ( 𝑤 ∈ Word 𝐴 ↦ ( 𝑀 Σg ( 𝑗 ∈ ( 0 ... ( ♯ ‘ 𝑤 ) ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) ) ) ) ) |
117 |
82 112 116
|
3eqtrd |
⊢ ( 𝜑 → ( 𝑀 Σg 𝐹 ) = ( 𝑀 Σg ( 𝑤 ∈ Word 𝐴 ↦ ( 𝑀 Σg ( 𝑗 ∈ ( 0 ... ( ♯ ‘ 𝑤 ) ) ↦ ( 𝐹 ‘ 〈 ( 𝑤 prefix 𝑗 ) , ( 𝑤 substr 〈 𝑗 , ( ♯ ‘ 𝑤 ) 〉 ) 〉 ) ) ) ) ) ) |