| Intuitionistic Logic Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > ILE Home > Th. List > swrdlsw | GIF version | ||
| Description: Extract the last single symbol from a word. (Contributed by Alexander van der Vekens, 23-Sep-2018.) |
| Ref | Expression |
|---|---|
| swrdlsw | ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (𝑊 substr 〈((♯‘𝑊) − 1), (♯‘𝑊)〉) = 〈“(lastS‘𝑊)”〉) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | wrdfin 11301 | . . . . . 6 ⊢ (𝑊 ∈ Word 𝑉 → 𝑊 ∈ Fin) | |
| 2 | fihashneq0 11211 | . . . . . 6 ⊢ (𝑊 ∈ Fin → (0 < (♯‘𝑊) ↔ 𝑊 ≠ ∅)) | |
| 3 | 1, 2 | syl 14 | . . . . 5 ⊢ (𝑊 ∈ Word 𝑉 → (0 < (♯‘𝑊) ↔ 𝑊 ≠ ∅)) |
| 4 | lencl 11286 | . . . . . 6 ⊢ (𝑊 ∈ Word 𝑉 → (♯‘𝑊) ∈ ℕ0) | |
| 5 | nn0z 9643 | . . . . . 6 ⊢ ((♯‘𝑊) ∈ ℕ0 → (♯‘𝑊) ∈ ℤ) | |
| 6 | elnnz 9633 | . . . . . . . 8 ⊢ ((♯‘𝑊) ∈ ℕ ↔ ((♯‘𝑊) ∈ ℤ ∧ 0 < (♯‘𝑊))) | |
| 7 | fzo0end 10619 | . . . . . . . 8 ⊢ ((♯‘𝑊) ∈ ℕ → ((♯‘𝑊) − 1) ∈ (0..^(♯‘𝑊))) | |
| 8 | 6, 7 | sylbir 135 | . . . . . . 7 ⊢ (((♯‘𝑊) ∈ ℤ ∧ 0 < (♯‘𝑊)) → ((♯‘𝑊) − 1) ∈ (0..^(♯‘𝑊))) |
| 9 | 8 | ex 115 | . . . . . 6 ⊢ ((♯‘𝑊) ∈ ℤ → (0 < (♯‘𝑊) → ((♯‘𝑊) − 1) ∈ (0..^(♯‘𝑊)))) |
| 10 | 4, 5, 9 | 3syl 17 | . . . . 5 ⊢ (𝑊 ∈ Word 𝑉 → (0 < (♯‘𝑊) → ((♯‘𝑊) − 1) ∈ (0..^(♯‘𝑊)))) |
| 11 | 3, 10 | sylbird 170 | . . . 4 ⊢ (𝑊 ∈ Word 𝑉 → (𝑊 ≠ ∅ → ((♯‘𝑊) − 1) ∈ (0..^(♯‘𝑊)))) |
| 12 | 11 | imp 124 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → ((♯‘𝑊) − 1) ∈ (0..^(♯‘𝑊))) |
| 13 | swrds1 11418 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ ((♯‘𝑊) − 1) ∈ (0..^(♯‘𝑊))) → (𝑊 substr 〈((♯‘𝑊) − 1), (((♯‘𝑊) − 1) + 1)〉) = 〈“(𝑊‘((♯‘𝑊) − 1))”〉) | |
| 14 | 12, 13 | syldan 282 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (𝑊 substr 〈((♯‘𝑊) − 1), (((♯‘𝑊) − 1) + 1)〉) = 〈“(𝑊‘((♯‘𝑊) − 1))”〉) |
| 15 | nn0cn 9552 | . . . . . . 7 ⊢ ((♯‘𝑊) ∈ ℕ0 → (♯‘𝑊) ∈ ℂ) | |
| 16 | ax-1cn 8262 | . . . . . . 7 ⊢ 1 ∈ ℂ | |
| 17 | 15, 16 | jctir 313 | . . . . . 6 ⊢ ((♯‘𝑊) ∈ ℕ0 → ((♯‘𝑊) ∈ ℂ ∧ 1 ∈ ℂ)) |
| 18 | npcan 8525 | . . . . . . 7 ⊢ (((♯‘𝑊) ∈ ℂ ∧ 1 ∈ ℂ) → (((♯‘𝑊) − 1) + 1) = (♯‘𝑊)) | |
| 19 | 18 | eqcomd 2244 | . . . . . 6 ⊢ (((♯‘𝑊) ∈ ℂ ∧ 1 ∈ ℂ) → (♯‘𝑊) = (((♯‘𝑊) − 1) + 1)) |
| 20 | 4, 17, 19 | 3syl 17 | . . . . 5 ⊢ (𝑊 ∈ Word 𝑉 → (♯‘𝑊) = (((♯‘𝑊) − 1) + 1)) |
| 21 | 20 | adantr 276 | . . . 4 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (♯‘𝑊) = (((♯‘𝑊) − 1) + 1)) |
| 22 | 21 | opeq2d 3906 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → 〈((♯‘𝑊) − 1), (♯‘𝑊)〉 = 〈((♯‘𝑊) − 1), (((♯‘𝑊) − 1) + 1)〉) |
| 23 | 22 | oveq2d 6091 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (𝑊 substr 〈((♯‘𝑊) − 1), (♯‘𝑊)〉) = (𝑊 substr 〈((♯‘𝑊) − 1), (((♯‘𝑊) − 1) + 1)〉)) |
| 24 | lswwrd 11329 | . . . 4 ⊢ (𝑊 ∈ Word 𝑉 → (lastS‘𝑊) = (𝑊‘((♯‘𝑊) − 1))) | |
| 25 | 24 | adantr 276 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (lastS‘𝑊) = (𝑊‘((♯‘𝑊) − 1))) |
| 26 | 25 | s1eqd 11366 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → 〈“(lastS‘𝑊)”〉 = 〈“(𝑊‘((♯‘𝑊) − 1))”〉) |
| 27 | 14, 23, 26 | 3eqtr4d 2281 | 1 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑊 ≠ ∅) → (𝑊 substr 〈((♯‘𝑊) − 1), (♯‘𝑊)〉) = 〈“(lastS‘𝑊)”〉) |
| Colors of variables: wff set class |
| Syntax hints: → wi 4 ∧ wa 104 ↔ wb 105 = wceq 1402 ∈ wcel 2209 ≠ wne 2420 ∅c0 3520 〈cop 3708 class class class wbr 4125 ‘cfv 5372 (class class class)co 6075 Fincfn 7012 ℂcc 8167 0cc0 8169 1c1 8170 + caddc 8172 < clt 8350 − cmin 8487 ℕcn 9283 ℕ0cn0 9542 ℤcz 9623 ..^cfzo 10527 ♯chash 11192 Word cword 11282 lastSclsw 11327 〈“cs1 11361 substr csubstr 11395 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-ia1 106 ax-ia2 107 ax-ia3 108 ax-in1 623 ax-in2 624 ax-io 721 ax-5 1500 ax-7 1501 ax-gen 1502 ax-ie1 1546 ax-ie2 1547 ax-8 1557 ax-10 1558 ax-11 1559 ax-i12 1560 ax-bndl 1562 ax-4 1563 ax-17 1579 ax-i9 1583 ax-ial 1587 ax-i5r 1588 ax-14 2212 ax-ext 2220 ax-coll 4241 ax-sep 4244 ax-nul 4254 ax-pow 4306 ax-pr 4341 ax-un 4573 ax-setind 4679 ax-iinf 4730 ax-cnex 8260 ax-resscn 8261 ax-1cn 8262 ax-1re 8263 ax-icn 8264 ax-addcl 8265 ax-addrcl 8266 ax-mulcl 8267 ax-mulrcl 8268 ax-addcom 8269 ax-mulcom 8270 ax-addass 8271 ax-mulass 8272 ax-distr 8273 ax-i2m1 8274 ax-0lt1 8275 ax-1rid 8276 ax-0id 8277 ax-rnegex 8278 ax-precex 8279 ax-cnre 8280 ax-pre-ltirr 8281 ax-pre-ltwlin 8282 ax-pre-lttrn 8283 ax-pre-apti 8284 ax-pre-ltadd 8285 ax-pre-mulgt0 8286 |
| This theorem depends on definitions: df-bi 117 df-dc 847 df-3or 1010 df-3an 1011 df-tru 1405 df-fal 1408 df-nf 1514 df-sb 1816 df-eu 2089 df-mo 2090 df-clab 2225 df-cleq 2231 df-clel 2234 df-nfc 2381 df-ne 2421 df-nel 2516 df-ral 2533 df-rex 2534 df-reu 2535 df-rab 2537 df-v 2823 df-sbc 3052 df-csb 3148 df-dif 3222 df-un 3224 df-in 3226 df-ss 3233 df-nul 3521 df-if 3636 df-pw 3687 df-sn 3711 df-pr 3712 df-op 3714 df-uni 3931 df-int 3966 df-iun 4009 df-br 4126 df-opab 4188 df-mpt 4189 df-tr 4225 df-id 4433 df-iord 4506 df-on 4508 df-ilim 4509 df-suc 4511 df-iom 4733 df-xp 4775 df-rel 4776 df-cnv 4777 df-co 4778 df-dm 4779 df-rn 4780 df-res 4781 df-ima 4782 df-iota 5332 df-fun 5374 df-fn 5375 df-f 5376 df-f1 5377 df-fo 5378 df-f1o 5379 df-fv 5380 df-riota 6028 df-ov 6078 df-oprab 6079 df-mpo 6080 df-1st 6364 df-2nd 6365 df-recs 6566 df-frec 6652 df-1o 6677 df-er 6797 df-en 7013 df-dom 7014 df-fin 7015 df-pnf 8352 df-mnf 8353 df-xr 8354 df-ltxr 8355 df-le 8356 df-sub 8489 df-neg 8490 df-reap 8893 df-ap 8900 df-inn 9284 df-n0 9543 df-z 9624 df-uz 9901 df-fz 10391 df-fzo 10528 df-ihash 11193 df-word 11283 df-lsw 11328 df-s1 11362 df-substr 11396 |
| This theorem is referenced by: pfxsuff1eqwrdeq 11449 pfxlswccat 11463 |
| Copyright terms: Public domain | W3C validator |