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

Theorem pfxlswccat 14720
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 14675 . . . 4 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → (𝑊 substr ⟨((♯‘𝑊) − 1), (♯‘𝑊)⟩) = ⟨“(lastS‘𝑊)”⟩)
21eqcomd 2767 . . 3 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → ⟨“(lastS‘𝑊)”⟩ = (𝑊 substr ⟨((♯‘𝑊) − 1), (♯‘𝑊)⟩))
32oveq2d 7407 . 2 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → ((𝑊 prefix ((♯‘𝑊) − 1)) ++ ⟨“(lastS‘𝑊)”⟩) = ((𝑊 prefix ((♯‘𝑊) − 1)) ++ (𝑊 substr ⟨((♯‘𝑊) − 1), (♯‘𝑊)⟩)))
4 wrdfin 14539 . . . . 5 (𝑊 ∈ Word 𝑉𝑊 ∈ Fin)
5 1elfz0hash 14397 . . . . 5 ((𝑊 ∈ Fin ∧ 𝑊 ≠ ∅) → 1 ∈ (0...(♯‘𝑊)))
64, 5sylan 589 . . . 4 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → 1 ∈ (0...(♯‘𝑊)))
7 fznn0sub2 13634 . . . 4 (1 ∈ (0...(♯‘𝑊)) → ((♯‘𝑊) − 1) ∈ (0...(♯‘𝑊)))
86, 7syl 17 . . 3 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → ((♯‘𝑊) − 1) ∈ (0...(♯‘𝑊)))
9 pfxcctswrd 14717 . . 3 ((𝑊 ∈ Word 𝑉 ∧ ((♯‘𝑊) − 1) ∈ (0...(♯‘𝑊))) → ((𝑊 prefix ((♯‘𝑊) − 1)) ++ (𝑊 substr ⟨((♯‘𝑊) − 1), (♯‘𝑊)⟩)) = 𝑊)
108, 9syldan 600 . 2 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → ((𝑊 prefix ((♯‘𝑊) − 1)) ++ (𝑊 substr ⟨((♯‘𝑊) − 1), (♯‘𝑊)⟩)) = 𝑊)
113, 10eqtrd 2796 1 ((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → ((𝑊 prefix ((♯‘𝑊) − 1)) ++ ⟨“(lastS‘𝑊)”⟩) = 𝑊)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 399   = wceq 1559  wcel 2141  wne 2956  c0 4283  cop 4585  cfv 6516  (class class class)co 7391  Fincfn 8921  0cc0 11067  1c1 11068  cmin 11408  ...cfz 13506  chash 14337  Word cword 14520  lastSclsw 14569   ++ cconcat 14577  ⟨“cs1 14603   substr csubstr 14648   prefix cpfx 14678
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1814  ax-4 1828  ax-5 1929  ax-6 1986  ax-7 2027  ax-8 2143  ax-9 2151  ax-10 2174  ax-11 2190  ax-12 2211  ax-ext 2733  ax-rep 5224  ax-sep 5243  ax-nul 5253  ax-pow 5319  ax-pr 5387  ax-un 7713  ax-cnex 11123  ax-resscn 11124  ax-1cn 11125  ax-icn 11126  ax-addcl 11127  ax-addrcl 11128  ax-mulcl 11129  ax-mulrcl 11130  ax-mulcom 11131  ax-addass 11132  ax-mulass 11133  ax-distr 11134  ax-i2m1 11135  ax-1ne0 11136  ax-1rid 11137  ax-rnegex 11138  ax-rrecex 11139  ax-cnre 11140  ax-pre-lttri 11141  ax-pre-lttrn 11142  ax-pre-ltadd 11143  ax-pre-mulgt0 11144
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3or 1098  df-3an 1099  df-tru 1562  df-fal 1572  df-ex 1799  df-nf 1803  df-sb 2090  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-nel 3061  df-ral 3076  df-rex 3086  df-reu 3367  df-rab 3414  df-v 3455  df-sbc 3743  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4284  df-if 4478  df-pw 4554  df-sn 4580  df-pr 4582  df-op 4586  df-uni 4863  df-int 4903  df-iun 4948  df-br 5098  df-opab 5160  df-mpt 5179  df-tr 5205  df-id 5538  df-eprel 5543  df-po 5551  df-so 5552  df-fr 5596  df-we 5598  df-xp 5649  df-rel 5650  df-cnv 5651  df-co 5652  df-dm 5653  df-rn 5654  df-res 5655  df-ima 5656  df-pred 6283  df-ord 6344  df-on 6345  df-lim 6346  df-suc 6347  df-iota 6472  df-fun 6518  df-fn 6519  df-f 6520  df-f1 6521  df-fo 6522  df-f1o 6523  df-fv 6524  df-riota 7348  df-ov 7394  df-oprab 7395  df-mpo 7396  df-om 7842  df-1st 7965  df-2nd 7966  df-frecs 8256  df-wrecs 8287  df-recs 8336  df-rdg 8375  df-1o 8431  df-er 8672  df-en 8922  df-dom 8923  df-sdom 8924  df-fin 8925  df-card 9891  df-pnf 11212  df-mnf 11213  df-xr 11214  df-ltxr 11215  df-le 11216  df-sub 11410  df-neg 11411  df-nn 12205  df-n0 12476  df-xnn0 12549  df-z 12563  df-uz 12834  df-fz 13507  df-fzo 13654  df-hash 14338  df-word 14521  df-lsw 14570  df-concat 14578  df-s1 14604  df-substr 14649  df-pfx 14679
This theorem is referenced by:  ccats1pfxeq  14721  wrdind  14729  wrd2ind  14730  psgnunilem5  19525  wwlksnextwrd  30054  pfxlsw2ccat  33089  wrdpmtrlast  33234  iwrdsplit  34645  signsvtn0  34825  signstfveq0  34832
  Copyright terms: Public domain W3C validator