ex f being Function st ( dom f = F1() & ( for x being object st x in F1() holds P1[x,f . x] ) )
provided
A1:
for x, y1, y2 being object st x in F1() & P1[x,y1] & P1[x,y2] holds y1 = y2
and A2:
for x being object st x in F1() holds ex y being object st P1[x,y]
for Y being set for f, g being Function holds ( g = Y |` f iff ( ( for x being object holds ( x indom g iff ( x indom f & f . x in Y ) ) ) & ( for x being object st x indom g holds g . x = f . x ) ) )
for M being set st ( for X being set st X in M holds X <>{} ) holds ex f being Function st ( dom f = M & ( for X being set st X in M holds f . X in X ) )