set 00 = the Element of F1();
defpred S1[ Nat, set , set ] means ( ( $1 < F3() - 1 implies P1[$1 + 1,$2,$3] ) & ( not $1 < F3() - 1 implies $3 = the Element of F1() ) );
A2: for n being Nat
for x being Element of F1() ex y being Element of F1() st S1[n,x,y]
proof
let n be Nat; :: thesis: for x being Element of F1() ex y being Element of F1() st S1[n,x,y]
let x be Element of F1(); :: thesis: ex y being Element of F1() st S1[n,x,y]
( n < F3() - 1 implies ex y being Element of F1() st S1[n,x,y] )
proof
assume A3: n < F3() - 1 ; :: thesis: ex y being Element of F1() st S1[n,x,y]
then n + 1 < F3() by XREAL_1:20;
then consider y being Element of F1() such that
A4: P1[n + 1,x,y] by A1, NAT_1:11;
take y ; :: thesis: S1[n,x,y]
thus ( n < F3() - 1 implies P1[n + 1,x,y] ) by A4; :: thesis: ( not n < F3() - 1 implies y = the Element of F1() )
thus ( not n < F3() - 1 implies y = the Element of F1() ) by A3; :: thesis: verum
end;
hence ex y being Element of F1() st S1[n,x,y] ; :: thesis: verum
end;
consider f being sequence of F1() such that
A5: ( f . 0 = F2() & ( for n being Nat holds S1[n,f . n,f . (n + 1)] ) ) from RECDEF_1:sch 2(A2);
defpred S2[ object , object ] means for r being Real st r = $1 holds
$2 = f . (r - 1);
A6: for x being object st x in REAL holds
ex y being object st S2[x,y]
proof
let x be object ; :: thesis: ( x in REAL implies ex y being object st S2[x,y] )
assume x in REAL ; :: thesis: ex y being object st S2[x,y]
then reconsider r = x as Real ;
take f . (r - 1) ; :: thesis: S2[x,f . (r - 1)]
thus S2[x,f . (r - 1)] ; :: thesis: verum
end;
consider g being Function such that
A7: ( dom g = REAL & ( for x being object st x in REAL holds
S2[x,g . x] ) ) from CLASSES1:sch 1(A6);
Seg F3() c= REAL by NUMBERS:19;
then A8: dom (g | (Seg F3())) = Seg F3() by A7, RELAT_1:62;
then reconsider p = g | (Seg F3()) as FinSequence by FINSEQ_1:def 2;
rng p c= F1()
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in rng p or x in F1() )
assume x in rng p ; :: thesis: x in F1()
then consider y being object such that
A9: y in dom p and
A10: x = p . y by FUNCT_1:def 3;
reconsider y = y as Element of NAT by A9;
A11: f . (y - 1) in F1()
proof
y <> 0 by A8, A9, FINSEQ_1:1;
then consider k being Nat such that
A12: y = k + 1 by NAT_1:6;
reconsider k = k as Element of NAT by ORDINAL1:def 12;
f . k in F1() ;
hence f . (y - 1) in F1() by A12; :: thesis: verum
end;
A13: y in REAL by XREAL_0:def 1;
p . y = g . y by A9, FUNCT_1:47;
hence x in F1() by A7, A10, A11, A13; :: thesis: verum
end;
then reconsider p = p as FinSequence of F1() by FINSEQ_1:def 4;
take p ; :: thesis: ( len p = F3() & ( p . 1 = F2() or F3() = 0 ) & ( for n being Nat st 1 <= n & n < F3() holds
P1[n,p . n,p . (n + 1)] ) )

F3() in NAT by ORDINAL1:def 12;
hence len p = F3() by A8, FINSEQ_1:def 3; :: thesis: ( ( p . 1 = F2() or F3() = 0 ) & ( for n being Nat st 1 <= n & n < F3() holds
P1[n,p . n,p . (n + 1)] ) )

( not F3() <> 0 or p . 1 = F2() or F3() = 0 )
proof
assume F3() <> 0 ; :: thesis: ( p . 1 = F2() or F3() = 0 )
then consider k being Nat such that
A14: F3() = k + 1 by NAT_1:6;
0 + 1 <= k + 1 by XREAL_1:7;
then 1 in Seg F3() by A14, FINSEQ_1:1;
then p . 1 = g . 1 by FUNCT_1:49
.= f . (1 - 1) by A7, Lm2
.= F2() by A5 ;
hence ( p . 1 = F2() or F3() = 0 ) ; :: thesis: verum
end;
hence ( p . 1 = F2() or F3() = 0 ) ; :: thesis: for n being Nat st 1 <= n & n < F3() holds
P1[n,p . n,p . (n + 1)]

let n be Nat; :: thesis: ( 1 <= n & n < F3() implies P1[n,p . n,p . (n + 1)] )
assume that
A15: 1 <= n and
A16: n < F3() ; :: thesis: P1[n,p . n,p . (n + 1)]
0 <> n by A15;
then consider k being Nat such that
A17: n = k + 1 by NAT_1:6;
A18: for n being Nat st n < F3() holds
p . (n + 1) = f . n
proof
let n be Nat; :: thesis: ( n < F3() implies p . (n + 1) = f . n )
assume n < F3() ; :: thesis: p . (n + 1) = f . n
then ( 1 <= n + 1 & n + 1 <= F3() ) by NAT_1:11, NAT_1:13;
then A19: n + 1 in Seg F3() by FINSEQ_1:1;
n + 1 in REAL by XREAL_0:def 1;
then g . (n + 1) = f . ((n + 1) - 1) by A7
.= f . n ;
hence p . (n + 1) = f . n by A19, FUNCT_1:49; :: thesis: verum
end;
reconsider k = k as Nat ;
k <= k + 1 by NAT_1:11;
then A20: k < F3() by A16, A17, XXREAL_0:2;
k < F3() - 1 by A16, A17, XREAL_1:20;
then P1[k + 1,f . k,f . (k + 1)] by A5;
then P1[k + 1,f . k,p . ((k + 1) + 1)] by A18, A16, A17;
hence P1[n,p . n,p . (n + 1)] by A18, A17, A20; :: thesis: verum