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