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 ; :: thesis: ( i in F1() implies ex y being set st S1[i,y] )
assume i in F1() ; :: thesis: 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 ; :: thesis: ( a in F2() . i implies ex b being set st
( b in F3() . i & S2[a,b] ) )

assume a in F2() . i ; :: thesis: 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] ) ; :: thesis: 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 ; :: thesis: S1[i,g]
g is Function of (F2() . i),(F3() . i) by A4, FUNCT_2:4;
hence S1[i,g] by A5; :: thesis: 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()
proof
let i be set ; :: according to PBOOLE:def 18 :: thesis: ( not i in F1() or f . i is Element of bool [:(F2() . i),(F3() . i):] )
assume i in F1() ; :: thesis: f . i is Element of bool [:(F2() . i),(F3() . i):]
then 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 f . i is Element of bool [:(F2() . i),(F3() . i):] ; :: thesis: verum
end;
then reconsider f = f as ManySortedFunction of F2(),F3() ;
take f ; :: thesis: 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(); :: thesis: for a being Element of F2() . i holds P1[i,a,(f . i) . a]
let a be Element of F2() . i; :: thesis: 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] ; :: thesis: verum