MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  swrd0len Structured version   Unicode version

Theorem swrd0len 12752
Description: Length of a left-anchored subword. (Contributed by Stefan O'Rear, 24-Aug-2015.)
Assertion
Ref Expression
swrd0len  |-  ( ( S  e. Word  A  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( # `  ( S substr  <. 0 ,  L >. ) )  =  L )

Proof of Theorem swrd0len
StepHypRef Expression
1 swrd0val 12751 . . 3  |-  ( ( S  e. Word  A  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( S substr  <. 0 ,  L >. )  =  ( S  |`  ( 0..^ L ) ) )
21fveq2d 5876 . 2  |-  ( ( S  e. Word  A  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( # `  ( S substr  <. 0 ,  L >. ) )  =  ( # `  ( S  |`  (
0..^ L ) ) ) )
3 wrdfn 12661 . . . 4  |-  ( S  e. Word  A  ->  S  Fn  ( 0..^ ( # `  S ) ) )
4 elfzuz3 11784 . . . . 5  |-  ( L  e.  ( 0 ... ( # `  S
) )  ->  ( # `
 S )  e.  ( ZZ>= `  L )
)
5 fzoss2 11933 . . . . 5  |-  ( (
# `  S )  e.  ( ZZ>= `  L )  ->  ( 0..^ L ) 
C_  ( 0..^ (
# `  S )
) )
64, 5syl 17 . . . 4  |-  ( L  e.  ( 0 ... ( # `  S
) )  ->  (
0..^ L )  C_  ( 0..^ ( # `  S
) ) )
7 fnssres 5698 . . . 4  |-  ( ( S  Fn  ( 0..^ ( # `  S
) )  /\  (
0..^ L )  C_  ( 0..^ ( # `  S
) ) )  -> 
( S  |`  (
0..^ L ) )  Fn  ( 0..^ L ) )
83, 6, 7syl2an 479 . . 3  |-  ( ( S  e. Word  A  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( S  |`  (
0..^ L ) )  Fn  ( 0..^ L ) )
9 hashfn 12540 . . 3  |-  ( ( S  |`  ( 0..^ L ) )  Fn  ( 0..^ L )  ->  ( # `  ( S  |`  ( 0..^ L ) ) )  =  ( # `  (
0..^ L ) ) )
108, 9syl 17 . 2  |-  ( ( S  e. Word  A  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( # `  ( S  |`  ( 0..^ L ) ) )  =  (
# `  ( 0..^ L ) ) )
11 elfznn0 11874 . . . 4  |-  ( L  e.  ( 0 ... ( # `  S
) )  ->  L  e.  NN0 )
1211adantl 467 . . 3  |-  ( ( S  e. Word  A  /\  L  e.  ( 0 ... ( # `  S
) ) )  ->  L  e.  NN0 )
13 hashfzo0 12586 . . 3  |-  ( L  e.  NN0  ->  ( # `  ( 0..^ L ) )  =  L )
1412, 13syl 17 . 2  |-  ( ( S  e. Word  A  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( # `  ( 0..^ L ) )  =  L )
152, 10, 143eqtrd 2465 1  |-  ( ( S  e. Word  A  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( # `  ( S substr  <. 0 ,  L >. ) )  =  L )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 370    = wceq 1437    e. wcel 1867    C_ wss 3433   <.cop 3999    |` cres 4847    Fn wfn 5587   ` cfv 5592  (class class class)co 6296   0cc0 9528   NN0cn0 10858   ZZ>=cuz 11148   ...cfz 11771  ..^cfzo 11902   #chash 12501  Word cword 12632   substr csubstr 12636
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1748  ax-6 1794  ax-7 1838  ax-8 1869  ax-9 1871  ax-10 1886  ax-11 1891  ax-12 1904  ax-13 2052  ax-ext 2398  ax-rep 4529  ax-sep 4539  ax-nul 4547  ax-pow 4594  ax-pr 4652  ax-un 6588  ax-cnex 9584  ax-resscn 9585  ax-1cn 9586  ax-icn 9587  ax-addcl 9588  ax-addrcl 9589  ax-mulcl 9590  ax-mulrcl 9591  ax-mulcom 9592  ax-addass 9593  ax-mulass 9594  ax-distr 9595  ax-i2m1 9596  ax-1ne0 9597  ax-1rid 9598  ax-rnegex 9599  ax-rrecex 9600  ax-cnre 9601  ax-pre-lttri 9602  ax-pre-lttrn 9603  ax-pre-ltadd 9604  ax-pre-mulgt0 9605
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3or 983  df-3an 984  df-tru 1440  df-ex 1660  df-nf 1664  df-sb 1787  df-eu 2267  df-mo 2268  df-clab 2406  df-cleq 2412  df-clel 2415  df-nfc 2570  df-ne 2618  df-nel 2619  df-ral 2778  df-rex 2779  df-reu 2780  df-rmo 2781  df-rab 2782  df-v 3080  df-sbc 3297  df-csb 3393  df-dif 3436  df-un 3438  df-in 3440  df-ss 3447  df-pss 3449  df-nul 3759  df-if 3907  df-pw 3978  df-sn 3994  df-pr 3996  df-tp 3998  df-op 4000  df-uni 4214  df-int 4250  df-iun 4295  df-br 4418  df-opab 4476  df-mpt 4477  df-tr 4512  df-eprel 4756  df-id 4760  df-po 4766  df-so 4767  df-fr 4804  df-we 4806  df-xp 4851  df-rel 4852  df-cnv 4853  df-co 4854  df-dm 4855  df-rn 4856  df-res 4857  df-ima 4858  df-pred 5390  df-ord 5436  df-on 5437  df-lim 5438  df-suc 5439  df-iota 5556  df-fun 5594  df-fn 5595  df-f 5596  df-f1 5597  df-fo 5598  df-f1o 5599  df-fv 5600  df-riota 6258  df-ov 6299  df-oprab 6300  df-mpt2 6301  df-om 6698  df-1st 6798  df-2nd 6799  df-wrecs 7027  df-recs 7089  df-rdg 7127  df-1o 7181  df-oadd 7185  df-er 7362  df-en 7569  df-dom 7570  df-sdom 7571  df-fin 7572  df-card 8363  df-cda 8587  df-pnf 9666  df-mnf 9667  df-xr 9668  df-ltxr 9669  df-le 9670  df-sub 9851  df-neg 9852  df-nn 10599  df-2 10657  df-n0 10859  df-z 10927  df-uz 11149  df-fz 11772  df-fzo 11903  df-hash 12502  df-word 12640  df-substr 12644
This theorem is referenced by:  swrd0len0  12766  addlenrevswrd  12767  swrd0fvlsw  12773  swrdeq  12774  wrdind  12807  wrd2ind  12808  swrdccatin12  12821  splval2  12838  cshwidxmod  12879  efgsres  17329  efgredleme  17334  efgredlemd  17335  efgredlemc  17336  efgredlem  17338  efgcpbllemb  17346  wwlknred  25337  wwlkm1edg  25349  wwlkextproplem3  25357  clwlkisclwwlk  25403  clwwlkf  25408  wwlksubclwwlk  25418  clwlkfclwwlk2sswd  25457  extwwlkfablem2lem  25689  signstfveq0  29295
  Copyright terms: Public domain W3C validator