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 12911 | . . . . . . . 8 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ ℤ) | |
2 | 1 | zcnd 12091 | . . . . . . 7 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ ℂ) |
3 | 2cnd 11718 | . . . . . . 7 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 2 ∈ ℂ) | |
4 | 2, 3 | npcand 11003 | . . . . . 6 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ((𝑁 − 2) + 2) = 𝑁) |
5 | 4 | eqcomd 2829 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 = ((𝑁 − 2) + 2)) |
6 | 5 | opeq2d 4812 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 〈(𝑁 − 2), 𝑁〉 = 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉) |
7 | 6 | oveq2d 7174 | . . 3 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑊 substr 〈(𝑁 − 2), 𝑁〉) = (𝑊 substr 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉)) |
8 | 7 | adantl 484 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), 𝑁〉) = (𝑊 substr 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉)) |
9 | simpl 485 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → 𝑊 ∈ Word 𝑉) | |
10 | elfzuz 12907 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ (ℤ≥‘2)) | |
11 | uznn0sub 12280 | . . . . 5 ⊢ (𝑁 ∈ (ℤ≥‘2) → (𝑁 − 2) ∈ ℕ0) | |
12 | 10, 11 | syl 17 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑁 − 2) ∈ ℕ0) |
13 | 12 | adantl 484 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑁 − 2) ∈ ℕ0) |
14 | 2m1e1 11766 | . . . . . . 7 ⊢ (2 − 1) = 1 | |
15 | 14 | oveq2i 7169 | . . . . . 6 ⊢ (𝑁 − (2 − 1)) = (𝑁 − 1) |
16 | 1cnd 10638 | . . . . . . 7 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 1 ∈ ℂ) | |
17 | 2, 3, 16 | subsubd 11027 | . . . . . 6 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑁 − (2 − 1)) = ((𝑁 − 2) + 1)) |
18 | 15, 17 | syl5reqr 2873 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ((𝑁 − 2) + 1) = (𝑁 − 1)) |
19 | 2eluzge1 12297 | . . . . . . . 8 ⊢ 2 ∈ (ℤ≥‘1) | |
20 | fzss1 12949 | . . . . . . . 8 ⊢ (2 ∈ (ℤ≥‘1) → (2...(♯‘𝑊)) ⊆ (1...(♯‘𝑊))) | |
21 | 19, 20 | ax-mp 5 | . . . . . . 7 ⊢ (2...(♯‘𝑊)) ⊆ (1...(♯‘𝑊)) |
22 | 21 | sseli 3965 | . . . . . 6 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ (1...(♯‘𝑊))) |
23 | fz1fzo0m1 13088 | . . . . . 6 ⊢ (𝑁 ∈ (1...(♯‘𝑊)) → (𝑁 − 1) ∈ (0..^(♯‘𝑊))) | |
24 | 22, 23 | syl 17 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑁 − 1) ∈ (0..^(♯‘𝑊))) |
25 | 18, 24 | eqeltrd 2915 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ((𝑁 − 2) + 1) ∈ (0..^(♯‘𝑊))) |
26 | 25 | adantl 484 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → ((𝑁 − 2) + 1) ∈ (0..^(♯‘𝑊))) |
27 | swrds2 14304 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝑁 − 2) ∈ ℕ0 ∧ ((𝑁 − 2) + 1) ∈ (0..^(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉) = 〈“(𝑊‘(𝑁 − 2))(𝑊‘((𝑁 − 2) + 1))”〉) | |
28 | 9, 13, 26, 27 | syl3anc 1367 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), ((𝑁 − 2) + 2)〉) = 〈“(𝑊‘(𝑁 − 2))(𝑊‘((𝑁 − 2) + 1))”〉) |
29 | eqidd 2824 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊‘(𝑁 − 2)) = (𝑊‘(𝑁 − 2))) | |
30 | 18 | fveq2d 6676 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑊‘((𝑁 − 2) + 1)) = (𝑊‘(𝑁 − 1))) |
31 | 30 | adantl 484 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊‘((𝑁 − 2) + 1)) = (𝑊‘(𝑁 − 1))) |
32 | 29, 31 | s2eqd 14227 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → 〈“(𝑊‘(𝑁 − 2))(𝑊‘((𝑁 − 2) + 1))”〉 = 〈“(𝑊‘(𝑁 − 2))(𝑊‘(𝑁 − 1))”〉) |
33 | 8, 28, 32 | 3eqtrd 2862 | 1 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr 〈(𝑁 − 2), 𝑁〉) = 〈“(𝑊‘(𝑁 − 2))(𝑊‘(𝑁 − 1))”〉) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 398 = wceq 1537 ∈ wcel 2114 ⊆ wss 3938 〈cop 4575 ‘cfv 6357 (class class class)co 7158 0cc0 10539 1c1 10540 + caddc 10542 − cmin 10872 2c2 11695 ℕ0cn0 11900 ℤ≥cuz 12246 ...cfz 12895 ..^cfzo 13036 ♯chash 13693 Word cword 13864 substr csubstr 14004 〈“cs2 14205 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1796 ax-4 1810 ax-5 1911 ax-6 1970 ax-7 2015 ax-8 2116 ax-9 2124 ax-10 2145 ax-11 2161 ax-12 2177 ax-ext 2795 ax-rep 5192 ax-sep 5205 ax-nul 5212 ax-pow 5268 ax-pr 5332 ax-un 7463 ax-cnex 10595 ax-resscn 10596 ax-1cn 10597 ax-icn 10598 ax-addcl 10599 ax-addrcl 10600 ax-mulcl 10601 ax-mulrcl 10602 ax-mulcom 10603 ax-addass 10604 ax-mulass 10605 ax-distr 10606 ax-i2m1 10607 ax-1ne0 10608 ax-1rid 10609 ax-rnegex 10610 ax-rrecex 10611 ax-cnre 10612 ax-pre-lttri 10613 ax-pre-lttrn 10614 ax-pre-ltadd 10615 ax-pre-mulgt0 10616 |
This theorem depends on definitions: df-bi 209 df-an 399 df-or 844 df-3or 1084 df-3an 1085 df-tru 1540 df-ex 1781 df-nf 1785 df-sb 2070 df-mo 2622 df-eu 2654 df-clab 2802 df-cleq 2816 df-clel 2895 df-nfc 2965 df-ne 3019 df-nel 3126 df-ral 3145 df-rex 3146 df-reu 3147 df-rab 3149 df-v 3498 df-sbc 3775 df-csb 3886 df-dif 3941 df-un 3943 df-in 3945 df-ss 3954 df-pss 3956 df-nul 4294 df-if 4470 df-pw 4543 df-sn 4570 df-pr 4572 df-tp 4574 df-op 4576 df-uni 4841 df-int 4879 df-iun 4923 df-br 5069 df-opab 5131 df-mpt 5149 df-tr 5175 df-id 5462 df-eprel 5467 df-po 5476 df-so 5477 df-fr 5516 df-we 5518 df-xp 5563 df-rel 5564 df-cnv 5565 df-co 5566 df-dm 5567 df-rn 5568 df-res 5569 df-ima 5570 df-pred 6150 df-ord 6196 df-on 6197 df-lim 6198 df-suc 6199 df-iota 6316 df-fun 6359 df-fn 6360 df-f 6361 df-f1 6362 df-fo 6363 df-f1o 6364 df-fv 6365 df-riota 7116 df-ov 7161 df-oprab 7162 df-mpo 7163 df-om 7583 df-1st 7691 df-2nd 7692 df-wrecs 7949 df-recs 8010 df-rdg 8048 df-1o 8104 df-oadd 8108 df-er 8291 df-en 8512 df-dom 8513 df-sdom 8514 df-fin 8515 df-card 9370 df-pnf 10679 df-mnf 10680 df-xr 10681 df-ltxr 10682 df-le 10683 df-sub 10874 df-neg 10875 df-nn 11641 df-2 11703 df-n0 11901 df-z 11985 df-uz 12247 df-fz 12896 df-fzo 13037 df-hash 13694 df-word 13865 df-concat 13925 df-s1 13952 df-substr 14005 df-s2 14212 |
This theorem is referenced by: 2clwwlk2clwwlklem 28127 |
Copyright terms: Public domain | W3C validator |