Proof of Theorem gsumspl
| Step | Hyp | Ref
| Expression |
| 1 | | gsumspl.eq |
. . . 4
⊢ (𝜑 → (𝑀 Σg 𝑋) = (𝑀 Σg 𝑌)) |
| 2 | 1 | oveq2d 7448 |
. . 3
⊢ (𝜑 → ((𝑀 Σg (𝑆 prefix 𝐹))(+g‘𝑀)(𝑀 Σg 𝑋)) = ((𝑀 Σg (𝑆 prefix 𝐹))(+g‘𝑀)(𝑀 Σg 𝑌))) |
| 3 | 2 | oveq1d 7447 |
. 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 14790 |
. . . . 5
⊢ ((𝑆 ∈ Word 𝐵 ∧ (𝐹 ∈ (0...𝑇) ∧ 𝑇 ∈ (0...(♯‘𝑆)) ∧ 𝑋 ∈ Word 𝐵)) → (𝑆 splice 〈𝐹, 𝑇, 𝑋〉) = (((𝑆 prefix 𝐹) ++ 𝑋) ++ (𝑆 substr 〈𝑇, (♯‘𝑆)〉))) |
| 9 | 4, 5, 6, 7, 8 | syl13anc 1373 |
. . . 4
⊢ (𝜑 → (𝑆 splice 〈𝐹, 𝑇, 𝑋〉) = (((𝑆 prefix 𝐹) ++ 𝑋) ++ (𝑆 substr 〈𝑇, (♯‘𝑆)〉))) |
| 10 | 9 | oveq2d 7448 |
. . 3
⊢ (𝜑 → (𝑀 Σg (𝑆 splice 〈𝐹, 𝑇, 𝑋〉)) = (𝑀 Σg (((𝑆 prefix 𝐹) ++ 𝑋) ++ (𝑆 substr 〈𝑇, (♯‘𝑆)〉)))) |
| 11 | | gsumspl.m |
. . . 4
⊢ (𝜑 → 𝑀 ∈ Mnd) |
| 12 | | pfxcl 14716 |
. . . . . 6
⊢ (𝑆 ∈ Word 𝐵 → (𝑆 prefix 𝐹) ∈ Word 𝐵) |
| 13 | 4, 12 | syl 17 |
. . . . 5
⊢ (𝜑 → (𝑆 prefix 𝐹) ∈ Word 𝐵) |
| 14 | | ccatcl 14613 |
. . . . 5
⊢ (((𝑆 prefix 𝐹) ∈ Word 𝐵 ∧ 𝑋 ∈ Word 𝐵) → ((𝑆 prefix 𝐹) ++ 𝑋) ∈ Word 𝐵) |
| 15 | 13, 7, 14 | syl2anc 584 |
. . . 4
⊢ (𝜑 → ((𝑆 prefix 𝐹) ++ 𝑋) ∈ Word 𝐵) |
| 16 | | swrdcl 14684 |
. . . . 5
⊢ (𝑆 ∈ Word 𝐵 → (𝑆 substr 〈𝑇, (♯‘𝑆)〉) ∈ Word 𝐵) |
| 17 | 4, 16 | syl 17 |
. . . 4
⊢ (𝜑 → (𝑆 substr 〈𝑇, (♯‘𝑆)〉) ∈ Word 𝐵) |
| 18 | | gsumspl.b |
. . . . 5
⊢ 𝐵 = (Base‘𝑀) |
| 19 | | eqid 2736 |
. . . . 5
⊢
(+g‘𝑀) = (+g‘𝑀) |
| 20 | 18, 19 | gsumccat 18855 |
. . . 4
⊢ ((𝑀 ∈ Mnd ∧ ((𝑆 prefix 𝐹) ++ 𝑋) ∈ Word 𝐵 ∧ (𝑆 substr 〈𝑇, (♯‘𝑆)〉) ∈ Word 𝐵) → (𝑀 Σg (((𝑆 prefix 𝐹) ++ 𝑋) ++ (𝑆 substr 〈𝑇, (♯‘𝑆)〉))) = ((𝑀 Σg ((𝑆 prefix 𝐹) ++ 𝑋))(+g‘𝑀)(𝑀 Σg (𝑆 substr 〈𝑇, (♯‘𝑆)〉)))) |
| 21 | 11, 15, 17, 20 | syl3anc 1372 |
. . 3
⊢ (𝜑 → (𝑀 Σg (((𝑆 prefix 𝐹) ++ 𝑋) ++ (𝑆 substr 〈𝑇, (♯‘𝑆)〉))) = ((𝑀 Σg ((𝑆 prefix 𝐹) ++ 𝑋))(+g‘𝑀)(𝑀 Σg (𝑆 substr 〈𝑇, (♯‘𝑆)〉)))) |
| 22 | 18, 19 | gsumccat 18855 |
. . . . 5
⊢ ((𝑀 ∈ Mnd ∧ (𝑆 prefix 𝐹) ∈ Word 𝐵 ∧ 𝑋 ∈ Word 𝐵) → (𝑀 Σg ((𝑆 prefix 𝐹) ++ 𝑋)) = ((𝑀 Σg (𝑆 prefix 𝐹))(+g‘𝑀)(𝑀 Σg 𝑋))) |
| 23 | 11, 13, 7, 22 | syl3anc 1372 |
. . . 4
⊢ (𝜑 → (𝑀 Σg ((𝑆 prefix 𝐹) ++ 𝑋)) = ((𝑀 Σg (𝑆 prefix 𝐹))(+g‘𝑀)(𝑀 Σg 𝑋))) |
| 24 | 23 | oveq1d 7447 |
. . 3
⊢ (𝜑 → ((𝑀 Σg ((𝑆 prefix 𝐹) ++ 𝑋))(+g‘𝑀)(𝑀 Σg (𝑆 substr 〈𝑇, (♯‘𝑆)〉))) = (((𝑀 Σg (𝑆 prefix 𝐹))(+g‘𝑀)(𝑀 Σg 𝑋))(+g‘𝑀)(𝑀 Σg (𝑆 substr 〈𝑇, (♯‘𝑆)〉)))) |
| 25 | 10, 21, 24 | 3eqtrd 2780 |
. 2
⊢ (𝜑 → (𝑀 Σg (𝑆 splice 〈𝐹, 𝑇, 𝑋〉)) = (((𝑀 Σg (𝑆 prefix 𝐹))(+g‘𝑀)(𝑀 Σg 𝑋))(+g‘𝑀)(𝑀 Σg (𝑆 substr 〈𝑇, (♯‘𝑆)〉)))) |
| 26 | | gsumspl.y |
. . . . 5
⊢ (𝜑 → 𝑌 ∈ Word 𝐵) |
| 27 | | splval 14790 |
. . . . 5
⊢ ((𝑆 ∈ Word 𝐵 ∧ (𝐹 ∈ (0...𝑇) ∧ 𝑇 ∈ (0...(♯‘𝑆)) ∧ 𝑌 ∈ Word 𝐵)) → (𝑆 splice 〈𝐹, 𝑇, 𝑌〉) = (((𝑆 prefix 𝐹) ++ 𝑌) ++ (𝑆 substr 〈𝑇, (♯‘𝑆)〉))) |
| 28 | 4, 5, 6, 26, 27 | syl13anc 1373 |
. . . 4
⊢ (𝜑 → (𝑆 splice 〈𝐹, 𝑇, 𝑌〉) = (((𝑆 prefix 𝐹) ++ 𝑌) ++ (𝑆 substr 〈𝑇, (♯‘𝑆)〉))) |
| 29 | 28 | oveq2d 7448 |
. . 3
⊢ (𝜑 → (𝑀 Σg (𝑆 splice 〈𝐹, 𝑇, 𝑌〉)) = (𝑀 Σg (((𝑆 prefix 𝐹) ++ 𝑌) ++ (𝑆 substr 〈𝑇, (♯‘𝑆)〉)))) |
| 30 | | ccatcl 14613 |
. . . . 5
⊢ (((𝑆 prefix 𝐹) ∈ Word 𝐵 ∧ 𝑌 ∈ Word 𝐵) → ((𝑆 prefix 𝐹) ++ 𝑌) ∈ Word 𝐵) |
| 31 | 13, 26, 30 | syl2anc 584 |
. . . 4
⊢ (𝜑 → ((𝑆 prefix 𝐹) ++ 𝑌) ∈ Word 𝐵) |
| 32 | 18, 19 | gsumccat 18855 |
. . . 4
⊢ ((𝑀 ∈ Mnd ∧ ((𝑆 prefix 𝐹) ++ 𝑌) ∈ Word 𝐵 ∧ (𝑆 substr 〈𝑇, (♯‘𝑆)〉) ∈ Word 𝐵) → (𝑀 Σg (((𝑆 prefix 𝐹) ++ 𝑌) ++ (𝑆 substr 〈𝑇, (♯‘𝑆)〉))) = ((𝑀 Σg ((𝑆 prefix 𝐹) ++ 𝑌))(+g‘𝑀)(𝑀 Σg (𝑆 substr 〈𝑇, (♯‘𝑆)〉)))) |
| 33 | 11, 31, 17, 32 | syl3anc 1372 |
. . 3
⊢ (𝜑 → (𝑀 Σg (((𝑆 prefix 𝐹) ++ 𝑌) ++ (𝑆 substr 〈𝑇, (♯‘𝑆)〉))) = ((𝑀 Σg ((𝑆 prefix 𝐹) ++ 𝑌))(+g‘𝑀)(𝑀 Σg (𝑆 substr 〈𝑇, (♯‘𝑆)〉)))) |
| 34 | 18, 19 | gsumccat 18855 |
. . . . 5
⊢ ((𝑀 ∈ Mnd ∧ (𝑆 prefix 𝐹) ∈ Word 𝐵 ∧ 𝑌 ∈ Word 𝐵) → (𝑀 Σg ((𝑆 prefix 𝐹) ++ 𝑌)) = ((𝑀 Σg (𝑆 prefix 𝐹))(+g‘𝑀)(𝑀 Σg 𝑌))) |
| 35 | 11, 13, 26, 34 | syl3anc 1372 |
. . . 4
⊢ (𝜑 → (𝑀 Σg ((𝑆 prefix 𝐹) ++ 𝑌)) = ((𝑀 Σg (𝑆 prefix 𝐹))(+g‘𝑀)(𝑀 Σg 𝑌))) |
| 36 | 35 | oveq1d 7447 |
. . 3
⊢ (𝜑 → ((𝑀 Σg ((𝑆 prefix 𝐹) ++ 𝑌))(+g‘𝑀)(𝑀 Σg (𝑆 substr 〈𝑇, (♯‘𝑆)〉))) = (((𝑀 Σg (𝑆 prefix 𝐹))(+g‘𝑀)(𝑀 Σg 𝑌))(+g‘𝑀)(𝑀 Σg (𝑆 substr 〈𝑇, (♯‘𝑆)〉)))) |
| 37 | 29, 33, 36 | 3eqtrd 2780 |
. 2
⊢ (𝜑 → (𝑀 Σg (𝑆 splice 〈𝐹, 𝑇, 𝑌〉)) = (((𝑀 Σg (𝑆 prefix 𝐹))(+g‘𝑀)(𝑀 Σg 𝑌))(+g‘𝑀)(𝑀 Σg (𝑆 substr 〈𝑇, (♯‘𝑆)〉)))) |
| 38 | 3, 25, 37 | 3eqtr4d 2786 |
1
⊢ (𝜑 → (𝑀 Σg (𝑆 splice 〈𝐹, 𝑇, 𝑋〉)) = (𝑀 Σg (𝑆 splice 〈𝐹, 𝑇, 𝑌〉))) |