let D be non empty set ; for f, CR being File of D holds CR is_substring_of ovlcon f,CR,1
let f, CR be File of D; CR is_substring_of ovlcon f,CR,1
per cases
( len CR > 0 or len CR <= 0 )
;
suppose A1:
len CR > 0
;
CR is_substring_of ovlcon f,CR,1set i3 =
(len f) -' (len (ovlpart f,CR));
A2:
len CR >= 0 + 1
by A1, NAT_1:13;
then A3:
((len f) -' (len (ovlpart f,CR))) + 1
<= ((len f) -' (len (ovlpart f,CR))) + (len CR)
by XREAL_1:8;
then A4:
((((len f) -' (len (ovlpart f,CR))) + (len CR)) -' (((len f) -' (len (ovlpart f,CR))) + 1)) + 1 =
((((len f) -' (len (ovlpart f,CR))) + (len CR)) - (((len f) -' (len (ovlpart f,CR))) + 1)) + 1
by XREAL_1:235
.=
len CR
;
1
- (len (ovlpart f,CR)) <= (len CR) - (len (ovlpart f,CR))
by A2, XREAL_1:11;
then
(1 - (len (ovlpart f,CR))) + (len f) <= ((len CR) - (len (ovlpart f,CR))) + (len f)
by XREAL_1:9;
then A5:
(
(len f) - (len (ovlpart f,CR)) >= 0 &
((len f) - (len (ovlpart f,CR))) + 1
<= (len f) + ((len CR) - (len (ovlpart f,CR))) )
by FINSEQ_8:10, XREAL_1:50;
len (ovlpart f,CR) <= len CR
by FINSEQ_8:def 2;
then A6:
(len CR) - (len (ovlpart f,CR)) >= 0
by XREAL_1:50;
set i4 =
((len f) -' (len (ovlpart f,CR))) + 1;
A7:
(len f) -' (len (ovlpart f,CR)) <= len (f | ((len f) -' (len (ovlpart f,CR))))
by FINSEQ_1:80, NAT_D:35;
A8:
(f | ((len f) -' (len (ovlpart f,CR)))) /^ ((len f) -' (len (ovlpart f,CR))) =
(f /^ ((len f) -' (len (ovlpart f,CR)))) | (((len f) -' (len (ovlpart f,CR))) -' ((len f) -' (len (ovlpart f,CR))))
by FINSEQ_5:83
.=
(f /^ ((len f) -' (len (ovlpart f,CR)))) | 0
by XREAL_1:234
.=
{}
;
len (CR /^ (len (ovlpart f,CR))) =
(len CR) -' (len (ovlpart f,CR))
by RFINSEQ:42
.=
(len CR) - (len (ovlpart f,CR))
by A6, XREAL_0:def 2
;
then
(
ovlcon f,
CR = f ^ (CR /^ (len (ovlpart f,CR))) &
((len f) -' (len (ovlpart f,CR))) + 1
<= (len f) + (len (CR /^ (len (ovlpart f,CR)))) )
by A5, FINSEQ_8:def 3, XREAL_0:def 2;
then A9:
( 1
<= ((len f) -' (len (ovlpart f,CR))) + 1 &
((len f) -' (len (ovlpart f,CR))) + 1
<= len (ovlcon f,CR) )
by FINSEQ_1:35, NAT_1:11;
mid (ovlcon f,CR),
(((len f) -' (len (ovlpart f,CR))) + 1),
(((((len f) -' (len (ovlpart f,CR))) + 1) -' 1) + (len CR)) =
mid ((f | ((len f) -' (len (ovlpart f,CR)))) ^ CR),
(((len f) -' (len (ovlpart f,CR))) + 1),
(((((len f) -' (len (ovlpart f,CR))) + 1) -' 1) + (len CR))
by FINSEQ_8:11
.=
mid ((f | ((len f) -' (len (ovlpart f,CR)))) ^ CR),
(((len f) -' (len (ovlpart f,CR))) + 1),
(((len f) -' (len (ovlpart f,CR))) + (len CR))
by NAT_D:34
.=
(((f | ((len f) -' (len (ovlpart f,CR)))) ^ CR) /^ ((((len f) -' (len (ovlpart f,CR))) + 1) -' 1)) | (((((len f) -' (len (ovlpart f,CR))) + (len CR)) -' (((len f) -' (len (ovlpart f,CR))) + 1)) + 1)
by A3, FINSEQ_6:def 3
.=
(((f | ((len f) -' (len (ovlpart f,CR)))) ^ CR) /^ ((len f) -' (len (ovlpart f,CR)))) | (len CR)
by A4, NAT_D:34
.=
(((f | ((len f) -' (len (ovlpart f,CR)))) /^ ((len f) -' (len (ovlpart f,CR)))) ^ CR) | (len CR)
by A7, GENEALG1:1
.=
CR | (len CR)
by A8, FINSEQ_1:47
.=
CR
by Th2
;
hence
CR is_substring_of ovlcon f,
CR,1
by A9, FINSEQ_8:def 7;
verum end; end;