MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  pfxlswccat Structured version   Visualization version   GIF version

Theorem pfxlswccat 14607
Description: Reconstruct a nonempty word from its prefix and last symbol. (Contributed by Alexander van der Vekens, 5-Aug-2018.) (Revised by AV, 9-May-2020.)
Assertion
Ref Expression
pfxlswccat ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → ((𝑊 prefix ((♯‘𝑊) − 1)) ++ ⟨“(lastS‘𝑊)”⟩) = 𝑊)

Proof of Theorem pfxlswccat
StepHypRef Expression
1 swrdlsw 14562 . . . 4 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → (𝑊 substr ⟨((♯‘𝑊) − 1), (♯‘𝑊)⟩) = ⟨“(lastS‘𝑊)”⟩)
21eqcomd 2735 . . 3 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → ⟨“(lastS‘𝑊)”⟩ = (𝑊 substr ⟨((♯‘𝑊) − 1), (♯‘𝑊)⟩))
32oveq2d 7356 . 2 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → ((𝑊 prefix ((♯‘𝑊) − 1)) ++ ⟨“(lastS‘𝑊)”⟩) = ((𝑊 prefix ((♯‘𝑊) − 1)) ++ (𝑊 substr ⟨((♯‘𝑊) − 1), (♯‘𝑊)⟩)))
4 wrdfin 14427 . . . . 5 (𝑊 ∈ Word 𝑉𝑊 ∈ Fin)
5 1elfz0hash 14285 . . . . 5 ((𝑊 ∈ Fin ∧ 𝑊 ≠ ∅) → 1 ∈ (0...(♯‘𝑊)))
64, 5sylan 580 . . . 4 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → 1 ∈ (0...(♯‘𝑊)))
7 fznn0sub2 13526 . . . 4 (1 ∈ (0...(♯‘𝑊)) → ((♯‘𝑊) − 1) ∈ (0...(♯‘𝑊)))
86, 7syl 17 . . 3 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → ((♯‘𝑊) − 1) ∈ (0...(♯‘𝑊)))
9 pfxcctswrd 14604 . . 3 ((𝑊 ∈ Word 𝑉 ∧ ((♯‘𝑊) − 1) ∈ (0...(♯‘𝑊))) → ((𝑊 prefix ((♯‘𝑊) − 1)) ++ (𝑊 substr ⟨((♯‘𝑊) − 1), (♯‘𝑊)⟩)) = 𝑊)
108, 9syldan 591 . 2 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → ((𝑊 prefix ((♯‘𝑊) − 1)) ++ (𝑊 substr ⟨((♯‘𝑊) − 1), (♯‘𝑊)⟩)) = 𝑊)
113, 10eqtrd 2764 1 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → ((𝑊 prefix ((♯‘𝑊) − 1)) ++ ⟨“(lastS‘𝑊)”⟩) = 𝑊)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1540  wcel 2109  wne 2925  c0 4280  cop 4579  cfv 6476  (class class class)co 7340  Fincfn 8863  0cc0 10997  1c1 10998  cmin 11335  ...cfz 13398  chash 14225  Word cword 14408  lastSclsw 14457   ++ cconcat 14465  ⟨“cs1 14490   substr csubstr 14535   prefix cpfx 14565
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2701  ax-rep 5214  ax-sep 5231  ax-nul 5241  ax-pow 5300  ax-pr 5367  ax-un 7662  ax-cnex 11053  ax-resscn 11054  ax-1cn 11055  ax-icn 11056  ax-addcl 11057  ax-addrcl 11058  ax-mulcl 11059  ax-mulrcl 11060  ax-mulcom 11061  ax-addass 11062  ax-mulass 11063  ax-distr 11064  ax-i2m1 11065  ax-1ne0 11066  ax-1rid 11067  ax-rnegex 11068  ax-rrecex 11069  ax-cnre 11070  ax-pre-lttri 11071  ax-pre-lttrn 11072  ax-pre-ltadd 11073  ax-pre-mulgt0 11074
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2533  df-eu 2562  df-clab 2708  df-cleq 2721  df-clel 2803  df-nfc 2878  df-ne 2926  df-nel 3030  df-ral 3045  df-rex 3054  df-reu 3344  df-rab 3393  df-v 3435  df-sbc 3739  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4281  df-if 4473  df-pw 4549  df-sn 4574  df-pr 4576  df-op 4580  df-uni 4857  df-int 4895  df-iun 4940  df-br 5089  df-opab 5151  df-mpt 5170  df-tr 5196  df-id 5508  df-eprel 5513  df-po 5521  df-so 5522  df-fr 5566  df-we 5568  df-xp 5619  df-rel 5620  df-cnv 5621  df-co 5622  df-dm 5623  df-rn 5624  df-res 5625  df-ima 5626  df-pred 6243  df-ord 6304  df-on 6305  df-lim 6306  df-suc 6307  df-iota 6432  df-fun 6478  df-fn 6479  df-f 6480  df-f1 6481  df-fo 6482  df-f1o 6483  df-fv 6484  df-riota 7297  df-ov 7343  df-oprab 7344  df-mpo 7345  df-om 7791  df-1st 7915  df-2nd 7916  df-frecs 8205  df-wrecs 8236  df-recs 8285  df-rdg 8323  df-1o 8379  df-er 8616  df-en 8864  df-dom 8865  df-sdom 8866  df-fin 8867  df-card 9823  df-pnf 11139  df-mnf 11140  df-xr 11141  df-ltxr 11142  df-le 11143  df-sub 11337  df-neg 11338  df-nn 12117  df-n0 12373  df-xnn0 12446  df-z 12460  df-uz 12724  df-fz 13399  df-fzo 13546  df-hash 14226  df-word 14409  df-lsw 14458  df-concat 14466  df-s1 14491  df-substr 14536  df-pfx 14566
This theorem is referenced by:  ccats1pfxeq  14608  wrdind  14616  wrd2ind  14617  psgnunilem5  19360  wwlksnextwrd  29829  pfxlsw2ccat  32887  wrdpmtrlast  33030  iwrdsplit  34368  signsvtn0  34551  signstfveq0  34558
  Copyright terms: Public domain W3C validator