Step |
Hyp |
Ref |
Expression |
1 |
|
3orass |
|- ( ( B <_ A \/ ( # ` W ) <_ A \/ B <_ 0 ) <-> ( B <_ A \/ ( ( # ` W ) <_ A \/ B <_ 0 ) ) ) |
2 |
|
pm2.24 |
|- ( B <_ A -> ( -. B <_ A -> ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) -> ( W substr <. A , B >. ) = (/) ) ) ) |
3 |
|
swrdval |
|- ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) -> ( W substr <. A , B >. ) = if ( ( A ..^ B ) C_ dom W , ( x e. ( 0 ..^ ( B - A ) ) |-> ( W ` ( x + A ) ) ) , (/) ) ) |
4 |
3
|
ad2antrr |
|- ( ( ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) /\ ( ( # ` W ) <_ A \/ B <_ 0 ) ) /\ -. B <_ A ) -> ( W substr <. A , B >. ) = if ( ( A ..^ B ) C_ dom W , ( x e. ( 0 ..^ ( B - A ) ) |-> ( W ` ( x + A ) ) ) , (/) ) ) |
5 |
|
wrddm |
|- ( W e. Word V -> dom W = ( 0 ..^ ( # ` W ) ) ) |
6 |
|
lencl |
|- ( W e. Word V -> ( # ` W ) e. NN0 ) |
7 |
|
3anass |
|- ( ( ( # ` W ) e. NN0 /\ A e. ZZ /\ B e. ZZ ) <-> ( ( # ` W ) e. NN0 /\ ( A e. ZZ /\ B e. ZZ ) ) ) |
8 |
|
ssfzoulel |
|- ( ( ( # ` W ) e. NN0 /\ A e. ZZ /\ B e. ZZ ) -> ( ( ( # ` W ) <_ A \/ B <_ 0 ) -> ( ( A ..^ B ) C_ ( 0 ..^ ( # ` W ) ) -> B <_ A ) ) ) |
9 |
8
|
imp |
|- ( ( ( ( # ` W ) e. NN0 /\ A e. ZZ /\ B e. ZZ ) /\ ( ( # ` W ) <_ A \/ B <_ 0 ) ) -> ( ( A ..^ B ) C_ ( 0 ..^ ( # ` W ) ) -> B <_ A ) ) |
10 |
7 9
|
sylanbr |
|- ( ( ( ( # ` W ) e. NN0 /\ ( A e. ZZ /\ B e. ZZ ) ) /\ ( ( # ` W ) <_ A \/ B <_ 0 ) ) -> ( ( A ..^ B ) C_ ( 0 ..^ ( # ` W ) ) -> B <_ A ) ) |
11 |
10
|
con3dimp |
|- ( ( ( ( ( # ` W ) e. NN0 /\ ( A e. ZZ /\ B e. ZZ ) ) /\ ( ( # ` W ) <_ A \/ B <_ 0 ) ) /\ -. B <_ A ) -> -. ( A ..^ B ) C_ ( 0 ..^ ( # ` W ) ) ) |
12 |
|
sseq2 |
|- ( dom W = ( 0 ..^ ( # ` W ) ) -> ( ( A ..^ B ) C_ dom W <-> ( A ..^ B ) C_ ( 0 ..^ ( # ` W ) ) ) ) |
13 |
12
|
notbid |
|- ( dom W = ( 0 ..^ ( # ` W ) ) -> ( -. ( A ..^ B ) C_ dom W <-> -. ( A ..^ B ) C_ ( 0 ..^ ( # ` W ) ) ) ) |
14 |
11 13
|
syl5ibr |
|- ( dom W = ( 0 ..^ ( # ` W ) ) -> ( ( ( ( ( # ` W ) e. NN0 /\ ( A e. ZZ /\ B e. ZZ ) ) /\ ( ( # ` W ) <_ A \/ B <_ 0 ) ) /\ -. B <_ A ) -> -. ( A ..^ B ) C_ dom W ) ) |
15 |
14
|
exp5j |
|- ( dom W = ( 0 ..^ ( # ` W ) ) -> ( ( # ` W ) e. NN0 -> ( ( A e. ZZ /\ B e. ZZ ) -> ( ( ( # ` W ) <_ A \/ B <_ 0 ) -> ( -. B <_ A -> -. ( A ..^ B ) C_ dom W ) ) ) ) ) |
16 |
5 6 15
|
sylc |
|- ( W e. Word V -> ( ( A e. ZZ /\ B e. ZZ ) -> ( ( ( # ` W ) <_ A \/ B <_ 0 ) -> ( -. B <_ A -> -. ( A ..^ B ) C_ dom W ) ) ) ) |
17 |
16
|
3impib |
|- ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) -> ( ( ( # ` W ) <_ A \/ B <_ 0 ) -> ( -. B <_ A -> -. ( A ..^ B ) C_ dom W ) ) ) |
18 |
17
|
imp31 |
|- ( ( ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) /\ ( ( # ` W ) <_ A \/ B <_ 0 ) ) /\ -. B <_ A ) -> -. ( A ..^ B ) C_ dom W ) |
19 |
18
|
iffalsed |
|- ( ( ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) /\ ( ( # ` W ) <_ A \/ B <_ 0 ) ) /\ -. B <_ A ) -> if ( ( A ..^ B ) C_ dom W , ( x e. ( 0 ..^ ( B - A ) ) |-> ( W ` ( x + A ) ) ) , (/) ) = (/) ) |
20 |
4 19
|
eqtrd |
|- ( ( ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) /\ ( ( # ` W ) <_ A \/ B <_ 0 ) ) /\ -. B <_ A ) -> ( W substr <. A , B >. ) = (/) ) |
21 |
20
|
ex |
|- ( ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) /\ ( ( # ` W ) <_ A \/ B <_ 0 ) ) -> ( -. B <_ A -> ( W substr <. A , B >. ) = (/) ) ) |
22 |
21
|
expcom |
|- ( ( ( # ` W ) <_ A \/ B <_ 0 ) -> ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) -> ( -. B <_ A -> ( W substr <. A , B >. ) = (/) ) ) ) |
23 |
22
|
com23 |
|- ( ( ( # ` W ) <_ A \/ B <_ 0 ) -> ( -. B <_ A -> ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) -> ( W substr <. A , B >. ) = (/) ) ) ) |
24 |
2 23
|
jaoi |
|- ( ( B <_ A \/ ( ( # ` W ) <_ A \/ B <_ 0 ) ) -> ( -. B <_ A -> ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) -> ( W substr <. A , B >. ) = (/) ) ) ) |
25 |
|
swrdlend |
|- ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) -> ( B <_ A -> ( W substr <. A , B >. ) = (/) ) ) |
26 |
25
|
com12 |
|- ( B <_ A -> ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) -> ( W substr <. A , B >. ) = (/) ) ) |
27 |
24 26
|
pm2.61d2 |
|- ( ( B <_ A \/ ( ( # ` W ) <_ A \/ B <_ 0 ) ) -> ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) -> ( W substr <. A , B >. ) = (/) ) ) |
28 |
1 27
|
sylbi |
|- ( ( B <_ A \/ ( # ` W ) <_ A \/ B <_ 0 ) -> ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) -> ( W substr <. A , B >. ) = (/) ) ) |
29 |
28
|
com12 |
|- ( ( W e. Word V /\ A e. ZZ /\ B e. ZZ ) -> ( ( B <_ A \/ ( # ` W ) <_ A \/ B <_ 0 ) -> ( W substr <. A , B >. ) = (/) ) ) |