defpred S1[ set , set ] means for y, z being set st $2 `1 = y & $2 `2 = z holds
P1[$1,y,z];
A2:
for x being set st x in F1() holds
ex p being set st
( p in [:F2(),F3():] & S1[x,p] )
proof
let x be
set ;
( x in F1() implies ex p being set st
( p in [:F2(),F3():] & S1[x,p] ) )
assume
x in F1()
;
ex p being set st
( p in [:F2(),F3():] & S1[x,p] )
then consider y,
z being
set such that A3:
(
y in F2() &
z in F3() )
and A4:
P1[
x,
y,
z]
by A1;
take p =
[y,z];
( p in [:F2(),F3():] & S1[x,p] )
thus
p in [:F2(),F3():]
by A3, ZFMISC_1:87;
S1[x,p]
thus
for
y,
z being
set st
p `1 = y &
p `2 = z holds
P1[
x,
y,
z]
verumproof
let x1,
x2 be
set ;
( p `1 = x1 & p `2 = x2 implies P1[x,x1,x2] )
assume that A5:
p `1 = x1
and A6:
p `2 = x2
;
P1[x,x1,x2]
x1 = y
by A5, Th7;
hence
P1[
x,
x1,
x2]
by A4, A6, Th7;
verum
end;
end;
consider h being Function such that
( dom h = F1() & rng h c= [:F2(),F3():] )
and
A7:
for x being set st x in F1() holds
S1[x,h . x]
from FUNCT_1:sch 5(A2);
deffunc H1( set ) -> set = (h . $1) `2 ;
deffunc H2( set ) -> set = (h . $1) `1 ;
consider f being Function such that
A8:
dom f = F1()
and
A9:
for x being set st x in F1() holds
f . x = H2(x)
from FUNCT_1:sch 3();
consider g being Function such that
A10:
dom g = F1()
and
A11:
for x being set st x in F1() holds
g . x = H1(x)
from FUNCT_1:sch 3();
take
f
; ex g being Function st
( dom f = F1() & dom g = F1() & ( for x being set st x in F1() holds
P1[x,f . x,g . x] ) )
take
g
; ( dom f = F1() & dom g = F1() & ( for x being set st x in F1() holds
P1[x,f . x,g . x] ) )
thus
( dom f = F1() & dom g = F1() )
by A8, A10; for x being set st x in F1() holds
P1[x,f . x,g . x]
thus
for x being set st x in F1() holds
P1[x,f . x,g . x]
verumproof
let x be
set ;
( x in F1() implies P1[x,f . x,g . x] )
assume A12:
x in F1()
;
P1[x,f . x,g . x]
then
(
f . x = (h . x) `1 &
g . x = (h . x) `2 )
by A9, A11;
hence
P1[
x,
f . x,
g . x]
by A7, A12;
verum
end;