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:6;
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:233
.=
len CR
;
1
- (len (ovlpart (f,CR))) <= (len CR) - (len (ovlpart (f,CR)))
by A2, XREAL_1:9;
then
(1 - (len (ovlpart (f,CR)))) + (len f) <= ((len CR) - (len (ovlpart (f,CR)))) + (len f)
by XREAL_1:7;
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:48;
len (ovlpart (f,CR)) <= len CR
by FINSEQ_8:def 2;
then A6:
(len CR) - (len (ovlpart (f,CR))) >= 0
by XREAL_1:48;
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:59, 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:80
.=
(f /^ ((len f) -' (len (ovlpart (f,CR))))) | 0
by XREAL_1:232
.=
{}
;
len (CR /^ (len (ovlpart (f,CR)))) =
(len CR) -' (len (ovlpart (f,CR)))
by RFINSEQ:29
.=
(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:22, 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:34
.=
CR
by Th2
;
hence
CR is_substring_of ovlcon (
f,
CR),1
by A9, FINSEQ_8:def 7;
verum end; end;