![]() |
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 12722 | . . . . . . . 8 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ ℤ) | |
2 | 1 | zcnd 11899 | . . . . . . 7 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ ℂ) |
3 | 2cnd 11516 | . . . . . . 7 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 2 ∈ ℂ) | |
4 | 2, 3 | npcand 10800 | . . . . . 6 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ((𝑁 − 2) + 2) = 𝑁) |
5 | 4 | eqcomd 2777 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 = ((𝑁 − 2) + 2)) |
6 | 5 | opeq2d 4680 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 〈(𝑁 − 2), 𝑁〉 = 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉) |
7 | 6 | oveq2d 6990 | . . 3 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑊 substr 〈(𝑁 − 2), 𝑁〉) = (𝑊 substr 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉)) |
8 | 7 | adantl 474 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), 𝑁〉) = (𝑊 substr 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉)) |
9 | simpl 475 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → 𝑊 ∈ Word 𝑉) | |
10 | elfzuz 12718 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ (ℤ≥‘2)) | |
11 | uznn0sub 12089 | . . . . 5 ⊢ (𝑁 ∈ (ℤ≥‘2) → (𝑁 − 2) ∈ ℕ0) | |
12 | 10, 11 | syl 17 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑁 − 2) ∈ ℕ0) |
13 | 12 | adantl 474 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑁 − 2) ∈ ℕ0) |
14 | 2m1e1 11571 | . . . . . . 7 ⊢ (2 − 1) = 1 | |
15 | 14 | oveq2i 6985 | . . . . . 6 ⊢ (𝑁 − (2 − 1)) = (𝑁 − 1) |
16 | 1cnd 10432 | . . . . . . 7 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 1 ∈ ℂ) | |
17 | 2, 3, 16 | subsubd 10824 | . . . . . 6 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑁 − (2 − 1)) = ((𝑁 − 2) + 1)) |
18 | 15, 17 | syl5reqr 2822 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ((𝑁 − 2) + 1) = (𝑁 − 1)) |
19 | 2eluzge1 12106 | . . . . . . . 8 ⊢ 2 ∈ (ℤ≥‘1) | |
20 | fzss1 12760 | . . . . . . . 8 ⊢ (2 ∈ (ℤ≥‘1) → (2...(♯‘𝑊)) ⊆ (1...(♯‘𝑊))) | |
21 | 19, 20 | ax-mp 5 | . . . . . . 7 ⊢ (2...(♯‘𝑊)) ⊆ (1...(♯‘𝑊)) |
22 | 21 | sseli 3847 | . . . . . 6 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ (1...(♯‘𝑊))) |
23 | fz1fzo0m1 12898 | . . . . . 6 ⊢ (𝑁 ∈ (1...(♯‘𝑊)) → (𝑁 − 1) ∈ (0..^(♯‘𝑊))) | |
24 | 22, 23 | syl 17 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑁 − 1) ∈ (0..^(♯‘𝑊))) |
25 | 18, 24 | eqeltrd 2859 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ((𝑁 − 2) + 1) ∈ (0..^(♯‘𝑊))) |
26 | 25 | adantl 474 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → ((𝑁 − 2) + 1) ∈ (0..^(♯‘𝑊))) |
27 | swrds2 14162 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝑁 − 2) ∈ ℕ0 ∧ ((𝑁 − 2) + 1) ∈ (0..^(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉) = 〈“(𝑊‘(𝑁 − 2))(𝑊‘((𝑁 − 2) + 1))”〉) | |
28 | 9, 13, 26, 27 | syl3anc 1352 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉) = 〈“(𝑊‘(𝑁 − 2))(𝑊‘((𝑁 − 2) + 1))”〉) |
29 | eqidd 2772 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊‘(𝑁 − 2)) = (𝑊‘(𝑁 − 2))) | |
30 | 18 | fveq2d 6500 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑊‘((𝑁 − 2) + 1)) = (𝑊‘(𝑁 − 1))) |
31 | 30 | adantl 474 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊‘((𝑁 − 2) + 1)) = (𝑊‘(𝑁 − 1))) |
32 | 29, 31 | s2eqd 14085 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → 〈“(𝑊‘(𝑁 − 2))(𝑊‘((𝑁 − 2) + 1))”〉 = 〈“(𝑊‘(𝑁 − 2))(𝑊‘(𝑁 − 1))”〉) |
33 | 8, 28, 32 | 3eqtrd 2811 | 1 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), 𝑁〉) = 〈“(𝑊‘(𝑁 − 2))(𝑊‘(𝑁 − 1))”〉) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 387 = wceq 1508 ∈ wcel 2051 ⊆ wss 3822 〈cop 4441 ‘cfv 6185 (class class class)co 6974 0cc0 10333 1c1 10334 + caddc 10336 − cmin 10668 2c2 11493 ℕ0cn0 11705 ℤ≥cuz 12056 ...cfz 12706 ..^cfzo 12847 ♯chash 13503 Word cword 13670 substr csubstr 13801 〈“cs2 14063 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1759 ax-4 1773 ax-5 1870 ax-6 1929 ax-7 1966 ax-8 2053 ax-9 2060 ax-10 2080 ax-11 2094 ax-12 2107 ax-13 2302 ax-ext 2743 ax-rep 5045 ax-sep 5056 ax-nul 5063 ax-pow 5115 ax-pr 5182 ax-un 7277 ax-cnex 10389 ax-resscn 10390 ax-1cn 10391 ax-icn 10392 ax-addcl 10393 ax-addrcl 10394 ax-mulcl 10395 ax-mulrcl 10396 ax-mulcom 10397 ax-addass 10398 ax-mulass 10399 ax-distr 10400 ax-i2m1 10401 ax-1ne0 10402 ax-1rid 10403 ax-rnegex 10404 ax-rrecex 10405 ax-cnre 10406 ax-pre-lttri 10407 ax-pre-lttrn 10408 ax-pre-ltadd 10409 ax-pre-mulgt0 10410 |
This theorem depends on definitions: df-bi 199 df-an 388 df-or 835 df-3or 1070 df-3an 1071 df-tru 1511 df-ex 1744 df-nf 1748 df-sb 2017 df-mo 2548 df-eu 2585 df-clab 2752 df-cleq 2764 df-clel 2839 df-nfc 2911 df-ne 2961 df-nel 3067 df-ral 3086 df-rex 3087 df-reu 3088 df-rab 3090 df-v 3410 df-sbc 3675 df-csb 3780 df-dif 3825 df-un 3827 df-in 3829 df-ss 3836 df-pss 3838 df-nul 4173 df-if 4345 df-pw 4418 df-sn 4436 df-pr 4438 df-tp 4440 df-op 4442 df-uni 4709 df-int 4746 df-iun 4790 df-br 4926 df-opab 4988 df-mpt 5005 df-tr 5027 df-id 5308 df-eprel 5313 df-po 5322 df-so 5323 df-fr 5362 df-we 5364 df-xp 5409 df-rel 5410 df-cnv 5411 df-co 5412 df-dm 5413 df-rn 5414 df-res 5415 df-ima 5416 df-pred 5983 df-ord 6029 df-on 6030 df-lim 6031 df-suc 6032 df-iota 6149 df-fun 6187 df-fn 6188 df-f 6189 df-f1 6190 df-fo 6191 df-f1o 6192 df-fv 6193 df-riota 6935 df-ov 6977 df-oprab 6978 df-mpo 6979 df-om 7395 df-1st 7499 df-2nd 7500 df-wrecs 7748 df-recs 7810 df-rdg 7848 df-1o 7903 df-oadd 7907 df-er 8087 df-en 8305 df-dom 8306 df-sdom 8307 df-fin 8308 df-card 9160 df-pnf 10474 df-mnf 10475 df-xr 10476 df-ltxr 10477 df-le 10478 df-sub 10670 df-neg 10671 df-nn 11438 df-2 11501 df-n0 11706 df-z 11792 df-uz 12057 df-fz 12707 df-fzo 12848 df-hash 13504 df-word 13671 df-concat 13732 df-s1 13757 df-substr 13802 df-s2 14070 |
This theorem is referenced by: 2clwwlk2clwwlklem 27898 |
Copyright terms: Public domain | W3C validator |