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