consider m1 being Element of NAT such that
A2: ( 0 <= m1 & P1[F1() . m1] ) by A1;
defpred S1[ Nat] means P1[F1() . $1];
A3: ex m being Nat st S1[m] by A2;
consider M being Nat such that
A4: ( S1[M] & ( for n being Nat st S1[n] holds
M <= n ) ) from NAT_1:sch 5(A3);
A5: now
let n be Element of NAT ; :: thesis: ex m being Element of NAT st
( n < m & P1[F1() . m] )

consider m being Element of NAT such that
A6: ( n + 1 <= m & P1[F1() . m] ) by A1;
take m = m; :: thesis: ( n < m & P1[F1() . m] )
thus ( n < m & P1[F1() . m] ) by A6, NAT_1:13; :: thesis: verum
end;
defpred S2[ Nat, set , set ] means for n, m being Element of NAT st $2 = n & $3 = m holds
( n < m & P1[F1() . m] & ( for k being Element of NAT st n < k & P1[F1() . k] holds
m <= k ) );
A7: for n, x being Element of NAT ex y being Element of NAT st S2[n,x,y]
proof
let n, x be Element of NAT ; :: thesis: ex y being Element of NAT st S2[n,x,y]
defpred S3[ Nat] means ( x < $1 & P1[F1() . $1] );
ex m being Element of NAT st S3[m] by A5;
then A8: ex m being Nat st S3[m] ;
consider l being Nat such that
A9: ( S3[l] & ( for k being Nat st S3[k] holds
l <= k ) ) from NAT_1:sch 5(A8);
take l ; :: thesis: ( l is Element of REAL & l is Element of NAT & S2[n,x,l] )
l in NAT by ORDINAL1:def 13;
hence ( l is Element of REAL & l is Element of NAT & S2[n,x,l] ) by A9; :: thesis: verum
end;
reconsider M' = M as Element of NAT by ORDINAL1:def 13;
consider F being Function of NAT ,NAT such that
A10: ( F . 0 = M' & ( for n being Element of NAT holds S2[n,F . n,F . (n + 1)] ) ) from RECDEF_1:sch 2(A7);
A11: ( dom F = NAT & rng F c= NAT ) by FUNCT_2:def 1;
rng F c= REAL by XBOOLE_1:1;
then reconsider F = F as Real_Sequence by A11, RELSET_1:11;
A12: now
let n be Element of NAT ; :: thesis: F . n is Element of NAT
F . n in rng F by A11, FUNCT_1:def 5;
hence F . n is Element of NAT by A11; :: thesis: verum
end;
now
let n be Element of NAT ; :: thesis: F . n < F . (n + 1)
( F . n is Element of NAT & F . (n + 1) is Element of NAT ) by A12;
hence F . n < F . (n + 1) by A10; :: thesis: verum
end;
then reconsider F = F as V35() sequence of NAT by SEQM_3:def 11;
take F ; :: thesis: ( ( for n being Element of NAT holds P1[(F1() * F) . n] ) & ( for n being Element of NAT st ( for r being Real st r = F1() . n holds
P1[r] ) holds
ex m being Element of NAT st n = F . m ) )

set q = F1() * F;
defpred S3[ Nat] means P1[(F1() * F) . $1];
A13: S3[ 0 ] by A4, A10, FUNCT_2:21;
A14: for k being Element of NAT st S3[k] holds
S3[k + 1]
proof
let k be Element of NAT ; :: thesis: ( S3[k] implies S3[k + 1] )
assume P1[(F1() * F) . k] ; :: thesis: S3[k + 1]
S2[k,F . k,F . (k + 1)] by A10;
then P1[F1() . (F . (k + 1))] ;
hence S3[k + 1] by FUNCT_2:21; :: thesis: verum
end;
thus for n being Element of NAT holds S3[n] from NAT_1:sch 1(A13, A14); :: thesis: for n being Element of NAT st ( for r being Real st r = F1() . n holds
P1[r] ) holds
ex m being Element of NAT st n = F . m

A15: for n being Element of NAT st P1[F1() . n] holds
ex m being Element of NAT st F . m = n
proof
defpred S4[ Nat] means ( P1[F1() . $1] & ( for m being Element of NAT holds F . m <> $1 ) );
assume ex n being Element of NAT st S4[n] ; :: thesis: contradiction
then A16: ex n being Nat st S4[n] ;
consider M1 being Nat such that
A17: ( S4[M1] & ( for n being Nat st S4[n] holds
M1 <= n ) ) from NAT_1:sch 5(A16);
defpred S5[ Nat] means ( $1 < M1 & P1[F1() . $1] & ex m being Element of NAT st F . m = $1 );
A18: ex n being Nat st S5[n]
proof
take M ; :: thesis: S5[M]
A19: M <= M1 by A4, A17;
M <> M1 by A10, A17;
hence M < M1 by A19, XXREAL_0:1; :: thesis: ( P1[F1() . M] & ex m being Element of NAT st F . m = M )
thus P1[F1() . M] by A4; :: thesis: ex m being Element of NAT st F . m = M
take 0 ; :: thesis: F . 0 = M
thus F . 0 = M by A10; :: thesis: verum
end;
A20: for n being Nat st S5[n] holds
n <= M1 ;
consider X being Nat such that
A21: ( S5[X] & ( for n being Nat st S5[n] holds
n <= X ) ) from NAT_1:sch 6(A20, A18);
A22: for k being Element of NAT st X < k & k < M1 holds
not P1[F1() . k]
proof
given k being Element of NAT such that A23: ( X < k & k < M1 & P1[F1() . k] ) ; :: thesis: contradiction
now
per cases ( ex m being Element of NAT st F . m = k or for m being Element of NAT holds F . m <> k ) ;
end;
end;
hence contradiction ; :: thesis: verum
end;
consider m being Element of NAT such that
A24: F . m = X by A21;
A25: ( X < F . (m + 1) & P1[F1() . (F . (m + 1))] & ( for k being Element of NAT st X < k & P1[F1() . k] holds
F . (m + 1) <= k ) ) by A10, A24;
M1 in NAT by ORDINAL1:def 13;
then A26: F . (m + 1) <= M1 by A10, A17, A21, A24;
now
assume F . (m + 1) <> M1 ; :: thesis: contradiction
then F . (m + 1) < M1 by A26, XXREAL_0:1;
hence contradiction by A22, A25; :: thesis: verum
end;
hence contradiction by A17; :: thesis: verum
end;
let n be Element of NAT ; :: thesis: ( ( for r being Real st r = F1() . n holds
P1[r] ) implies ex m being Element of NAT st n = F . m )

assume for r being Real st r = F1() . n holds
P1[r] ; :: thesis: ex m being Element of NAT st n = F . m
then P1[F1() . n] ;
then consider m being Element of NAT such that
A27: F . m = n by A15;
take m ; :: thesis: n = F . m
thus n = F . m by A27; :: thesis: verum