defpred S1[ set , set ] means for n, m being Element of NAT st $1 = n & $2 = m holds
( n < m & P1[F1() . m] & ( for k being Element of NAT st n < k & P1[F1() . k] holds
m <= k ) );
defpred S2[ set , set , set ] means S1[$2,$3];
defpred S3[ set ] means P1[F1() . $1];
ex m1 being Element of NAT st
( 0 <= m1 & P1[F1() . m1] )
by A1;
then A2:
ex m being Nat st S3[m]
;
consider M being Nat such that
A3:
( S3[M] & ( for n being Nat st S3[n] holds
M <= n ) )
from NAT_1:sch 5(A2);
reconsider M' = M as Element of NAT by ORDINAL1:def 13;
A6:
for n, x being Element of NAT ex y being Element of NAT st S2[n,x,y]
consider F being Function of NAT ,NAT such that
A9:
( F . 0 = M' & ( for n being Element of NAT holds S2[n,F . n,F . (n + 1)] ) )
from RECDEF_1:sch 2(A6);
( dom F = NAT & rng F c= REAL )
by FUNCT_2:def 1, XBOOLE_1:1;
then reconsider F = F as natural-valued Real_Sequence by FUNCT_2:def 1, RELSET_1:11;
for n being Element of NAT holds F . n < F . (n + 1)
by A9;
then reconsider F = F as increasing sequence of NAT by SEQM_3:def 11;
A10:
for n being Element of NAT st P1[F1() . n] holds
ex m being Element of NAT st F . m = n
take q = F1() * F; :: thesis: ( q is subsequence of F1() & ( for n being Element of NAT holds P1[q . 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 F1() . n = q . m ) )
defpred S4[ set ] means P1[q . $1];
A22:
for k being Element of NAT st S4[k] holds
S4[k + 1]
thus
q is subsequence of F1()
; :: thesis: ( ( for n being Element of NAT holds P1[q . 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 F1() . n = q . m ) )
A23:
S4[ 0 ]
by A3, A9, FUNCT_2:21;
thus
for n being Element of NAT holds S4[n]
from NAT_1:sch 1(A23, A22); :: 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 F1() . n = q . m
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 F1() . n = q . m )
assume
for r being Real st r = F1() . n holds
P1[r]
; :: thesis: ex m being Element of NAT st F1() . n = q . m
then consider m being Element of NAT such that
A24:
F . m = n
by A10;
take
m
; :: thesis: F1() . n = q . m
thus
F1() . n = q . m
by A24, FUNCT_2:21; :: thesis: verum