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

Theorem swrd0 12448
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 4980 . . . 4  |-  ( <. (/)
,  <. F ,  L >. >.  e.  ( _V 
X.  ( ZZ  X.  ZZ ) )  <->  ( (/)  e.  _V  /\ 
<. F ,  L >.  e.  ( ZZ  X.  ZZ ) ) )
2 opelxp 4980 . . . . 5  |-  ( <. F ,  L >.  e.  ( ZZ  X.  ZZ ) 
<->  ( F  e.  ZZ  /\  L  e.  ZZ ) )
3 swrdval 12434 . . . . . . 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 11692 . . . . . . . . . . . . . . 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 3779 . . . . . . . . . . . 12  |-  ( ( F..^ L )  C_  (/) 
->  ( F..^ L )  =  (/) )
97, 8nsyl 121 . . . . . . . . . . 11  |-  ( ( F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  ( F..^ L )  C_  (/) )
10 dm0 5164 . . . . . . . . . . . . 13  |-  dom  (/)  =  (/)
1110a1i 11 . . . . . . . . . . . 12  |-  ( ( F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  dom  (/)  =  (/) )
1211sseq2d 3495 . . . . . . . . . . 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 3910 . . . . . . . . . 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 3777 . . . . . . . . . . . . 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 3510 . . . . . . . . . . 11  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  ( F..^ L )  C_  dom  (/) )
21 iftrue 3908 . . . . . . . . . . 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 4463 . . . . . . . . . . . 12  |-  ( x  e.  ( 0..^ ( L  -  F ) )  |->  ( (/) `  (
x  +  F ) ) )  =  { <. x ,  y >.  |  ( x  e.  ( 0..^ ( L  -  F ) )  /\  y  =  (
(/) `  ( x  +  F ) ) ) }
24 df-opab 4462 . . . . . . . . . . . 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 2483 . . . . . . . . . . 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 3752 . . . . . . . . . . . . . . . . . . . 20  |-  -.  x  e.  (/)
2726a1i 11 . . . . . . . . . . . . . . . . . . 19  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  x  e.  (/) )
28 zre 10764 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( F  e.  ZZ  ->  F  e.  RR )
29 zre 10764 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( L  e.  ZZ  ->  L  e.  RR )
30 posdif 9946 . . . . . . . . . . . . . . . . . . . . . . . 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 10801 . . . . . . . . . . . . . . . . . . . . . . . 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 10771 . . . . . . . . . . . . . . . . . . . . . . 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 11692 . . . . . . . . . . . . . . . . . . . . 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 2567 . . . . . . . . . . . . . . . . . 18  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  x  e.  ( 0..^ ( L  -  F ) ) )
4443intnanrd 908 . . . . . . . . . . . . . . . . 17  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  (
x  e.  ( 0..^ ( L  -  F
) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) )
4544intnand 907 . . . . . . . . . . . . . . . 16  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  -.  (
p  =  <. x ,  y >.  /\  (
x  e.  ( 0..^ ( L  -  F
) )  /\  y  =  ( (/) `  (
x  +  F ) ) ) ) )
4645alrimivv 1687 . . . . . . . . . . . . . . 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 1622 . . . . . . . . . . . . . . 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 3537 . . . . . . . . . . . 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 3779 . . . . . . . . . . . 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 2507 . . . . . . . . . 10  |-  ( ( -.  F  <  L  /\  ( F  e.  ZZ  /\  L  e.  ZZ ) )  ->  ( x  e.  ( 0..^ ( L  -  F ) ) 
|->  ( (/) `  ( x  +  F ) ) )  =  (/) )
5422, 53eqtrd 2495 . . . . . . . . 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 1006 . . . . . . 7  |-  ( (
(/)  e.  _V  /\  F  e.  ZZ  /\  L  e.  ZZ )  ->  if ( ( F..^ L
)  C_  dom  (/) ,  ( x  e.  ( 0..^ ( L  -  F
) )  |->  ( (/) `  ( x  +  F
) ) ) ,  (/) )  =  (/) )
573, 56eqtrd 2495 . . . . . 6  |-  ( (
(/)  e.  _V  /\  F  e.  ZZ  /\  L  e.  ZZ )  ->  ( (/) substr  <. F ,  L >. )  =  (/) )
58573expb 1189 . . . . 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 12354 . . . 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 6228 . . . . . 6  |-  ( 0..^ ( ( 2nd `  b
)  -  ( 1st `  b ) ) )  e.  _V
6362mptex 6060 . . . . 5  |-  ( z  e.  ( 0..^ ( ( 2nd `  b
)  -  ( 1st `  b ) ) ) 
|->  ( s `  (
z  +  ( 1st `  b ) ) ) )  e.  _V
64 0ex 4533 . . . . 5  |-  (/)  e.  _V
6563, 64ifex 3969 . . . 4  |-  if ( ( ( 1st `  b
)..^ ( 2nd `  b
) )  C_  dom  s ,  ( z  e.  ( 0..^ ( ( 2nd `  b )  -  ( 1st `  b
) ) )  |->  ( s `  ( z  +  ( 1st `  b
) ) ) ) ,  (/) )  e.  _V
6661, 65dmmpt2 6757 . . 3  |-  dom substr  =  ( _V  X.  ( ZZ 
X.  ZZ ) )
6760, 66eleq2s 2562 . 2  |-  ( <. (/)
,  <. F ,  L >. >.  e.  dom substr  ->  ( (/) substr  <. F ,  L >. )  =  (/) )
68 df-ov 6206 . . 3  |-  ( (/) substr  <. F ,  L >. )  =  ( substr  `  <. (/)
,  <. F ,  L >. >. )
69 ndmfv 5826 . . 3  |-  ( -. 
<. (/) ,  <. F ,  L >. >.  e.  dom substr  ->  ( substr  ` 
<. (/) ,  <. F ,  L >. >. )  =  (/) )
7068, 69syl5eq 2507 . 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 965   A.wal 1368    = wceq 1370   E.wex 1587    e. wcel 1758   {cab 2439   _Vcvv 3078    C_ wss 3439   (/)c0 3748   ifcif 3902   <.cop 3994   class class class wbr 4403   {copab 4460    |-> cmpt 4461    X. cxp 4949   dom cdm 4951   ` cfv 5529  (class class class)co 6203   1stc1st 6688   2ndc2nd 6689   RRcr 9395   0cc0 9396    + caddc 9399    < clt 9532    - cmin 9709   ZZcz 10760  ..^cfzo 11668   substr csubstr 12346
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1592  ax-4 1603  ax-5 1671  ax-6 1710  ax-7 1730  ax-8 1760  ax-9 1762  ax-10 1777  ax-11 1782  ax-12 1794  ax-13 1955  ax-ext 2432  ax-rep 4514  ax-sep 4524  ax-nul 4532  ax-pow 4581  ax-pr 4642  ax-un 6485  ax-cnex 9452  ax-resscn 9453  ax-1cn 9454  ax-icn 9455  ax-addcl 9456  ax-addrcl 9457  ax-mulcl 9458  ax-mulrcl 9459  ax-mulcom 9460  ax-addass 9461  ax-mulass 9462  ax-distr 9463  ax-i2m1 9464  ax-1ne0 9465  ax-1rid 9466  ax-rnegex 9467  ax-rrecex 9468  ax-cnre 9469  ax-pre-lttri 9470  ax-pre-lttrn 9471  ax-pre-ltadd 9472  ax-pre-mulgt0 9473
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1373  df-ex 1588  df-nf 1591  df-sb 1703  df-eu 2266  df-mo 2267  df-clab 2440  df-cleq 2446  df-clel 2449  df-nfc 2604  df-ne 2650  df-nel 2651  df-ral 2804  df-rex 2805  df-reu 2806  df-rab 2808  df-v 3080  df-sbc 3295  df-csb 3399  df-dif 3442  df-un 3444  df-in 3446  df-ss 3453  df-pss 3455  df-nul 3749  df-if 3903  df-pw 3973  df-sn 3989  df-pr 3991  df-tp 3993  df-op 3995  df-uni 4203  df-iun 4284  df-br 4404  df-opab 4462  df-mpt 4463  df-tr 4497  df-eprel 4743  df-id 4747  df-po 4752  df-so 4753  df-fr 4790  df-we 4792  df-ord 4833  df-on 4834  df-lim 4835  df-suc 4836  df-xp 4957  df-rel 4958  df-cnv 4959  df-co 4960  df-dm 4961  df-rn 4962  df-res 4963  df-ima 4964  df-iota 5492  df-fun 5531  df-fn 5532  df-f 5533  df-f1 5534  df-fo 5535  df-f1o 5536  df-fv 5537  df-riota 6164  df-ov 6206  df-oprab 6207  df-mpt2 6208  df-om 6590  df-1st 6690  df-2nd 6691  df-recs 6945  df-rdg 6979  df-er 7214  df-en 7424  df-dom 7425  df-sdom 7426  df-pnf 9534  df-mnf 9535  df-xr 9536  df-ltxr 9537  df-le 9538  df-sub 9711  df-neg 9712  df-nn 10437  df-n0 10694  df-z 10761  df-uz 10976  df-fz 11558  df-fzo 11669  df-substr 12354
This theorem is referenced by:  cshword  12549
  Copyright terms: Public domain W3C validator