defpred S1[ set , set ] means ex g being Function of (F2() . $1),(F3() . $1) st
( $2 = g & ( for a being set st a in F2() . $1 holds
P1[$1,a,g . a] ) );
A2:
for i being set st i in F1() holds
ex y being set st S1[i,y]
proof
let i be
set ;
( i in F1() implies ex y being set st S1[i,y] )
assume
i in F1()
;
ex y being set st S1[i,y]
then reconsider i =
i as
Element of
F1() ;
defpred S2[
set ,
set ]
means P1[
i,$1,$2];
A3:
for
a being
set st
a in F2()
. i holds
ex
b being
set st
(
b in F3()
. i &
S2[
a,
b] )
proof
let a be
set ;
( a in F2() . i implies ex b being set st
( b in F3() . i & S2[a,b] ) )
assume
a in F2()
. i
;
ex b being set st
( b in F3() . i & S2[a,b] )
then
ex
b being
Element of
F3()
. i st
P1[
i,
a,
b]
by A1;
hence
ex
b being
set st
(
b in F3()
. i &
S2[
a,
b] )
;
verum
end;
consider g being
Function such that A4:
(
dom g = F2()
. i &
rng g c= F3()
. i )
and A5:
for
a being
set st
a in F2()
. i holds
S2[
a,
g . a]
from WELLORD2:sch 1(A3);
take
g
;
S1[i,g]
g is
Function of
(F2() . i),
(F3() . i)
by A4, FUNCT_2:4;
hence
S1[
i,
g]
by A5;
verum
end;
consider f being Function such that
A6:
dom f = F1()
and
A7:
for i being set st i in F1() holds
S1[i,f . i]
from CLASSES1:sch 1(A2);
reconsider f = f as ManySortedSet of F1() by A6, PARTFUN1:def 4, RELAT_1:def 18;
f is ManySortedFunction of F2(),F3()
then reconsider f = f as ManySortedFunction of F2(),F3() ;
take
f
; for i being Element of F1()
for a being Element of F2() . i holds P1[i,a,(f . i) . a]
let i be Element of F1(); for a being Element of F2() . i holds P1[i,a,(f . i) . a]
let a be Element of F2() . i; P1[i,a,(f . i) . a]
ex g being Function of (F2() . i),(F3() . i) st
( f . i = g & ( for a being set st a in F2() . i holds
P1[i,a,g . a] ) )
by A7;
hence
P1[i,a,(f . i) . a]
; verum