let D be non empty set ; for f, g being FinSequence of D
for n being Nat holds
( not g is_substring_of f,n or len g = 0 or ( 1 <= (n -' 1) + (len g) & (n -' 1) + (len g) <= len f & n <= (n -' 1) + (len g) ) )
let f, g be FinSequence of D; for n being Nat holds
( not g is_substring_of f,n or len g = 0 or ( 1 <= (n -' 1) + (len g) & (n -' 1) + (len g) <= len f & n <= (n -' 1) + (len g) ) )
let n be Nat; ( not g is_substring_of f,n or len g = 0 or ( 1 <= (n -' 1) + (len g) & (n -' 1) + (len g) <= len f & n <= (n -' 1) + (len g) ) )
assume A1:
g is_substring_of f,n
; ( len g = 0 or ( 1 <= (n -' 1) + (len g) & (n -' 1) + (len g) <= len f & n <= (n -' 1) + (len g) ) )
per cases
( len g > 0 or len g = 0 )
;
suppose A2:
len g > 0
;
( len g = 0 or ( 1 <= (n -' 1) + (len g) & (n -' 1) + (len g) <= len f & n <= (n -' 1) + (len g) ) )then consider i being
Nat such that A3:
(
n <= i &
i <= len f )
and A4:
mid (
f,
i,
((i -' 1) + (len g)))
= g
by A1, FINSEQ_8:def 7;
A5:
1
<= (n -' 1) + (len g)
by A2, NAT_1:14;
A6:
n <= (n -' 1) + (len g)
A9:
(i -' 1) + (len g) <= len f
by A3, A4, Th6;
n -' 1
<= i -' 1
by A3, NAT_D:42;
then
(n -' 1) + (len g) <= (i -' 1) + (len g)
by XREAL_1:6;
hence
(
len g = 0 or ( 1
<= (n -' 1) + (len g) &
(n -' 1) + (len g) <= len f &
n <= (n -' 1) + (len g) ) )
by A5, A6, A9, XXREAL_0:2;
verum end; end;