Users' Mathboxes Mathbox for Thierry Arnoux < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  wrdsplex Structured version   Visualization version   GIF version

Theorem wrdsplex 30597
Description: Existence of a split of a word at a given index. (Contributed by Thierry Arnoux, 11-Oct-2018.) (Proof shortened by AV, 3-Nov-2022.)
Assertion
Ref Expression
wrdsplex ((𝑊 ∈ Word 𝑆𝑁 ∈ (0...(♯‘𝑊))) → ∃𝑣 ∈ Word 𝑆𝑊 = ((𝑊 ↾ (0..^𝑁)) ++ 𝑣))
Distinct variable groups:   𝑣,𝑁   𝑣,𝑆   𝑣,𝑊

Proof of Theorem wrdsplex
StepHypRef Expression
1 swrdcl 13983 . 2 (𝑊 ∈ Word 𝑆 → (𝑊 substr ⟨𝑁, (♯‘𝑊)⟩) ∈ Word 𝑆)
2 simpr 487 . . . . 5 ((𝑊 ∈ Word 𝑆𝑁 ∈ (0...(♯‘𝑊))) → 𝑁 ∈ (0...(♯‘𝑊)))
3 elfzuz2 12892 . . . . 5 (𝑁 ∈ (0...(♯‘𝑊)) → (♯‘𝑊) ∈ (ℤ‘0))
4 eluzfz2 12895 . . . . 5 ((♯‘𝑊) ∈ (ℤ‘0) → (♯‘𝑊) ∈ (0...(♯‘𝑊)))
52, 3, 43syl 18 . . . 4 ((𝑊 ∈ Word 𝑆𝑁 ∈ (0...(♯‘𝑊))) → (♯‘𝑊) ∈ (0...(♯‘𝑊)))
6 ccatpfx 14039 . . . 4 ((𝑊 ∈ Word 𝑆𝑁 ∈ (0...(♯‘𝑊)) ∧ (♯‘𝑊) ∈ (0...(♯‘𝑊))) → ((𝑊 prefix 𝑁) ++ (𝑊 substr ⟨𝑁, (♯‘𝑊)⟩)) = (𝑊 prefix (♯‘𝑊)))
75, 6mpd3an3 1458 . . 3 ((𝑊 ∈ Word 𝑆𝑁 ∈ (0...(♯‘𝑊))) → ((𝑊 prefix 𝑁) ++ (𝑊 substr ⟨𝑁, (♯‘𝑊)⟩)) = (𝑊 prefix (♯‘𝑊)))
8 pfxres 14017 . . . 4 ((𝑊 ∈ Word 𝑆𝑁 ∈ (0...(♯‘𝑊))) → (𝑊 prefix 𝑁) = (𝑊 ↾ (0..^𝑁)))
98oveq1d 7144 . . 3 ((𝑊 ∈ Word 𝑆𝑁 ∈ (0...(♯‘𝑊))) → ((𝑊 prefix 𝑁) ++ (𝑊 substr ⟨𝑁, (♯‘𝑊)⟩)) = ((𝑊 ↾ (0..^𝑁)) ++ (𝑊 substr ⟨𝑁, (♯‘𝑊)⟩)))
10 pfxid 14022 . . . 4 (𝑊 ∈ Word 𝑆 → (𝑊 prefix (♯‘𝑊)) = 𝑊)
1110adantr 483 . . 3 ((𝑊 ∈ Word 𝑆𝑁 ∈ (0...(♯‘𝑊))) → (𝑊 prefix (♯‘𝑊)) = 𝑊)
127, 9, 113eqtr3rd 2864 . 2 ((𝑊 ∈ Word 𝑆𝑁 ∈ (0...(♯‘𝑊))) → 𝑊 = ((𝑊 ↾ (0..^𝑁)) ++ (𝑊 substr ⟨𝑁, (♯‘𝑊)⟩)))
13 oveq2 7137 . . 3 (𝑣 = (𝑊 substr ⟨𝑁, (♯‘𝑊)⟩) → ((𝑊 ↾ (0..^𝑁)) ++ 𝑣) = ((𝑊 ↾ (0..^𝑁)) ++ (𝑊 substr ⟨𝑁, (♯‘𝑊)⟩)))
1413rspceeqv 3614 . 2 (((𝑊 substr ⟨𝑁, (♯‘𝑊)⟩) ∈ Word 𝑆𝑊 = ((𝑊 ↾ (0..^𝑁)) ++ (𝑊 substr ⟨𝑁, (♯‘𝑊)⟩))) → ∃𝑣 ∈ Word 𝑆𝑊 = ((𝑊 ↾ (0..^𝑁)) ++ 𝑣))
151, 12, 14syl2an2r 683 1 ((𝑊 ∈ Word 𝑆𝑁 ∈ (0...(♯‘𝑊))) → ∃𝑣 ∈ Word 𝑆𝑊 = ((𝑊 ↾ (0..^𝑁)) ++ 𝑣))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 398   = wceq 1537  wcel 2114  wrex 3126  cop 4545  cres 5529  cfv 6327  (class class class)co 7129  0cc0 10511  cuz 12218  ...cfz 12872  ..^cfzo 13013  chash 13671  Word cword 13842   ++ cconcat 13898   substr csubstr 13978   prefix cpfx 14008
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2116  ax-9 2124  ax-10 2145  ax-11 2161  ax-12 2177  ax-ext 2792  ax-rep 5162  ax-sep 5175  ax-nul 5182  ax-pow 5238  ax-pr 5302  ax-un 7435  ax-cnex 10567  ax-resscn 10568  ax-1cn 10569  ax-icn 10570  ax-addcl 10571  ax-addrcl 10572  ax-mulcl 10573  ax-mulrcl 10574  ax-mulcom 10575  ax-addass 10576  ax-mulass 10577  ax-distr 10578  ax-i2m1 10579  ax-1ne0 10580  ax-1rid 10581  ax-rnegex 10582  ax-rrecex 10583  ax-cnre 10584  ax-pre-lttri 10585  ax-pre-lttrn 10586  ax-pre-ltadd 10587  ax-pre-mulgt0 10588
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3or 1084  df-3an 1085  df-tru 1540  df-ex 1781  df-nf 1785  df-sb 2070  df-mo 2622  df-eu 2653  df-clab 2799  df-cleq 2813  df-clel 2891  df-nfc 2959  df-ne 3007  df-nel 3111  df-ral 3130  df-rex 3131  df-reu 3132  df-rab 3134  df-v 3472  df-sbc 3749  df-csb 3857  df-dif 3912  df-un 3914  df-in 3916  df-ss 3926  df-pss 3928  df-nul 4266  df-if 4440  df-pw 4513  df-sn 4540  df-pr 4542  df-tp 4544  df-op 4546  df-uni 4811  df-int 4849  df-iun 4893  df-br 5039  df-opab 5101  df-mpt 5119  df-tr 5145  df-id 5432  df-eprel 5437  df-po 5446  df-so 5447  df-fr 5486  df-we 5488  df-xp 5533  df-rel 5534  df-cnv 5535  df-co 5536  df-dm 5537  df-rn 5538  df-res 5539  df-ima 5540  df-pred 6120  df-ord 6166  df-on 6167  df-lim 6168  df-suc 6169  df-iota 6286  df-fun 6329  df-fn 6330  df-f 6331  df-f1 6332  df-fo 6333  df-f1o 6334  df-fv 6335  df-riota 7087  df-ov 7132  df-oprab 7133  df-mpo 7134  df-om 7555  df-1st 7663  df-2nd 7664  df-wrecs 7921  df-recs 7982  df-rdg 8020  df-1o 8076  df-oadd 8080  df-er 8263  df-en 8484  df-dom 8485  df-sdom 8486  df-fin 8487  df-card 9342  df-pnf 10651  df-mnf 10652  df-xr 10653  df-ltxr 10654  df-le 10655  df-sub 10846  df-neg 10847  df-nn 11613  df-n0 11873  df-z 11957  df-uz 12219  df-fz 12873  df-fzo 13014  df-hash 13672  df-word 13843  df-concat 13899  df-substr 13979  df-pfx 14009
This theorem is referenced by:  signstres  31849
  Copyright terms: Public domain W3C validator