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

Theorem wrdeqs1cat 14654
Description: Decompose a nonempty word by separating off the first symbol. (Contributed by Stefan O'Rear, 25-Aug-2015.) (Revised by Mario Carneiro, 1-Oct-2015.) (Proof shortened by AV, 12-Oct-2022.)
Assertion
Ref Expression
wrdeqs1cat ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → 𝑊 = (⟨“(𝑊‘0)”⟩ ++ (𝑊 substr ⟨1, (♯‘𝑊)⟩)))

Proof of Theorem wrdeqs1cat
StepHypRef Expression
1 simpl 483 . . 3 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → 𝑊 ∈ Word 𝐴)
2 wrdfin 14466 . . . 4 (𝑊 ∈ Word 𝐴𝑊 ∈ Fin)
3 1elfz0hash 14334 . . . 4 ((𝑊 ∈ Fin ∧ 𝑊 ≠ ∅) → 1 ∈ (0...(♯‘𝑊)))
42, 3sylan 580 . . 3 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → 1 ∈ (0...(♯‘𝑊)))
5 lennncl 14468 . . . . 5 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → (♯‘𝑊) ∈ ℕ)
65nnnn0d 12516 . . . 4 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → (♯‘𝑊) ∈ ℕ0)
7 eluzfz2 13493 . . . . 5 ((♯‘𝑊) ∈ (ℤ‘0) → (♯‘𝑊) ∈ (0...(♯‘𝑊)))
8 nn0uz 12848 . . . . 5 0 = (ℤ‘0)
97, 8eleq2s 2851 . . . 4 ((♯‘𝑊) ∈ ℕ0 → (♯‘𝑊) ∈ (0...(♯‘𝑊)))
106, 9syl 17 . . 3 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → (♯‘𝑊) ∈ (0...(♯‘𝑊)))
11 ccatpfx 14635 . . 3 ((𝑊 ∈ Word 𝐴 ∧ 1 ∈ (0...(♯‘𝑊)) ∧ (♯‘𝑊) ∈ (0...(♯‘𝑊))) → ((𝑊 prefix 1) ++ (𝑊 substr ⟨1, (♯‘𝑊)⟩)) = (𝑊 prefix (♯‘𝑊)))
121, 4, 10, 11syl3anc 1371 . 2 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → ((𝑊 prefix 1) ++ (𝑊 substr ⟨1, (♯‘𝑊)⟩)) = (𝑊 prefix (♯‘𝑊)))
13 pfx1 14637 . . 3 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → (𝑊 prefix 1) = ⟨“(𝑊‘0)”⟩)
1413oveq1d 7409 . 2 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → ((𝑊 prefix 1) ++ (𝑊 substr ⟨1, (♯‘𝑊)⟩)) = (⟨“(𝑊‘0)”⟩ ++ (𝑊 substr ⟨1, (♯‘𝑊)⟩)))
15 pfxid 14618 . . 3 (𝑊 ∈ Word 𝐴 → (𝑊 prefix (♯‘𝑊)) = 𝑊)
1615adantr 481 . 2 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → (𝑊 prefix (♯‘𝑊)) = 𝑊)
1712, 14, 163eqtr3rd 2781 1 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → 𝑊 = (⟨“(𝑊‘0)”⟩ ++ (𝑊 substr ⟨1, (♯‘𝑊)⟩)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396   = wceq 1541  wcel 2106  wne 2940  c0 4319  cop 4629  cfv 6533  (class class class)co 7394  Fincfn 8924  0cc0 11094  1c1 11095  0cn0 12456  cuz 12806  ...cfz 13468  chash 14274  Word cword 14448   ++ cconcat 14504  ⟨“cs1 14529   substr csubstr 14574   prefix cpfx 14604
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2703  ax-rep 5279  ax-sep 5293  ax-nul 5300  ax-pow 5357  ax-pr 5421  ax-un 7709  ax-cnex 11150  ax-resscn 11151  ax-1cn 11152  ax-icn 11153  ax-addcl 11154  ax-addrcl 11155  ax-mulcl 11156  ax-mulrcl 11157  ax-mulcom 11158  ax-addass 11159  ax-mulass 11160  ax-distr 11161  ax-i2m1 11162  ax-1ne0 11163  ax-1rid 11164  ax-rnegex 11165  ax-rrecex 11166  ax-cnre 11167  ax-pre-lttri 11168  ax-pre-lttrn 11169  ax-pre-ltadd 11170  ax-pre-mulgt0 11171
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2534  df-eu 2563  df-clab 2710  df-cleq 2724  df-clel 2810  df-nfc 2885  df-ne 2941  df-nel 3047  df-ral 3062  df-rex 3071  df-reu 3377  df-rab 3433  df-v 3476  df-sbc 3775  df-csb 3891  df-dif 3948  df-un 3950  df-in 3952  df-ss 3962  df-pss 3964  df-nul 4320  df-if 4524  df-pw 4599  df-sn 4624  df-pr 4626  df-op 4630  df-uni 4903  df-int 4945  df-iun 4993  df-br 5143  df-opab 5205  df-mpt 5226  df-tr 5260  df-id 5568  df-eprel 5574  df-po 5582  df-so 5583  df-fr 5625  df-we 5627  df-xp 5676  df-rel 5677  df-cnv 5678  df-co 5679  df-dm 5680  df-rn 5681  df-res 5682  df-ima 5683  df-pred 6290  df-ord 6357  df-on 6358  df-lim 6359  df-suc 6360  df-iota 6485  df-fun 6535  df-fn 6536  df-f 6537  df-f1 6538  df-fo 6539  df-f1o 6540  df-fv 6541  df-riota 7350  df-ov 7397  df-oprab 7398  df-mpo 7399  df-om 7840  df-1st 7959  df-2nd 7960  df-frecs 8250  df-wrecs 8281  df-recs 8355  df-rdg 8394  df-1o 8450  df-er 8688  df-en 8925  df-dom 8926  df-sdom 8927  df-fin 8928  df-card 9918  df-pnf 11234  df-mnf 11235  df-xr 11236  df-ltxr 11237  df-le 11238  df-sub 11430  df-neg 11431  df-nn 12197  df-n0 12457  df-z 12543  df-uz 12807  df-fz 13469  df-fzo 13612  df-hash 14275  df-word 14449  df-concat 14505  df-s1 14530  df-substr 14575  df-pfx 14605
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator