| Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > MPE Home > Th. List > swrds2m | Structured version Visualization version GIF version | ||
| Description: Extract two adjacent symbols from a word in reverse direction. (Contributed by AV, 11-May-2022.) |
| Ref | Expression |
|---|---|
| swrds2m | ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), 𝑁〉) = 〈“(𝑊‘(𝑁 − 2))(𝑊‘(𝑁 − 1))”〉) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | elfzelz 13553 | . . . . . . . 8 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ ℤ) | |
| 2 | 1 | zcnd 12702 | . . . . . . 7 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ ℂ) |
| 3 | 2cnd 12320 | . . . . . . 7 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 2 ∈ ℂ) | |
| 4 | 2, 3 | npcand 11574 | . . . . . 6 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ((𝑁 − 2) + 2) = 𝑁) |
| 5 | 4 | eqcomd 2769 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 = ((𝑁 − 2) + 2)) |
| 6 | 5 | opeq2d 4846 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 〈(𝑁 − 2), 𝑁〉 = 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉) |
| 7 | 6 | oveq2d 7428 | . . 3 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑊 substr 〈(𝑁 − 2), 𝑁〉) = (𝑊 substr 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉)) |
| 8 | 7 | adantl 486 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), 𝑁〉) = (𝑊 substr 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉)) |
| 9 | simpl 487 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → 𝑊 ∈ Word 𝑉) | |
| 10 | elfzuz 13549 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ (ℤ≥‘2)) | |
| 11 | uznn0sub 12898 | . . . . 5 ⊢ (𝑁 ∈ (ℤ≥‘2) → (𝑁 − 2) ∈ ℕ0) | |
| 12 | 10, 11 | syl 18 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑁 − 2) ∈ ℕ0) |
| 13 | 12 | adantl 486 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑁 − 2) ∈ ℕ0) |
| 14 | 1cnd 11203 | . . . . . . 7 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 1 ∈ ℂ) | |
| 15 | 2, 3, 14 | subsubd 11598 | . . . . . 6 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑁 − (2 − 1)) = ((𝑁 − 2) + 1)) |
| 16 | 2m1e1 12366 | . . . . . . 7 ⊢ (2 − 1) = 1 | |
| 17 | 16 | oveq2i 7423 | . . . . . 6 ⊢ (𝑁 − (2 − 1)) = (𝑁 − 1) |
| 18 | 15, 17 | eqtr3di 2813 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ((𝑁 − 2) + 1) = (𝑁 − 1)) |
| 19 | 2eluzge1 12907 | . . . . . . . 8 ⊢ 2 ∈ (ℤ≥‘1) | |
| 20 | fzss1 13593 | . . . . . . . 8 ⊢ (2 ∈ (ℤ≥‘1) → (2...(♯‘𝑊)) ⊆ (1...(♯‘𝑊))) | |
| 21 | 19, 20 | ax-mp 5 | . . . . . . 7 ⊢ (2...(♯‘𝑊)) ⊆ (1...(♯‘𝑊)) |
| 22 | 21 | sseli 3934 | . . . . . 6 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ (1...(♯‘𝑊))) |
| 23 | fz1fzo0m1 13741 | . . . . . 6 ⊢ (𝑁 ∈ (1...(♯‘𝑊)) → (𝑁 − 1) ∈ (0..^(♯‘𝑊))) | |
| 24 | 22, 23 | syl 18 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑁 − 1) ∈ (0..^(♯‘𝑊))) |
| 25 | 18, 24 | eqeltrd 2863 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ((𝑁 − 2) + 1) ∈ (0..^(♯‘𝑊))) |
| 26 | 25 | adantl 486 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → ((𝑁 − 2) + 1) ∈ (0..^(♯‘𝑊))) |
| 27 | swrds2 14979 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝑁 − 2) ∈ ℕ0 ∧ ((𝑁 − 2) + 1) ∈ (0..^(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉) = 〈“(𝑊‘(𝑁 − 2))(𝑊‘((𝑁 − 2) + 1))”〉) | |
| 28 | 9, 13, 26, 27 | syl3anc 1398 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉) = 〈“(𝑊‘(𝑁 − 2))(𝑊‘((𝑁 − 2) + 1))”〉) |
| 29 | eqidd 2764 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊‘(𝑁 − 2)) = (𝑊‘(𝑁 − 2))) | |
| 30 | 18 | fveq2d 6887 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑊‘((𝑁 − 2) + 1)) = (𝑊‘(𝑁 − 1))) |
| 31 | 30 | adantl 486 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊‘((𝑁 − 2) + 1)) = (𝑊‘(𝑁 − 1))) |
| 32 | 29, 31 | s2eqd 14902 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → 〈“(𝑊‘(𝑁 − 2))(𝑊‘((𝑁 − 2) + 1))”〉 = 〈“(𝑊‘(𝑁 − 2))(𝑊‘(𝑁 − 1))”〉) |
| 33 | 8, 28, 32 | 3eqtrd 2802 | 1 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), 𝑁〉) = 〈“(𝑊‘(𝑁 − 2))(𝑊‘(𝑁 − 1))”〉) |
| Colors of variables: wff setvar class |
| Syntax hints: → wi 4 ∧ wa 400 = wceq 1570 ∈ wcel 2143 ⊆ wss 3906 〈cop 4596 ‘cfv 6538 (class class class)co 7412 0cc0 11101 1c1 11102 + caddc 11104 − cmin 11442 2c2 12296 ℕ0cn0 12505 ℤ≥cuz 12863 ...cfz 13536 ..^cfzo 13684 ♯chash 14368 Word cword 14552 substr csubstr 14680 〈“cs2 14880 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1825 ax-4 1839 ax-5 1940 ax-6 1997 ax-7 2038 ax-8 2145 ax-9 2153 ax-10 2176 ax-11 2192 ax-12 2213 ax-ext 2735 ax-rep 5239 ax-sep 5258 ax-nul 5270 ax-pow 5338 ax-pr 5406 ax-un 7734 ax-cnex 11157 ax-resscn 11158 ax-1cn 11159 ax-icn 11160 ax-addcl 11161 ax-addrcl 11162 ax-mulcl 11163 ax-mulrcl 11164 ax-mulcom 11165 ax-addass 11166 ax-mulass 11167 ax-distr 11168 ax-i2m1 11169 ax-1ne0 11170 ax-1rid 11171 ax-rnegex 11172 ax-rrecex 11173 ax-cnre 11174 ax-pre-lttri 11175 ax-pre-lttrn 11176 ax-pre-ltadd 11177 ax-pre-mulgt0 11178 |
| This theorem depends on definitions: df-bi 210 df-an 401 df-or 861 df-3or 1104 df-3an 1105 df-tru 1573 df-fal 1583 df-ex 1810 df-nf 1814 df-sb 2097 df-mo 2567 df-eu 2597 df-clab 2742 df-cleq 2755 df-clel 2838 df-nfc 2912 df-ne 2959 df-nel 3065 df-ral 3080 df-rex 3090 df-reu 3370 df-rab 3417 df-v 3457 df-sbc 3746 df-csb 3855 df-dif 3909 df-un 3911 df-in 3913 df-ss 3923 df-pss 3926 df-nul 4288 df-if 4489 df-pw 4565 df-sn 4591 df-pr 4593 df-op 4597 df-uni 4874 df-int 4914 df-iun 4959 df-br 5111 df-opab 5175 df-mpt 5194 df-tr 5220 df-id 5558 df-eprel 5563 df-po 5571 df-so 5572 df-fr 5616 df-we 5618 df-xp 5669 df-rel 5670 df-cnv 5671 df-co 5672 df-dm 5673 df-rn 5674 df-res 5675 df-ima 5676 df-pred 6304 df-ord 6365 df-on 6366 df-lim 6367 df-suc 6368 df-iota 6494 df-fun 6540 df-fn 6541 df-f 6542 df-f1 6543 df-fo 6544 df-f1o 6545 df-fv 6546 df-riota 7369 df-ov 7415 df-oprab 7416 df-mpo 7417 df-om 7864 df-1st 7987 df-2nd 7988 df-frecs 8279 df-wrecs 8310 df-recs 8359 df-rdg 8398 df-1o 8454 df-er 8695 df-en 8945 df-dom 8946 df-sdom 8947 df-fin 8948 df-card 9926 df-pnf 11246 df-mnf 11247 df-xr 11248 df-ltxr 11249 df-le 11250 df-sub 11444 df-neg 11445 df-nn 12235 df-2 12304 df-n0 12506 df-z 12593 df-uz 12864 df-fz 13537 df-fzo 13685 df-hash 14369 df-word 14553 df-concat 14610 df-s1 14636 df-substr 14681 df-s2 14887 |
| This theorem is referenced by: 2clwwlk2clwwlklem 30678 |
| Copyright terms: Public domain | W3C validator |