defpred S1[ set , set ] means ex o being object of A st
( $1 = o & $2 = s ! (F . o) );
set I = the carrier of A;
A2: for i being set st i in the carrier of A holds
ex j being set st S1[i,j]
proof
let i be set ; :: thesis: ( i in the carrier of A implies ex j being set st S1[i,j] )
assume i in the carrier of A ; :: thesis: ex j being set st S1[i,j]
then reconsider o = i as object of A ;
take s ! (F . o) ; :: thesis: S1[i,s ! (F . o)]
thus S1[i,s ! (F . o)] ; :: thesis: verum
end;
consider IT being ManySortedSet of the carrier of A such that
A3: for o being set st o in the carrier of A holds
S1[o,IT . o] from PBOOLE:sch 3(A2);
IT is transformation of G1 * F,G2 * F
proof
thus G1 * F is_transformable_to G2 * F by A1, Th10; :: according to FUNCTOR2:def 2 :: thesis: for b1 being M2( the carrier of A) holds IT . b1 is M2(<^((G1 * F) . b1),((G2 * F) . b1)^>)
let o be object of A; :: thesis: IT . o is M2(<^((G1 * F) . o),((G2 * F) . o)^>)
( S1[o,IT . o] & G1 . (F . o) = (G1 * F) . o ) by A3, FUNCTOR0:33;
hence IT . o is M2(<^((G1 * F) . o),((G2 * F) . o)^>) by FUNCTOR0:33; :: thesis: verum
end;
then reconsider IT = IT as transformation of G1 * F,G2 * F ;
take IT ; :: thesis: for o being object of A holds IT . o = s ! (F . o)
let o be object of A; :: thesis: IT . o = s ! (F . o)
S1[o,IT . o] by A3;
hence IT . o = s ! (F . o) ; :: thesis: verum