defpred S1[ object , object ] means ex A being set st
( A = $2 & ( for e being object holds
( e in A iff ( e in F2() . $1 & P1[$1,e] ) ) ) );
A1: now :: thesis: for i being object st i in F1() holds
ex u being object st S1[i,u]
let i be object ; :: thesis: ( i in F1() implies ex u being object st S1[i,u] )
assume i in F1() ; :: thesis: ex u being object st S1[i,u]
defpred S2[ object ] means P1[i,$1];
ex u being set st
for e being object holds
( e in u iff ( e in F2() . i & S2[e] ) ) from XBOOLE_0:sch 1();
hence ex u being object st S1[i,u] ; :: thesis: verum
end;
consider f being Function such that
A2: dom f = F1() and
A3: for i being object st i in F1() holds
S1[i,f . i] from CLASSES1:sch 1(A1);
reconsider f = f as ManySortedSet of F1() by A2, PARTFUN1:def 2, RELAT_1:def 18;
take f ; :: thesis: for i being object st i in F1() holds
for e being object holds
( e in f . i iff ( e in F2() . i & P1[i,e] ) )

let i be object ; :: thesis: ( i in F1() implies for e being object holds
( e in f . i iff ( e in F2() . i & P1[i,e] ) ) )

assume i in F1() ; :: thesis: for e being object holds
( e in f . i iff ( e in F2() . i & P1[i,e] ) )

then S1[i,f . i] by A3;
hence for e being object holds
( e in f . i iff ( e in F2() . i & P1[i,e] ) ) ; :: thesis: verum