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

Theorem swrds1 14700
Description: Extract a single symbol from a word. (Contributed by Stefan O'Rear, 23-Aug-2015.)
Assertion
Ref Expression
swrds1 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊 substr ⟨𝐼, (𝐼 + 1)⟩) = ⟨“(𝑊𝐼)”⟩)

Proof of Theorem swrds1
StepHypRef Expression
1 swrdcl 14679 . . 3 (𝑊 ∈ Word 𝐴 → (𝑊 substr ⟨𝐼, (𝐼 + 1)⟩) ∈ Word 𝐴)
2 simpl 482 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 𝑊 ∈ Word 𝐴)
3 elfzouz 13699 . . . . . . 7 (𝐼 ∈ (0..^(♯‘𝑊)) → 𝐼 ∈ (ℤ‘0))
43adantl 481 . . . . . 6 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ (ℤ‘0))
5 elfzoelz 13695 . . . . . . . 8 (𝐼 ∈ (0..^(♯‘𝑊)) → 𝐼 ∈ ℤ)
65adantl 481 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ ℤ)
7 uzid 12890 . . . . . . 7 (𝐼 ∈ ℤ → 𝐼 ∈ (ℤ𝐼))
8 peano2uz 12940 . . . . . . 7 (𝐼 ∈ (ℤ𝐼) → (𝐼 + 1) ∈ (ℤ𝐼))
96, 7, 83syl 18 . . . . . 6 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (𝐼 + 1) ∈ (ℤ𝐼))
10 elfzuzb 13554 . . . . . 6 (𝐼 ∈ (0...(𝐼 + 1)) ↔ (𝐼 ∈ (ℤ‘0) ∧ (𝐼 + 1) ∈ (ℤ𝐼)))
114, 9, 10sylanbrc 583 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ (0...(𝐼 + 1)))
12 fzofzp1 13799 . . . . . 6 (𝐼 ∈ (0..^(♯‘𝑊)) → (𝐼 + 1) ∈ (0...(♯‘𝑊)))
1312adantl 481 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (𝐼 + 1) ∈ (0...(♯‘𝑊)))
14 swrdlen 14681 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0...(𝐼 + 1)) ∧ (𝐼 + 1) ∈ (0...(♯‘𝑊))) → (♯‘(𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)) = ((𝐼 + 1) − 𝐼))
152, 11, 13, 14syl3anc 1370 . . . 4 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (♯‘(𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)) = ((𝐼 + 1) − 𝐼))
166zcnd 12720 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ ℂ)
17 ax-1cn 11210 . . . . 5 1 ∈ ℂ
18 pncan2 11512 . . . . 5 ((𝐼 ∈ ℂ ∧ 1 ∈ ℂ) → ((𝐼 + 1) − 𝐼) = 1)
1916, 17, 18sylancl 586 . . . 4 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → ((𝐼 + 1) − 𝐼) = 1)
2015, 19eqtrd 2774 . . 3 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (♯‘(𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)) = 1)
21 eqs1 14646 . . 3 (((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩) ∈ Word 𝐴 ∧ (♯‘(𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)) = 1) → (𝑊 substr ⟨𝐼, (𝐼 + 1)⟩) = ⟨“((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)‘0)”⟩)
221, 20, 21syl2an2r 685 . 2 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊 substr ⟨𝐼, (𝐼 + 1)⟩) = ⟨“((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)‘0)”⟩)
23 0z 12621 . . . . . . 7 0 ∈ ℤ
24 snidg 4664 . . . . . . 7 (0 ∈ ℤ → 0 ∈ {0})
2523, 24ax-mp 5 . . . . . 6 0 ∈ {0}
2619oveq2d 7446 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (0..^((𝐼 + 1) − 𝐼)) = (0..^1))
27 fzo01 13782 . . . . . . 7 (0..^1) = {0}
2826, 27eqtrdi 2790 . . . . . 6 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (0..^((𝐼 + 1) − 𝐼)) = {0})
2925, 28eleqtrrid 2845 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 0 ∈ (0..^((𝐼 + 1) − 𝐼)))
30 swrdfv 14682 . . . . 5 (((𝑊 ∈ Word 𝐴𝐼 ∈ (0...(𝐼 + 1)) ∧ (𝐼 + 1) ∈ (0...(♯‘𝑊))) ∧ 0 ∈ (0..^((𝐼 + 1) − 𝐼))) → ((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)‘0) = (𝑊‘(0 + 𝐼)))
312, 11, 13, 29, 30syl31anc 1372 . . . 4 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → ((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)‘0) = (𝑊‘(0 + 𝐼)))
32 addlid 11441 . . . . . . 7 (𝐼 ∈ ℂ → (0 + 𝐼) = 𝐼)
3332eqcomd 2740 . . . . . 6 (𝐼 ∈ ℂ → 𝐼 = (0 + 𝐼))
3416, 33syl 17 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 = (0 + 𝐼))
3534fveq2d 6910 . . . 4 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊𝐼) = (𝑊‘(0 + 𝐼)))
3631, 35eqtr4d 2777 . . 3 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → ((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)‘0) = (𝑊𝐼))
3736s1eqd 14635 . 2 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → ⟨“((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)‘0)”⟩ = ⟨“(𝑊𝐼)”⟩)
3822, 37eqtrd 2774 1 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊 substr ⟨𝐼, (𝐼 + 1)⟩) = ⟨“(𝑊𝐼)”⟩)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1536  wcel 2105  {csn 4630  cop 4636  cfv 6562  (class class class)co 7430  cc 11150  0cc0 11152  1c1 11153   + caddc 11155  cmin 11489  cz 12610  cuz 12875  ...cfz 13543  ..^cfzo 13690  chash 14365  Word cword 14548  ⟨“cs1 14629   substr csubstr 14674
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1791  ax-4 1805  ax-5 1907  ax-6 1964  ax-7 2004  ax-8 2107  ax-9 2115  ax-10 2138  ax-11 2154  ax-12 2174  ax-ext 2705  ax-rep 5284  ax-sep 5301  ax-nul 5311  ax-pow 5370  ax-pr 5437  ax-un 7753  ax-cnex 11208  ax-resscn 11209  ax-1cn 11210  ax-icn 11211  ax-addcl 11212  ax-addrcl 11213  ax-mulcl 11214  ax-mulrcl 11215  ax-mulcom 11216  ax-addass 11217  ax-mulass 11218  ax-distr 11219  ax-i2m1 11220  ax-1ne0 11221  ax-1rid 11222  ax-rnegex 11223  ax-rrecex 11224  ax-cnre 11225  ax-pre-lttri 11226  ax-pre-lttrn 11227  ax-pre-ltadd 11228  ax-pre-mulgt0 11229
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1539  df-fal 1549  df-ex 1776  df-nf 1780  df-sb 2062  df-mo 2537  df-eu 2566  df-clab 2712  df-cleq 2726  df-clel 2813  df-nfc 2889  df-ne 2938  df-nel 3044  df-ral 3059  df-rex 3068  df-reu 3378  df-rab 3433  df-v 3479  df-sbc 3791  df-csb 3908  df-dif 3965  df-un 3967  df-in 3969  df-ss 3979  df-pss 3982  df-nul 4339  df-if 4531  df-pw 4606  df-sn 4631  df-pr 4633  df-op 4637  df-uni 4912  df-int 4951  df-iun 4997  df-br 5148  df-opab 5210  df-mpt 5231  df-tr 5265  df-id 5582  df-eprel 5588  df-po 5596  df-so 5597  df-fr 5640  df-we 5642  df-xp 5694  df-rel 5695  df-cnv 5696  df-co 5697  df-dm 5698  df-rn 5699  df-res 5700  df-ima 5701  df-pred 6322  df-ord 6388  df-on 6389  df-lim 6390  df-suc 6391  df-iota 6515  df-fun 6564  df-fn 6565  df-f 6566  df-f1 6567  df-fo 6568  df-f1o 6569  df-fv 6570  df-riota 7387  df-ov 7433  df-oprab 7434  df-mpo 7435  df-om 7887  df-1st 8012  df-2nd 8013  df-frecs 8304  df-wrecs 8335  df-recs 8409  df-rdg 8448  df-1o 8504  df-er 8743  df-en 8984  df-dom 8985  df-sdom 8986  df-fin 8987  df-card 9976  df-pnf 11294  df-mnf 11295  df-xr 11296  df-ltxr 11297  df-le 11298  df-sub 11491  df-neg 11492  df-nn 12264  df-n0 12524  df-z 12611  df-uz 12876  df-fz 13544  df-fzo 13691  df-hash 14366  df-word 14549  df-s1 14630  df-substr 14675
This theorem is referenced by:  swrdlsw  14701  pfx1  14737  swrds2  14975
  Copyright terms: Public domain W3C validator