A0: rng f c= D by RELAT_1:def 19;
set p = f /^ n;
deffunc H1( Element of NAT ) -> set = f . ($1 + n);
per cases ( n < len f or len f <= n ) ;
suppose A1: n < len f ; :: thesis: f /^ n is XFinSequence of
then reconsider k = (len f) - n as Nat by NAT_1:21;
A2: ( len (f /^ n) = k & ( for m being Element of NAT st m in dom (f /^ n) holds
(f /^ n) . m = H1(m) ) ) by A1, Def2, TH80b;
A2b: rng (f /^ n) c= rng f
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in rng (f /^ n) or x in rng f )
assume x in rng (f /^ n) ; :: thesis: x in rng f
then consider m being Element of NAT such that
A3: ( m in dom (f /^ n) & (f /^ n) . m = x ) by Th11;
A4: (f /^ n) . m = f . (m + n) by A3, Def2;
( m < len (f /^ n) & m <= m + n ) by A3, NAT_1:11, NAT_1:45;
then m + n < k + n by A2, XREAL_1:8;
then m + n in dom f by NAT_1:45;
hence x in rng f by A3, A4, FUNCT_1:def 5; :: thesis: verum
end;
for f2 being XFinSequence st rng f2 c= D holds
f2 is XFinSequence of by RELAT_1:def 19;
hence f /^ n is XFinSequence of by A2b, A0, XBOOLE_1:1; :: thesis: verum
end;
suppose len f <= n ; :: thesis: f /^ n is XFinSequence of
then f /^ n = <%> D by TH80e;
hence f /^ n is XFinSequence of ; :: thesis: verum
end;
end;