defpred S1[ set , set ] means ex n being Element of NAT st
( $2 = n & P1[$1,n] & ( for m being Element of NAT st P1[$1,m] holds
n <= m ) );
A2:
for x being set st x in F1() holds
ex y being set st S1[x,y]
proof
let x be
set ;
( x in F1() implies ex y being set st S1[x,y] )
defpred S2[
Nat]
means P1[
x,$1];
assume
x in F1()
;
ex y being set st S1[x,y]
then
ex
n being
Element of
NAT st
S2[
n]
by A1;
then A3:
ex
n being
Nat st
S2[
n]
;
consider n being
Nat such that A4:
(
S2[
n] & ( for
m being
Nat st
S2[
m] holds
n <= m ) )
from NAT_1:sch 5(A3);
take
n
;
S1[x,n]
(
n in NAT & ( for
m being
Element of
NAT st
S2[
m] holds
n <= m ) )
by A4, ORDINAL1:def 12;
hence
S1[
x,
n]
by A4;
verum
end;
thus
ex f being Function st
( dom f = F1() & ( for x being set st x in F1() holds
S1[x,f . x] ) )
from CLASSES1:sch 1(A2); verum