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

Theorem wrdeqs1cat 14077
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 486 . . 3 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → 𝑊 ∈ Word 𝐴)
2 wrdfin 13879 . . . 4 (𝑊 ∈ Word 𝐴𝑊 ∈ Fin)
3 1elfz0hash 13751 . . . 4 ((𝑊 ∈ Fin ∧ 𝑊 ≠ ∅) → 1 ∈ (0...(♯‘𝑊)))
42, 3sylan 583 . . 3 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → 1 ∈ (0...(♯‘𝑊)))
5 lennncl 13881 . . . . 5 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → (♯‘𝑊) ∈ ℕ)
65nnnn0d 11947 . . . 4 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → (♯‘𝑊) ∈ ℕ0)
7 eluzfz2 12914 . . . . 5 ((♯‘𝑊) ∈ (ℤ‘0) → (♯‘𝑊) ∈ (0...(♯‘𝑊)))
8 nn0uz 12272 . . . . 5 0 = (ℤ‘0)
97, 8eleq2s 2911 . . . 4 ((♯‘𝑊) ∈ ℕ0 → (♯‘𝑊) ∈ (0...(♯‘𝑊)))
106, 9syl 17 . . 3 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → (♯‘𝑊) ∈ (0...(♯‘𝑊)))
11 ccatpfx 14058 . . 3 ((𝑊 ∈ Word 𝐴 ∧ 1 ∈ (0...(♯‘𝑊)) ∧ (♯‘𝑊) ∈ (0...(♯‘𝑊))) → ((𝑊 prefix 1) ++ (𝑊 substr ⟨1, (♯‘𝑊)⟩)) = (𝑊 prefix (♯‘𝑊)))
121, 4, 10, 11syl3anc 1368 . 2 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → ((𝑊 prefix 1) ++ (𝑊 substr ⟨1, (♯‘𝑊)⟩)) = (𝑊 prefix (♯‘𝑊)))
13 pfx1 14060 . . 3 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → (𝑊 prefix 1) = ⟨“(𝑊‘0)”⟩)
1413oveq1d 7154 . 2 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → ((𝑊 prefix 1) ++ (𝑊 substr ⟨1, (♯‘𝑊)⟩)) = (⟨“(𝑊‘0)”⟩ ++ (𝑊 substr ⟨1, (♯‘𝑊)⟩)))
15 pfxid 14041 . . 3 (𝑊 ∈ Word 𝐴 → (𝑊 prefix (♯‘𝑊)) = 𝑊)
1615adantr 484 . 2 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → (𝑊 prefix (♯‘𝑊)) = 𝑊)
1712, 14, 163eqtr3rd 2845 1 ((𝑊 ∈ Word 𝐴𝑊 ≠ ∅) → 𝑊 = (⟨“(𝑊‘0)”⟩ ++ (𝑊 substr ⟨1, (♯‘𝑊)⟩)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 399   = wceq 1538  wcel 2112  wne 2990  c0 4246  cop 4534  cfv 6328  (class class class)co 7139  Fincfn 8496  0cc0 10530  1c1 10531  0cn0 11889  cuz 12235  ...cfz 12889  chash 13690  Word cword 13861   ++ cconcat 13917  ⟨“cs1 13944   substr csubstr 13997   prefix cpfx 14027
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 1911  ax-6 1970  ax-7 2015  ax-8 2114  ax-9 2122  ax-10 2143  ax-11 2159  ax-12 2176  ax-ext 2773  ax-rep 5157  ax-sep 5170  ax-nul 5177  ax-pow 5234  ax-pr 5298  ax-un 7445  ax-cnex 10586  ax-resscn 10587  ax-1cn 10588  ax-icn 10589  ax-addcl 10590  ax-addrcl 10591  ax-mulcl 10592  ax-mulrcl 10593  ax-mulcom 10594  ax-addass 10595  ax-mulass 10596  ax-distr 10597  ax-i2m1 10598  ax-1ne0 10599  ax-1rid 10600  ax-rnegex 10601  ax-rrecex 10602  ax-cnre 10603  ax-pre-lttri 10604  ax-pre-lttrn 10605  ax-pre-ltadd 10606  ax-pre-mulgt0 10607
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3or 1085  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2601  df-eu 2632  df-clab 2780  df-cleq 2794  df-clel 2873  df-nfc 2941  df-ne 2991  df-nel 3095  df-ral 3114  df-rex 3115  df-reu 3116  df-rab 3118  df-v 3446  df-sbc 3724  df-csb 3832  df-dif 3887  df-un 3889  df-in 3891  df-ss 3901  df-pss 3903  df-nul 4247  df-if 4429  df-pw 4502  df-sn 4529  df-pr 4531  df-tp 4533  df-op 4535  df-uni 4804  df-int 4842  df-iun 4886  df-br 5034  df-opab 5096  df-mpt 5114  df-tr 5140  df-id 5428  df-eprel 5433  df-po 5442  df-so 5443  df-fr 5482  df-we 5484  df-xp 5529  df-rel 5530  df-cnv 5531  df-co 5532  df-dm 5533  df-rn 5534  df-res 5535  df-ima 5536  df-pred 6120  df-ord 6166  df-on 6167  df-lim 6168  df-suc 6169  df-iota 6287  df-fun 6330  df-fn 6331  df-f 6332  df-f1 6333  df-fo 6334  df-f1o 6335  df-fv 6336  df-riota 7097  df-ov 7142  df-oprab 7143  df-mpo 7144  df-om 7565  df-1st 7675  df-2nd 7676  df-wrecs 7934  df-recs 7995  df-rdg 8033  df-1o 8089  df-oadd 8093  df-er 8276  df-en 8497  df-dom 8498  df-sdom 8499  df-fin 8500  df-card 9356  df-pnf 10670  df-mnf 10671  df-xr 10672  df-ltxr 10673  df-le 10674  df-sub 10865  df-neg 10866  df-nn 11630  df-n0 11890  df-z 11974  df-uz 12236  df-fz 12890  df-fzo 13033  df-hash 13691  df-word 13862  df-concat 13918  df-s1 13945  df-substr 13998  df-pfx 14028
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator