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

Theorem swrds1 14674
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 14653 . . 3 (𝑊 ∈ Word 𝐴 → (𝑊 substr ⟨𝐼, (𝐼 + 1)⟩) ∈ Word 𝐴)
2 simpl 481 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 𝑊 ∈ Word 𝐴)
3 elfzouz 13690 . . . . . . 7 (𝐼 ∈ (0..^(♯‘𝑊)) → 𝐼 ∈ (ℤ‘0))
43adantl 480 . . . . . 6 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ (ℤ‘0))
5 elfzoelz 13686 . . . . . . . 8 (𝐼 ∈ (0..^(♯‘𝑊)) → 𝐼 ∈ ℤ)
65adantl 480 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ ℤ)
7 uzid 12889 . . . . . . 7 (𝐼 ∈ ℤ → 𝐼 ∈ (ℤ𝐼))
8 peano2uz 12937 . . . . . . 7 (𝐼 ∈ (ℤ𝐼) → (𝐼 + 1) ∈ (ℤ𝐼))
96, 7, 83syl 18 . . . . . 6 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (𝐼 + 1) ∈ (ℤ𝐼))
10 elfzuzb 13549 . . . . . 6 (𝐼 ∈ (0...(𝐼 + 1)) ↔ (𝐼 ∈ (ℤ‘0) ∧ (𝐼 + 1) ∈ (ℤ𝐼)))
114, 9, 10sylanbrc 581 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ (0...(𝐼 + 1)))
12 fzofzp1 13784 . . . . . 6 (𝐼 ∈ (0..^(♯‘𝑊)) → (𝐼 + 1) ∈ (0...(♯‘𝑊)))
1312adantl 480 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (𝐼 + 1) ∈ (0...(♯‘𝑊)))
14 swrdlen 14655 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0...(𝐼 + 1)) ∧ (𝐼 + 1) ∈ (0...(♯‘𝑊))) → (♯‘(𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)) = ((𝐼 + 1) − 𝐼))
152, 11, 13, 14syl3anc 1368 . . . 4 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (♯‘(𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)) = ((𝐼 + 1) − 𝐼))
166zcnd 12719 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 ∈ ℂ)
17 ax-1cn 11216 . . . . 5 1 ∈ ℂ
18 pncan2 11517 . . . . 5 ((𝐼 ∈ ℂ ∧ 1 ∈ ℂ) → ((𝐼 + 1) − 𝐼) = 1)
1916, 17, 18sylancl 584 . . . 4 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → ((𝐼 + 1) − 𝐼) = 1)
2015, 19eqtrd 2766 . . 3 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (♯‘(𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)) = 1)
21 eqs1 14620 . . 3 (((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩) ∈ Word 𝐴 ∧ (♯‘(𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)) = 1) → (𝑊 substr ⟨𝐼, (𝐼 + 1)⟩) = ⟨“((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)‘0)”⟩)
221, 20, 21syl2an2r 683 . 2 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊 substr ⟨𝐼, (𝐼 + 1)⟩) = ⟨“((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)‘0)”⟩)
23 0z 12621 . . . . . . 7 0 ∈ ℤ
24 snidg 4667 . . . . . . 7 (0 ∈ ℤ → 0 ∈ {0})
2523, 24ax-mp 5 . . . . . 6 0 ∈ {0}
2619oveq2d 7440 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (0..^((𝐼 + 1) − 𝐼)) = (0..^1))
27 fzo01 13768 . . . . . . 7 (0..^1) = {0}
2826, 27eqtrdi 2782 . . . . . 6 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (0..^((𝐼 + 1) − 𝐼)) = {0})
2925, 28eleqtrrid 2833 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 0 ∈ (0..^((𝐼 + 1) − 𝐼)))
30 swrdfv 14656 . . . . 5 (((𝑊 ∈ Word 𝐴𝐼 ∈ (0...(𝐼 + 1)) ∧ (𝐼 + 1) ∈ (0...(♯‘𝑊))) ∧ 0 ∈ (0..^((𝐼 + 1) − 𝐼))) → ((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)‘0) = (𝑊‘(0 + 𝐼)))
312, 11, 13, 29, 30syl31anc 1370 . . . 4 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → ((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)‘0) = (𝑊‘(0 + 𝐼)))
32 addlid 11447 . . . . . . 7 (𝐼 ∈ ℂ → (0 + 𝐼) = 𝐼)
3332eqcomd 2732 . . . . . 6 (𝐼 ∈ ℂ → 𝐼 = (0 + 𝐼))
3416, 33syl 17 . . . . 5 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → 𝐼 = (0 + 𝐼))
3534fveq2d 6905 . . . 4 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊𝐼) = (𝑊‘(0 + 𝐼)))
3631, 35eqtr4d 2769 . . 3 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → ((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)‘0) = (𝑊𝐼))
3736s1eqd 14609 . 2 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → ⟨“((𝑊 substr ⟨𝐼, (𝐼 + 1)⟩)‘0)”⟩ = ⟨“(𝑊𝐼)”⟩)
3822, 37eqtrd 2766 1 ((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊 substr ⟨𝐼, (𝐼 + 1)⟩) = ⟨“(𝑊𝐼)”⟩)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 394   = wceq 1534  wcel 2099  {csn 4633  cop 4639  cfv 6554  (class class class)co 7424  cc 11156  0cc0 11158  1c1 11159   + caddc 11161  cmin 11494  cz 12610  cuz 12874  ...cfz 13538  ..^cfzo 13681  chash 14347  Word cword 14522  ⟨“cs1 14603   substr csubstr 14648
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1790  ax-4 1804  ax-5 1906  ax-6 1964  ax-7 2004  ax-8 2101  ax-9 2109  ax-10 2130  ax-11 2147  ax-12 2167  ax-ext 2697  ax-rep 5290  ax-sep 5304  ax-nul 5311  ax-pow 5369  ax-pr 5433  ax-un 7746  ax-cnex 11214  ax-resscn 11215  ax-1cn 11216  ax-icn 11217  ax-addcl 11218  ax-addrcl 11219  ax-mulcl 11220  ax-mulrcl 11221  ax-mulcom 11222  ax-addass 11223  ax-mulass 11224  ax-distr 11225  ax-i2m1 11226  ax-1ne0 11227  ax-1rid 11228  ax-rnegex 11229  ax-rrecex 11230  ax-cnre 11231  ax-pre-lttri 11232  ax-pre-lttrn 11233  ax-pre-ltadd 11234  ax-pre-mulgt0 11235
This theorem depends on definitions:  df-bi 206  df-an 395  df-or 846  df-3or 1085  df-3an 1086  df-tru 1537  df-fal 1547  df-ex 1775  df-nf 1779  df-sb 2061  df-mo 2529  df-eu 2558  df-clab 2704  df-cleq 2718  df-clel 2803  df-nfc 2878  df-ne 2931  df-nel 3037  df-ral 3052  df-rex 3061  df-reu 3365  df-rab 3420  df-v 3464  df-sbc 3777  df-csb 3893  df-dif 3950  df-un 3952  df-in 3954  df-ss 3964  df-pss 3967  df-nul 4326  df-if 4534  df-pw 4609  df-sn 4634  df-pr 4636  df-op 4640  df-uni 4914  df-int 4955  df-iun 5003  df-br 5154  df-opab 5216  df-mpt 5237  df-tr 5271  df-id 5580  df-eprel 5586  df-po 5594  df-so 5595  df-fr 5637  df-we 5639  df-xp 5688  df-rel 5689  df-cnv 5690  df-co 5691  df-dm 5692  df-rn 5693  df-res 5694  df-ima 5695  df-pred 6312  df-ord 6379  df-on 6380  df-lim 6381  df-suc 6382  df-iota 6506  df-fun 6556  df-fn 6557  df-f 6558  df-f1 6559  df-fo 6560  df-f1o 6561  df-fv 6562  df-riota 7380  df-ov 7427  df-oprab 7428  df-mpo 7429  df-om 7877  df-1st 8003  df-2nd 8004  df-frecs 8296  df-wrecs 8327  df-recs 8401  df-rdg 8440  df-1o 8496  df-er 8734  df-en 8975  df-dom 8976  df-sdom 8977  df-fin 8978  df-card 9982  df-pnf 11300  df-mnf 11301  df-xr 11302  df-ltxr 11303  df-le 11304  df-sub 11496  df-neg 11497  df-nn 12265  df-n0 12525  df-z 12611  df-uz 12875  df-fz 13539  df-fzo 13682  df-hash 14348  df-word 14523  df-s1 14604  df-substr 14649
This theorem is referenced by:  swrdlsw  14675  pfx1  14711  swrds2  14949
  Copyright terms: Public domain W3C validator