defpred S1[ object , object ] means for Y being set st $1 = Y holds
$2 = f " Y;
A1:
for y being object st y in bool (rng f) holds
ex x being object st S1[y,x]
A2:
for y, x1, x2 being object st y in bool (rng f) & S1[y,x1] & S1[y,x2] holds
x1 = x2
proof
let y,
x1,
x2 be
object ;
( y in bool (rng f) & S1[y,x1] & S1[y,x2] implies x1 = x2 )
assume that
y in bool (rng f)
and A3:
for
Y being
set st
y = Y holds
x1 = f " Y
and A4:
for
Y being
set st
y = Y holds
x2 = f " Y
;
x1 = x2
reconsider y =
y as
set by TARSKI:1;
thus x1 =
f " y
by A3
.=
x2
by A4
;
verum
end;
consider g being Function such that
A5:
( dom g = bool (rng f) & ( for y being object st y in bool (rng f) holds
S1[y,g . y] ) )
from FUNCT_1:sch 2(A2, A1);
take
g
; ( dom g = bool (rng f) & ( for Y being set st Y c= rng f holds
g . Y = f " Y ) )
thus
( dom g = bool (rng f) & ( for Y being set st Y c= rng f holds
g . Y = f " Y ) )
by A5; verum