| Step |
Hyp |
Ref |
Expression |
| 1 |
|
gsumspl.b |
⊢ 𝐵 = ( Base ‘ 𝑀 ) |
| 2 |
|
gsumspl.m |
⊢ ( 𝜑 → 𝑀 ∈ Mnd ) |
| 3 |
|
gsumspl.s |
⊢ ( 𝜑 → 𝑆 ∈ Word 𝐵 ) |
| 4 |
|
gsumspl.f |
⊢ ( 𝜑 → 𝐹 ∈ ( 0 ... 𝑇 ) ) |
| 5 |
|
gsumspl.t |
⊢ ( 𝜑 → 𝑇 ∈ ( 0 ... ( ♯ ‘ 𝑆 ) ) ) |
| 6 |
|
gsumspl.x |
⊢ ( 𝜑 → 𝑋 ∈ Word 𝐵 ) |
| 7 |
|
gsumspl.y |
⊢ ( 𝜑 → 𝑌 ∈ Word 𝐵 ) |
| 8 |
|
gsumspl.eq |
⊢ ( 𝜑 → ( 𝑀 Σg 𝑋 ) = ( 𝑀 Σg 𝑌 ) ) |
| 9 |
8
|
oveq2d |
⊢ ( 𝜑 → ( ( 𝑀 Σg ( 𝑆 prefix 𝐹 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg 𝑋 ) ) = ( ( 𝑀 Σg ( 𝑆 prefix 𝐹 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg 𝑌 ) ) ) |
| 10 |
9
|
oveq1d |
⊢ ( 𝜑 → ( ( ( 𝑀 Σg ( 𝑆 prefix 𝐹 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg 𝑋 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) = ( ( ( 𝑀 Σg ( 𝑆 prefix 𝐹 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg 𝑌 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) ) |
| 11 |
|
splval |
⊢ ( ( 𝑆 ∈ Word 𝐵 ∧ ( 𝐹 ∈ ( 0 ... 𝑇 ) ∧ 𝑇 ∈ ( 0 ... ( ♯ ‘ 𝑆 ) ) ∧ 𝑋 ∈ Word 𝐵 ) ) → ( 𝑆 splice 〈 𝐹 , 𝑇 , 𝑋 〉 ) = ( ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ++ ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) |
| 12 |
3 4 5 6 11
|
syl13anc |
⊢ ( 𝜑 → ( 𝑆 splice 〈 𝐹 , 𝑇 , 𝑋 〉 ) = ( ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ++ ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) |
| 13 |
12
|
oveq2d |
⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑆 splice 〈 𝐹 , 𝑇 , 𝑋 〉 ) ) = ( 𝑀 Σg ( ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ++ ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) ) |
| 14 |
|
pfxcl |
⊢ ( 𝑆 ∈ Word 𝐵 → ( 𝑆 prefix 𝐹 ) ∈ Word 𝐵 ) |
| 15 |
3 14
|
syl |
⊢ ( 𝜑 → ( 𝑆 prefix 𝐹 ) ∈ Word 𝐵 ) |
| 16 |
|
ccatcl |
⊢ ( ( ( 𝑆 prefix 𝐹 ) ∈ Word 𝐵 ∧ 𝑋 ∈ Word 𝐵 ) → ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ∈ Word 𝐵 ) |
| 17 |
15 6 16
|
syl2anc |
⊢ ( 𝜑 → ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ∈ Word 𝐵 ) |
| 18 |
|
swrdcl |
⊢ ( 𝑆 ∈ Word 𝐵 → ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ∈ Word 𝐵 ) |
| 19 |
3 18
|
syl |
⊢ ( 𝜑 → ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ∈ Word 𝐵 ) |
| 20 |
|
eqid |
⊢ ( +g ‘ 𝑀 ) = ( +g ‘ 𝑀 ) |
| 21 |
1 20
|
gsumccat |
⊢ ( ( 𝑀 ∈ Mnd ∧ ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ∈ Word 𝐵 ∧ ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ∈ Word 𝐵 ) → ( 𝑀 Σg ( ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ++ ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) = ( ( 𝑀 Σg ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) ) |
| 22 |
2 17 19 21
|
syl3anc |
⊢ ( 𝜑 → ( 𝑀 Σg ( ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ++ ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) = ( ( 𝑀 Σg ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) ) |
| 23 |
1 20
|
gsumccat |
⊢ ( ( 𝑀 ∈ Mnd ∧ ( 𝑆 prefix 𝐹 ) ∈ Word 𝐵 ∧ 𝑋 ∈ Word 𝐵 ) → ( 𝑀 Σg ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ) = ( ( 𝑀 Σg ( 𝑆 prefix 𝐹 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg 𝑋 ) ) ) |
| 24 |
2 15 6 23
|
syl3anc |
⊢ ( 𝜑 → ( 𝑀 Σg ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ) = ( ( 𝑀 Σg ( 𝑆 prefix 𝐹 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg 𝑋 ) ) ) |
| 25 |
24
|
oveq1d |
⊢ ( 𝜑 → ( ( 𝑀 Σg ( ( 𝑆 prefix 𝐹 ) ++ 𝑋 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) = ( ( ( 𝑀 Σg ( 𝑆 prefix 𝐹 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg 𝑋 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) ) |
| 26 |
13 22 25
|
3eqtrd |
⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑆 splice 〈 𝐹 , 𝑇 , 𝑋 〉 ) ) = ( ( ( 𝑀 Σg ( 𝑆 prefix 𝐹 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg 𝑋 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) ) |
| 27 |
|
splval |
⊢ ( ( 𝑆 ∈ Word 𝐵 ∧ ( 𝐹 ∈ ( 0 ... 𝑇 ) ∧ 𝑇 ∈ ( 0 ... ( ♯ ‘ 𝑆 ) ) ∧ 𝑌 ∈ Word 𝐵 ) ) → ( 𝑆 splice 〈 𝐹 , 𝑇 , 𝑌 〉 ) = ( ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ++ ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) |
| 28 |
3 4 5 7 27
|
syl13anc |
⊢ ( 𝜑 → ( 𝑆 splice 〈 𝐹 , 𝑇 , 𝑌 〉 ) = ( ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ++ ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) |
| 29 |
28
|
oveq2d |
⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑆 splice 〈 𝐹 , 𝑇 , 𝑌 〉 ) ) = ( 𝑀 Σg ( ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ++ ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) ) |
| 30 |
|
ccatcl |
⊢ ( ( ( 𝑆 prefix 𝐹 ) ∈ Word 𝐵 ∧ 𝑌 ∈ Word 𝐵 ) → ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ∈ Word 𝐵 ) |
| 31 |
15 7 30
|
syl2anc |
⊢ ( 𝜑 → ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ∈ Word 𝐵 ) |
| 32 |
1 20
|
gsumccat |
⊢ ( ( 𝑀 ∈ Mnd ∧ ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ∈ Word 𝐵 ∧ ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ∈ Word 𝐵 ) → ( 𝑀 Σg ( ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ++ ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) = ( ( 𝑀 Σg ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) ) |
| 33 |
2 31 19 32
|
syl3anc |
⊢ ( 𝜑 → ( 𝑀 Σg ( ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ++ ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) = ( ( 𝑀 Σg ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) ) |
| 34 |
1 20
|
gsumccat |
⊢ ( ( 𝑀 ∈ Mnd ∧ ( 𝑆 prefix 𝐹 ) ∈ Word 𝐵 ∧ 𝑌 ∈ Word 𝐵 ) → ( 𝑀 Σg ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ) = ( ( 𝑀 Σg ( 𝑆 prefix 𝐹 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg 𝑌 ) ) ) |
| 35 |
2 15 7 34
|
syl3anc |
⊢ ( 𝜑 → ( 𝑀 Σg ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ) = ( ( 𝑀 Σg ( 𝑆 prefix 𝐹 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg 𝑌 ) ) ) |
| 36 |
35
|
oveq1d |
⊢ ( 𝜑 → ( ( 𝑀 Σg ( ( 𝑆 prefix 𝐹 ) ++ 𝑌 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) = ( ( ( 𝑀 Σg ( 𝑆 prefix 𝐹 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg 𝑌 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) ) |
| 37 |
29 33 36
|
3eqtrd |
⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑆 splice 〈 𝐹 , 𝑇 , 𝑌 〉 ) ) = ( ( ( 𝑀 Σg ( 𝑆 prefix 𝐹 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg 𝑌 ) ) ( +g ‘ 𝑀 ) ( 𝑀 Σg ( 𝑆 substr 〈 𝑇 , ( ♯ ‘ 𝑆 ) 〉 ) ) ) ) |
| 38 |
10 26 37
|
3eqtr4d |
⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑆 splice 〈 𝐹 , 𝑇 , 𝑋 〉 ) ) = ( 𝑀 Σg ( 𝑆 splice 〈 𝐹 , 𝑇 , 𝑌 〉 ) ) ) |