defpred S1[ object , object ] means ( P1[$1] & $2 = F3($1) );
A2:
for x, y1, y2 being object st x in F1() & S1[x,y1] & S1[x,y2] holds
y1 = y2
;
A3:
for x, y being object st x in F1() & S1[x,y] holds
y in F2()
by A1;
consider f being PartFunc of F1(),F2() such that
A4:
for x being object holds
( x in dom f iff ( x in F1() & ex y being object st S1[x,y] ) )
and
A5:
for x being object st x in dom f holds
S1[x,f . x]
from PARTFUN1:sch 2(A3, A2);
take
f
; ( ( for x being object holds
( x in dom f iff ( x in F1() & P1[x] ) ) ) & ( for x being object st x in dom f holds
f . x = F3(x) ) )
thus
for x being object holds
( x in dom f iff ( x in F1() & P1[x] ) )
for x being object st x in dom f holds
f . x = F3(x)proof
let x be
object ;
( x in dom f iff ( x in F1() & P1[x] ) )
thus
(
x in dom f implies (
x in F1() &
P1[
x] ) )
( x in F1() & P1[x] implies x in dom f )proof
assume A6:
x in dom f
;
( x in F1() & P1[x] )
then
ex
y being
object st
(
P1[
x] &
y = F3(
x) )
by A4;
hence
(
x in F1() &
P1[
x] )
by A6;
verum
end;
assume that A7:
x in F1()
and A8:
P1[
x]
;
x in dom f
ex
y being
object st
(
P1[
x] &
y = F3(
x) )
by A8;
hence
x in dom f
by A4, A7;
verum
end;
thus
for x being object st x in dom f holds
f . x = F3(x)
by A5; verum