![]() |
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 13508 | . . . . . . . 8 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ ℤ) | |
2 | 1 | zcnd 12674 | . . . . . . 7 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ ℂ) |
3 | 2cnd 12297 | . . . . . . 7 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 2 ∈ ℂ) | |
4 | 2, 3 | npcand 11582 | . . . . . 6 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ((𝑁 − 2) + 2) = 𝑁) |
5 | 4 | eqcomd 2737 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 = ((𝑁 − 2) + 2)) |
6 | 5 | opeq2d 4880 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ⟨(𝑁 − 2), 𝑁⟩ = ⟨(𝑁 − 2), ((𝑁 − 2) + 2)⟩) |
7 | 6 | oveq2d 7428 | . . 3 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑊 substr ⟨(𝑁 − 2), 𝑁⟩) = (𝑊 substr ⟨(𝑁 − 2), ((𝑁 − 2) + 2)⟩)) |
8 | 7 | adantl 481 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr ⟨(𝑁 − 2), 𝑁⟩) = (𝑊 substr ⟨(𝑁 − 2), ((𝑁 − 2) + 2)⟩)) |
9 | simpl 482 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → 𝑊 ∈ Word 𝑉) | |
10 | elfzuz 13504 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ (ℤ≥‘2)) | |
11 | uznn0sub 12868 | . . . . 5 ⊢ (𝑁 ∈ (ℤ≥‘2) → (𝑁 − 2) ∈ ℕ0) | |
12 | 10, 11 | syl 17 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑁 − 2) ∈ ℕ0) |
13 | 12 | adantl 481 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑁 − 2) ∈ ℕ0) |
14 | 1cnd 11216 | . . . . . . 7 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 1 ∈ ℂ) | |
15 | 2, 3, 14 | subsubd 11606 | . . . . . 6 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑁 − (2 − 1)) = ((𝑁 − 2) + 1)) |
16 | 2m1e1 12345 | . . . . . . 7 ⊢ (2 − 1) = 1 | |
17 | 16 | oveq2i 7423 | . . . . . 6 ⊢ (𝑁 − (2 − 1)) = (𝑁 − 1) |
18 | 15, 17 | eqtr3di 2786 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ((𝑁 − 2) + 1) = (𝑁 − 1)) |
19 | 2eluzge1 12885 | . . . . . . . 8 ⊢ 2 ∈ (ℤ≥‘1) | |
20 | fzss1 13547 | . . . . . . . 8 ⊢ (2 ∈ (ℤ≥‘1) → (2...(♯‘𝑊)) ⊆ (1...(♯‘𝑊))) | |
21 | 19, 20 | ax-mp 5 | . . . . . . 7 ⊢ (2...(♯‘𝑊)) ⊆ (1...(♯‘𝑊)) |
22 | 21 | sseli 3978 | . . . . . 6 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → 𝑁 ∈ (1...(♯‘𝑊))) |
23 | fz1fzo0m1 13687 | . . . . . 6 ⊢ (𝑁 ∈ (1...(♯‘𝑊)) → (𝑁 − 1) ∈ (0..^(♯‘𝑊))) | |
24 | 22, 23 | syl 17 | . . . . 5 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑁 − 1) ∈ (0..^(♯‘𝑊))) |
25 | 18, 24 | eqeltrd 2832 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → ((𝑁 − 2) + 1) ∈ (0..^(♯‘𝑊))) |
26 | 25 | adantl 481 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → ((𝑁 − 2) + 1) ∈ (0..^(♯‘𝑊))) |
27 | swrds2 14898 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝑁 − 2) ∈ ℕ0 ∧ ((𝑁 − 2) + 1) ∈ (0..^(♯‘𝑊))) → (𝑊 substr ⟨(𝑁 − 2), ((𝑁 − 2) + 2)⟩) = ⟨“(𝑊‘(𝑁 − 2))(𝑊‘((𝑁 − 2) + 1))”⟩) | |
28 | 9, 13, 26, 27 | syl3anc 1370 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr ⟨(𝑁 − 2), ((𝑁 − 2) + 2)⟩) = ⟨“(𝑊‘(𝑁 − 2))(𝑊‘((𝑁 − 2) + 1))”⟩) |
29 | eqidd 2732 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊‘(𝑁 − 2)) = (𝑊‘(𝑁 − 2))) | |
30 | 18 | fveq2d 6895 | . . . 4 ⊢ (𝑁 ∈ (2...(♯‘𝑊)) → (𝑊‘((𝑁 − 2) + 1)) = (𝑊‘(𝑁 − 1))) |
31 | 30 | adantl 481 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊‘((𝑁 − 2) + 1)) = (𝑊‘(𝑁 − 1))) |
32 | 29, 31 | s2eqd 14821 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → ⟨“(𝑊‘(𝑁 − 2))(𝑊‘((𝑁 − 2) + 1))”⟩ = ⟨“(𝑊‘(𝑁 − 2))(𝑊‘(𝑁 − 1))”⟩) |
33 | 8, 28, 32 | 3eqtrd 2775 | 1 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑁 ∈ (2...(♯‘𝑊))) → (𝑊 substr ⟨(𝑁 − 2), 𝑁⟩) = ⟨“(𝑊‘(𝑁 − 2))(𝑊‘(𝑁 − 1))”⟩) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 395 = wceq 1540 ∈ wcel 2105 ⊆ wss 3948 ⟨cop 4634 ‘cfv 6543 (class class class)co 7412 0cc0 11116 1c1 11117 + caddc 11119 − cmin 11451 2c2 12274 ℕ0cn0 12479 ℤ≥cuz 12829 ...cfz 13491 ..^cfzo 13634 ♯chash 14297 Word cword 14471 substr csubstr 14597 ⟨“cs2 14799 |
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 1912 ax-6 1970 ax-7 2010 ax-8 2107 ax-9 2115 ax-10 2136 ax-11 2153 ax-12 2170 ax-ext 2702 ax-rep 5285 ax-sep 5299 ax-nul 5306 ax-pow 5363 ax-pr 5427 ax-un 7729 ax-cnex 11172 ax-resscn 11173 ax-1cn 11174 ax-icn 11175 ax-addcl 11176 ax-addrcl 11177 ax-mulcl 11178 ax-mulrcl 11179 ax-mulcom 11180 ax-addass 11181 ax-mulass 11182 ax-distr 11183 ax-i2m1 11184 ax-1ne0 11185 ax-1rid 11186 ax-rnegex 11187 ax-rrecex 11188 ax-cnre 11189 ax-pre-lttri 11190 ax-pre-lttrn 11191 ax-pre-ltadd 11192 ax-pre-mulgt0 11193 |
This theorem depends on definitions: df-bi 206 df-an 396 df-or 845 df-3or 1087 df-3an 1088 df-tru 1543 df-fal 1553 df-ex 1781 df-nf 1785 df-sb 2067 df-mo 2533 df-eu 2562 df-clab 2709 df-cleq 2723 df-clel 2809 df-nfc 2884 df-ne 2940 df-nel 3046 df-ral 3061 df-rex 3070 df-reu 3376 df-rab 3432 df-v 3475 df-sbc 3778 df-csb 3894 df-dif 3951 df-un 3953 df-in 3955 df-ss 3965 df-pss 3967 df-nul 4323 df-if 4529 df-pw 4604 df-sn 4629 df-pr 4631 df-op 4635 df-uni 4909 df-int 4951 df-iun 4999 df-br 5149 df-opab 5211 df-mpt 5232 df-tr 5266 df-id 5574 df-eprel 5580 df-po 5588 df-so 5589 df-fr 5631 df-we 5633 df-xp 5682 df-rel 5683 df-cnv 5684 df-co 5685 df-dm 5686 df-rn 5687 df-res 5688 df-ima 5689 df-pred 6300 df-ord 6367 df-on 6368 df-lim 6369 df-suc 6370 df-iota 6495 df-fun 6545 df-fn 6546 df-f 6547 df-f1 6548 df-fo 6549 df-f1o 6550 df-fv 6551 df-riota 7368 df-ov 7415 df-oprab 7416 df-mpo 7417 df-om 7860 df-1st 7979 df-2nd 7980 df-frecs 8272 df-wrecs 8303 df-recs 8377 df-rdg 8416 df-1o 8472 df-er 8709 df-en 8946 df-dom 8947 df-sdom 8948 df-fin 8949 df-card 9940 df-pnf 11257 df-mnf 11258 df-xr 11259 df-ltxr 11260 df-le 11261 df-sub 11453 df-neg 11454 df-nn 12220 df-2 12282 df-n0 12480 df-z 12566 df-uz 12830 df-fz 13492 df-fzo 13635 df-hash 14298 df-word 14472 df-concat 14528 df-s1 14553 df-substr 14598 df-s2 14806 |
This theorem is referenced by: 2clwwlk2clwwlklem 30034 |
Copyright terms: Public domain | W3C validator |