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

Theorem swrdlen 12764
Description: Length of an extracted subword. (Contributed by Stefan O'Rear, 16-Aug-2015.)
Assertion
Ref Expression
swrdlen  |-  ( ( S  e. Word  A  /\  F  e.  ( 0 ... L )  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( # `  ( S substr  <. F ,  L >. ) )  =  ( L  -  F ) )

Proof of Theorem swrdlen
Dummy variable  x is distinct from all other variables.
StepHypRef Expression
1 fvex 5891 . . . . 5  |-  ( S `
 ( x  +  F ) )  e. 
_V
2 eqid 2429 . . . . 5  |-  ( x  e.  ( 0..^ ( L  -  F ) )  |->  ( S `  ( x  +  F
) ) )  =  ( x  e.  ( 0..^ ( L  -  F ) )  |->  ( S `  ( x  +  F ) ) )
31, 2fnmpti 5724 . . . 4  |-  ( x  e.  ( 0..^ ( L  -  F ) )  |->  ( S `  ( x  +  F
) ) )  Fn  ( 0..^ ( L  -  F ) )
4 swrdval2 12761 . . . . 5  |-  ( ( S  e. Word  A  /\  F  e.  ( 0 ... L )  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( S substr  <. F ,  L >. )  =  ( x  e.  ( 0..^ ( L  -  F
) )  |->  ( S `
 ( x  +  F ) ) ) )
54fneq1d 5684 . . . 4  |-  ( ( S  e. Word  A  /\  F  e.  ( 0 ... L )  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( ( S substr  <. F ,  L >. )  Fn  (
0..^ ( L  -  F ) )  <->  ( x  e.  ( 0..^ ( L  -  F ) ) 
|->  ( S `  (
x  +  F ) ) )  Fn  (
0..^ ( L  -  F ) ) ) )
63, 5mpbiri 236 . . 3  |-  ( ( S  e. Word  A  /\  F  e.  ( 0 ... L )  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( S substr  <. F ,  L >. )  Fn  (
0..^ ( L  -  F ) ) )
7 hashfn 12551 . . 3  |-  ( ( S substr  <. F ,  L >. )  Fn  ( 0..^ ( L  -  F
) )  ->  ( # `
 ( S substr  <. F ,  L >. ) )  =  ( # `  (
0..^ ( L  -  F ) ) ) )
86, 7syl 17 . 2  |-  ( ( S  e. Word  A  /\  F  e.  ( 0 ... L )  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( # `  ( S substr  <. F ,  L >. ) )  =  ( # `  ( 0..^ ( L  -  F ) ) ) )
9 fznn0sub 11829 . . . 4  |-  ( F  e.  ( 0 ... L )  ->  ( L  -  F )  e.  NN0 )
1093ad2ant2 1027 . . 3  |-  ( ( S  e. Word  A  /\  F  e.  ( 0 ... L )  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( L  -  F
)  e.  NN0 )
11 hashfzo0 12597 . . 3  |-  ( ( L  -  F )  e.  NN0  ->  ( # `  ( 0..^ ( L  -  F ) ) )  =  ( L  -  F ) )
1210, 11syl 17 . 2  |-  ( ( S  e. Word  A  /\  F  e.  ( 0 ... L )  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( # `  ( 0..^ ( L  -  F
) ) )  =  ( L  -  F
) )
138, 12eqtrd 2470 1  |-  ( ( S  e. Word  A  /\  F  e.  ( 0 ... L )  /\  L  e.  ( 0 ... ( # `  S
) ) )  -> 
( # `  ( S substr  <. F ,  L >. ) )  =  ( L  -  F ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ w3a 982    = wceq 1437    e. wcel 1870   <.cop 4008    |-> cmpt 4484    Fn wfn 5596   ` cfv 5601  (class class class)co 6305   0cc0 9538    + caddc 9541    - cmin 9859   NN0cn0 10869   ...cfz 11782  ..^cfzo 11913   #chash 12512  Word cword 12643   substr csubstr 12647
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 1751  ax-6 1797  ax-7 1841  ax-8 1872  ax-9 1874  ax-10 1889  ax-11 1894  ax-12 1907  ax-13 2055  ax-ext 2407  ax-rep 4538  ax-sep 4548  ax-nul 4556  ax-pow 4603  ax-pr 4661  ax-un 6597  ax-cnex 9594  ax-resscn 9595  ax-1cn 9596  ax-icn 9597  ax-addcl 9598  ax-addrcl 9599  ax-mulcl 9600  ax-mulrcl 9601  ax-mulcom 9602  ax-addass 9603  ax-mulass 9604  ax-distr 9605  ax-i2m1 9606  ax-1ne0 9607  ax-1rid 9608  ax-rnegex 9609  ax-rrecex 9610  ax-cnre 9611  ax-pre-lttri 9612  ax-pre-lttrn 9613  ax-pre-ltadd 9614  ax-pre-mulgt0 9615
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 1790  df-eu 2270  df-mo 2271  df-clab 2415  df-cleq 2421  df-clel 2424  df-nfc 2579  df-ne 2627  df-nel 2628  df-ral 2787  df-rex 2788  df-reu 2789  df-rmo 2790  df-rab 2791  df-v 3089  df-sbc 3306  df-csb 3402  df-dif 3445  df-un 3447  df-in 3449  df-ss 3456  df-pss 3458  df-nul 3768  df-if 3916  df-pw 3987  df-sn 4003  df-pr 4005  df-tp 4007  df-op 4009  df-uni 4223  df-int 4259  df-iun 4304  df-br 4427  df-opab 4485  df-mpt 4486  df-tr 4521  df-eprel 4765  df-id 4769  df-po 4775  df-so 4776  df-fr 4813  df-we 4815  df-xp 4860  df-rel 4861  df-cnv 4862  df-co 4863  df-dm 4864  df-rn 4865  df-res 4866  df-ima 4867  df-pred 5399  df-ord 5445  df-on 5446  df-lim 5447  df-suc 5448  df-iota 5565  df-fun 5603  df-fn 5604  df-f 5605  df-f1 5606  df-fo 5607  df-f1o 5608  df-fv 5609  df-riota 6267  df-ov 6308  df-oprab 6309  df-mpt2 6310  df-om 6707  df-1st 6807  df-2nd 6808  df-wrecs 7036  df-recs 7098  df-rdg 7136  df-1o 7190  df-oadd 7194  df-er 7371  df-en 7578  df-dom 7579  df-sdom 7580  df-fin 7581  df-card 8372  df-cda 8596  df-pnf 9676  df-mnf 9677  df-xr 9678  df-ltxr 9679  df-le 9680  df-sub 9861  df-neg 9862  df-nn 10610  df-2 10668  df-n0 10870  df-z 10938  df-uz 11160  df-fz 11783  df-fzo 11914  df-hash 12513  df-word 12651  df-substr 12655
This theorem is referenced by:  swrdf  12766  swrdrlen  12776  swrdlen2  12786  swrds1  12792  ccatswrd  12797  swrdccat2  12799  swrdswrd  12801  swrdccatin12lem2  12830  swrdccatin12  12832  spllen  12846  splfv1  12847  splfv2a  12848  cshwlen  12886  cshwidxmod  12890  efgredleme  17328  ccatpfx  38352  pfxccatin12lem2  38367  pfxccatin12  38368
  Copyright terms: Public domain W3C validator