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

Theorem swrd0 12624
Description: A subword of an empty set is always the empty set. (Contributed by AV, 31-Mar-2018.) (Revised by AV, 20-Oct-2018.)
Assertion
Ref Expression
swrd0  |-  ( (/) substr  <. F ,  L >. )  =  (/)

Proof of Theorem swrd0
Dummy variables  p  x  y  s  b 
z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 opelxp 5029 . . . 4  |-  ( <. (/)
,  <. F ,  L >. >.  e.  ( _V 
X.  ( ZZ  X.  ZZ ) )  <->  ( (/)  e.  _V  /\ 
<. F ,  L >.  e.  ( ZZ  X.  ZZ ) ) )
2 opelxp 5029 . . . . 5  |-  ( <. F ,  L >.  e.  ( ZZ  X.  ZZ ) 
<->  ( F  e.  ZZ  /\  L  e.  ZZ ) )
3 swrdval 12610 . . . . . . 7  |-  ( (
(/)  e.  _V  /\  F  e.  ZZ  /\  L  e.  ZZ )  ->  ( (/) substr  <. F ,  L >. )  =  if ( ( F..^ L )  C_  dom  (/) ,  ( x  e.  ( 0..^ ( L  -  F ) )  |->  ( (/) `  (
x  +  F ) ) ) ,  (/) ) )
4 fzonlt0 11817 . . . . . . . . . . . . . . 15  |-  ( ( F  e.  ZZ  /\  L  e.  ZZ )  ->  ( -.  F  < 
L  <->  ( F..^ L
)  =  (/) ) )
54biimprd 223 . . . . . . . . . . . . . 14  |-  ( ( F  e.  ZZ  /\  L  e.  ZZ )  ->  ( ( F..^ L
)  =  (/)  ->  -.  F  <  L ) )
65con2d 115 . . . . . . . . . . . . 13  |-  ( ( F  e.  ZZ  /\  L  e.  ZZ )  ->  ( F  <  L  ->  -.  ( F..^ L
)  =  (/) ) )
76impcom 430 . . . . . . . . . . . 12  |-  ( ( F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  ( F..^ L )  =  (/) )
8 ss0 3816 . . . . . . . . . . . 12  |-  ( ( F..^ L )  C_  (/) 
->  ( F..^ L )  =  (/) )
97, 8nsyl 121 . . . . . . . . . . 11  |-  ( ( F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  ( F..^ L )  C_  (/) )
10 dm0 5216 . . . . . . . . . . . . 13  |-  dom  (/)  =  (/)
1110a1i 11 . . . . . . . . . . . 12  |-  ( ( F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  dom  (/)  =  (/) )
1211sseq2d 3532 . . . . . . . . . . 11  |-  ( ( F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  ( ( F..^ L )  C_  dom  (/)  <->  ( F..^ L )  C_  (/) ) )
139, 12mtbird 301 . . . . . . . . . 10  |-  ( ( F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  ( F..^ L )  C_  dom  (/) )
14 iffalse 3948 . . . . . . . . . 10  |-  ( -.  ( F..^ L ) 
C_  dom  (/)  ->  if ( ( F..^ L
)  C_  dom  (/) ,  ( x  e.  ( 0..^ ( L  -  F
) )  |->  ( (/) `  ( x  +  F
) ) ) ,  (/) )  =  (/) )
1513, 14syl 16 . . . . . . . . 9  |-  ( ( F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  if (
( F..^ L ) 
C_  dom  (/) ,  ( x  e.  ( 0..^ ( L  -  F
) )  |->  ( (/) `  ( x  +  F
) ) ) ,  (/) )  =  (/) )
16 0ss 3814 . . . . . . . . . . . . 13  |-  (/)  C_  (/)
1716a1i 11 . . . . . . . . . . . 12  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  (/)  C_  (/) )
184biimpac 486 . . . . . . . . . . . 12  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  ( F..^ L )  =  (/) )
1910a1i 11 . . . . . . . . . . . 12  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  dom  (/)  =  (/) )
2017, 18, 193sstr4d 3547 . . . . . . . . . . 11  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  ( F..^ L )  C_  dom  (/) )
21 iftrue 3945 . . . . . . . . . . 11  |-  ( ( F..^ L )  C_  dom  (/)  ->  if (
( F..^ L ) 
C_  dom  (/) ,  ( x  e.  ( 0..^ ( L  -  F
) )  |->  ( (/) `  ( x  +  F
) ) ) ,  (/) )  =  (
x  e.  ( 0..^ ( L  -  F
) )  |->  ( (/) `  ( x  +  F
) ) ) )
2220, 21syl 16 . . . . . . . . . 10  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  if (
( F..^ L ) 
C_  dom  (/) ,  ( x  e.  ( 0..^ ( L  -  F
) )  |->  ( (/) `  ( x  +  F
) ) ) ,  (/) )  =  (
x  e.  ( 0..^ ( L  -  F
) )  |->  ( (/) `  ( x  +  F
) ) ) )
23 df-mpt 4507 . . . . . . . . . . . 12  |-  ( x  e.  ( 0..^ ( L  -  F ) )  |->  ( (/) `  (
x  +  F ) ) )  =  { <. x ,  y >.  |  ( x  e.  ( 0..^ ( L  -  F ) )  /\  y  =  (
(/) `  ( x  +  F ) ) ) }
24 df-opab 4506 . . . . . . . . . . . 12  |-  { <. x ,  y >.  |  ( x  e.  ( 0..^ ( L  -  F
) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) }  =  { p  |  E. x E. y ( p  =  <. x ,  y
>.  /\  ( x  e.  ( 0..^ ( L  -  F ) )  /\  y  =  (
(/) `  ( x  +  F ) ) ) ) }
2523, 24eqtri 2496 . . . . . . . . . . 11  |-  ( x  e.  ( 0..^ ( L  -  F ) )  |->  ( (/) `  (
x  +  F ) ) )  =  {
p  |  E. x E. y ( p  = 
<. x ,  y >.  /\  ( x  e.  ( 0..^ ( L  -  F ) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) ) }
26 noel 3789 . . . . . . . . . . . . . . . . . . . 20  |-  -.  x  e.  (/)
2726a1i 11 . . . . . . . . . . . . . . . . . . 19  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  x  e.  (/) )
28 zre 10869 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( F  e.  ZZ  ->  F  e.  RR )
29 zre 10869 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( L  e.  ZZ  ->  L  e.  RR )
30 posdif 10046 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( F  e.  RR  /\  L  e.  RR )  ->  ( F  <  L  <->  0  <  ( L  -  F ) ) )
3128, 29, 30syl2an 477 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( F  e.  ZZ  /\  L  e.  ZZ )  ->  ( F  <  L  <->  0  <  ( L  -  F ) ) )
3231biimprd 223 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( F  e.  ZZ  /\  L  e.  ZZ )  ->  ( 0  <  ( L  -  F )  ->  F  <  L ) )
3332con3d 133 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( F  e.  ZZ  /\  L  e.  ZZ )  ->  ( -.  F  < 
L  ->  -.  0  <  ( L  -  F
) ) )
3433impcom 430 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  0  <  ( L  -  F
) )
35 zsubcl 10906 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( L  e.  ZZ  /\  F  e.  ZZ )  ->  ( L  -  F
)  e.  ZZ )
3635ancoms 453 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( F  e.  ZZ  /\  L  e.  ZZ )  ->  ( L  -  F
)  e.  ZZ )
37 0z 10876 . . . . . . . . . . . . . . . . . . . . . . 23  |-  0  e.  ZZ
3836, 37jctil 537 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( F  e.  ZZ  /\  L  e.  ZZ )  ->  ( 0  e.  ZZ  /\  ( L  -  F
)  e.  ZZ ) )
3938adantl 466 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  ( 0  e.  ZZ  /\  ( L  -  F )  e.  ZZ ) )
40 fzonlt0 11817 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( 0  e.  ZZ  /\  ( L  -  F
)  e.  ZZ )  ->  ( -.  0  <  ( L  -  F
)  <->  ( 0..^ ( L  -  F ) )  =  (/) ) )
4139, 40syl 16 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  ( -.  0  <  ( L  -  F )  <->  ( 0..^ ( L  -  F
) )  =  (/) ) )
4234, 41mpbid 210 . . . . . . . . . . . . . . . . . . 19  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  ( 0..^ ( L  -  F
) )  =  (/) )
4327, 42neleqtrrd 2580 . . . . . . . . . . . . . . . . . 18  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  x  e.  ( 0..^ ( L  -  F ) ) )
4443intnanrd 915 . . . . . . . . . . . . . . . . 17  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  (
x  e.  ( 0..^ ( L  -  F
) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) )
4544intnand 914 . . . . . . . . . . . . . . . 16  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  (
p  =  <. x ,  y >.  /\  (
x  e.  ( 0..^ ( L  -  F
) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) ) )
4645alrimivv 1696 . . . . . . . . . . . . . . 15  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  A. x A. y  -.  (
p  =  <. x ,  y >.  /\  (
x  e.  ( 0..^ ( L  -  F
) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) ) )
47 2nexaln 1631 . . . . . . . . . . . . . . 15  |-  ( -. 
E. x E. y
( p  =  <. x ,  y >.  /\  (
x  e.  ( 0..^ ( L  -  F
) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) )  <->  A. x A. y  -.  (
p  =  <. x ,  y >.  /\  (
x  e.  ( 0..^ ( L  -  F
) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) ) )
4846, 47sylibr 212 . . . . . . . . . . . . . 14  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  E. x E. y ( p  = 
<. x ,  y >.  /\  ( x  e.  ( 0..^ ( L  -  F ) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) ) )
4948pm2.21d 106 . . . . . . . . . . . . 13  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  ( E. x E. y ( p  =  <. x ,  y
>.  /\  ( x  e.  ( 0..^ ( L  -  F ) )  /\  y  =  (
(/) `  ( x  +  F ) ) ) )  ->  p  e.  (/) ) )
5049abssdv 3574 . . . . . . . . . . . 12  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  { p  |  E. x E. y
( p  =  <. x ,  y >.  /\  (
x  e.  ( 0..^ ( L  -  F
) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) ) } 
C_  (/) )
51 ss0 3816 . . . . . . . . . . . 12  |-  ( { p  |  E. x E. y ( p  = 
<. x ,  y >.  /\  ( x  e.  ( 0..^ ( L  -  F ) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) ) } 
C_  (/)  ->  { p  |  E. x E. y
( p  =  <. x ,  y >.  /\  (
x  e.  ( 0..^ ( L  -  F
) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) ) }  =  (/) )
5250, 51syl 16 . . . . . . . . . . 11  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  { p  |  E. x E. y
( p  =  <. x ,  y >.  /\  (
x  e.  ( 0..^ ( L  -  F
) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) ) }  =  (/) )
5325, 52syl5eq 2520 . . . . . . . . . 10  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  ( x  e.  ( 0..^ ( L  -  F ) ) 
|->  ( (/) `  ( x  +  F ) ) )  =  (/) )
5422, 53eqtrd 2508 . . . . . . . . 9  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  if (
( F..^ L ) 
C_  dom  (/) ,  ( x  e.  ( 0..^ ( L  -  F
) )  |->  ( (/) `  ( x  +  F
) ) ) ,  (/) )  =  (/) )
5515, 54pm2.61ian 788 . . . . . . . 8  |-  ( ( F  e.  ZZ  /\  L  e.  ZZ )  ->  if ( ( F..^ L )  C_  dom  (/)
,  ( x  e.  ( 0..^ ( L  -  F ) ) 
|->  ( (/) `  ( x  +  F ) ) ) ,  (/) )  =  (/) )
56553adant1 1014 . . . . . . 7  |-  ( (
(/)  e.  _V  /\  F  e.  ZZ  /\  L  e.  ZZ )  ->  if ( ( F..^ L
)  C_  dom  (/) ,  ( x  e.  ( 0..^ ( L  -  F
) )  |->  ( (/) `  ( x  +  F
) ) ) ,  (/) )  =  (/) )
573, 56eqtrd 2508 . . . . . 6  |-  ( (
(/)  e.  _V  /\  F  e.  ZZ  /\  L  e.  ZZ )  ->  ( (/) substr  <. F ,  L >. )  =  (/) )
58573expb 1197 . . . . 5  |-  ( (
(/)  e.  _V  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  -> 
( (/) substr  <. F ,  L >. )  =  (/) )
592, 58sylan2b 475 . . . 4  |-  ( (
(/)  e.  _V  /\  <. F ,  L >.  e.  ( ZZ  X.  ZZ ) )  ->  ( (/) substr  <. F ,  L >. )  =  (/) )
601, 59sylbi 195 . . 3  |-  ( <. (/)
,  <. F ,  L >. >.  e.  ( _V 
X.  ( ZZ  X.  ZZ ) )  ->  ( (/) substr  <. F ,  L >. )  =  (/) )
61 df-substr 12513 . . . 4  |- substr  =  ( s  e.  _V , 
b  e.  ( ZZ 
X.  ZZ )  |->  if ( ( ( 1st `  b )..^ ( 2nd `  b ) )  C_  dom  s ,  ( z  e.  ( 0..^ ( ( 2nd `  b
)  -  ( 1st `  b ) ) ) 
|->  ( s `  (
z  +  ( 1st `  b ) ) ) ) ,  (/) ) )
62 ovex 6310 . . . . . 6  |-  ( 0..^ ( ( 2nd `  b
)  -  ( 1st `  b ) ) )  e.  _V
6362mptex 6132 . . . . 5  |-  ( z  e.  ( 0..^ ( ( 2nd `  b
)  -  ( 1st `  b ) ) ) 
|->  ( s `  (
z  +  ( 1st `  b ) ) ) )  e.  _V
64 0ex 4577 . . . . 5  |-  (/)  e.  _V
6563, 64ifex 4008 . . . 4  |-  if ( ( ( 1st `  b
)..^ ( 2nd `  b
) )  C_  dom  s ,  ( z  e.  ( 0..^ ( ( 2nd `  b )  -  ( 1st `  b
) ) )  |->  ( s `  ( z  +  ( 1st `  b
) ) ) ) ,  (/) )  e.  _V
6661, 65dmmpt2 6855 . . 3  |-  dom substr  =  ( _V  X.  ( ZZ 
X.  ZZ ) )
6760, 66eleq2s 2575 . 2  |-  ( <. (/)
,  <. F ,  L >. >.  e.  dom substr  ->  ( (/) substr  <. F ,  L >. )  =  (/) )
68 df-ov 6288 . . 3  |-  ( (/) substr  <. F ,  L >. )  =  ( substr  `  <. (/)
,  <. F ,  L >. >. )
69 ndmfv 5890 . . 3  |-  ( -. 
<. (/) ,  <. F ,  L >. >.  e.  dom substr  ->  ( substr  ` 
<. (/) ,  <. F ,  L >. >. )  =  (/) )
7068, 69syl5eq 2520 . 2  |-  ( -. 
<. (/) ,  <. F ,  L >. >.  e.  dom substr  ->  ( (/) substr  <. F ,  L >. )  =  (/) )
7167, 70pm2.61i 164 1  |-  ( (/) substr  <. F ,  L >. )  =  (/)
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    <-> wb 184    /\ wa 369    /\ w3a 973   A.wal 1377    = wceq 1379   E.wex 1596    e. wcel 1767   {cab 2452   _Vcvv 3113    C_ wss 3476   (/)c0 3785   ifcif 3939   <.cop 4033   class class class wbr 4447   {copab 4504    |-> cmpt 4505    X. cxp 4997   dom cdm 4999   ` cfv 5588  (class class class)co 6285   1stc1st 6783   2ndc2nd 6784   RRcr 9492   0cc0 9493    + caddc 9496    < clt 9629    - cmin 9806   ZZcz 10865  ..^cfzo 11793   substr csubstr 12505
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-rep 4558  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6577  ax-cnex 9549  ax-resscn 9550  ax-1cn 9551  ax-icn 9552  ax-addcl 9553  ax-addrcl 9554  ax-mulcl 9555  ax-mulrcl 9556  ax-mulcom 9557  ax-addass 9558  ax-mulass 9559  ax-distr 9560  ax-i2m1 9561  ax-1ne0 9562  ax-1rid 9563  ax-rnegex 9564  ax-rrecex 9565  ax-cnre 9566  ax-pre-lttri 9567  ax-pre-lttrn 9568  ax-pre-ltadd 9569  ax-pre-mulgt0 9570
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1382  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-nel 2665  df-ral 2819  df-rex 2820  df-reu 2821  df-rab 2823  df-v 3115  df-sbc 3332  df-csb 3436  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-pss 3492  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-tp 4032  df-op 4034  df-uni 4246  df-iun 4327  df-br 4448  df-opab 4506  df-mpt 4507  df-tr 4541  df-eprel 4791  df-id 4795  df-po 4800  df-so 4801  df-fr 4838  df-we 4840  df-ord 4881  df-on 4882  df-lim 4883  df-suc 4884  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5551  df-fun 5590  df-fn 5591  df-f 5592  df-f1 5593  df-fo 5594  df-f1o 5595  df-fv 5596  df-riota 6246  df-ov 6288  df-oprab 6289  df-mpt2 6290  df-om 6686  df-1st 6785  df-2nd 6786  df-recs 7043  df-rdg 7077  df-er 7312  df-en 7518  df-dom 7519  df-sdom 7520  df-pnf 9631  df-mnf 9632  df-xr 9633  df-ltxr 9634  df-le 9635  df-sub 9808  df-neg 9809  df-nn 10538  df-n0 10797  df-z 10866  df-uz 11084  df-fz 11674  df-fzo 11794  df-substr 12513
This theorem is referenced by:  cshword  12728
  Copyright terms: Public domain W3C validator