
theorem Th4:
for X,Y be non empty set holds
 ex I be Function of [:X,Y:],[:X,product <*Y*>:]
  st I is bijective
   & for x,y be object st x in X & y in Y holds I.(x,y) = [x,<*y*>]
proof
   let X,Y be non empty set;
   consider J be Function of Y,product <*Y*> such that
A1: J is one-to-one onto
  & for y be object st y in Y holds J.y = <*y*> by PRVECT_3:4;
   defpred P[object,object,object] means $3 = [ $1,<* $2 *> ];
A2:for x,y be object st x in X & y in Y
    ex z be object st z in [:X,product <*Y*>:] & P[x,y,z]
   proof
    let x,y be object;
    assume A3: x in X & y in Y; then
    J.y = <*y*> by A1; then
    <*y*> in product <*Y*> by A3,FUNCT_2:5;
    hence thesis by A3,ZFMISC_1:87;
   end;
   consider I be Function of [: X, Y:],[:X,product <*Y*>:] such that
A4: for x,y be object st x in X & y in Y holds P[x,y,I.(x,y)]
       from BINOP_1:sch 1(A2);
   reconsider I as Function of [:X,Y:],[:X, product <*Y*>:];
   take I;
   now let z1,z2 be object;
    assume A5: z1 in [:X,Y:] & z2 in [:X,Y:] & I.z1=I.z2; then
    consider x1,y1 be object such that
A6:  x1 in X & y1 in Y & z1=[x1,y1] by ZFMISC_1:def 2;
    consider x2,y2 be object such that
A7:  x2 in X & y2 in Y & z2=[x2,y2] by A5,ZFMISC_1:def 2;
    [x1,<*y1*>] = I.(x1,y1) by A4,A6
      .= I.(x2,y2) by A5,A6,A7
      .= [x2,<*y2*>] by A4,A7; then
    x1=x2 & <*y1*>=<*y2*> by XTUPLE_0:1;
    hence z1=z2 by A6,A7,FINSEQ_1:76;
   end;
   then A8: I is one-to-one by FUNCT_2:19;
   now let w be object;
    assume w in [:X, product <*Y*>:]; then
    consider x,y1 be object such that
A9:  x in X & y1 in product <*Y*> & w=[x,y1] by ZFMISC_1:def 2;
    y1 in rng J by A1,A9,FUNCT_2:def 3; then
    consider y be object such that
A10:  y in Y & y1=J.y by FUNCT_2:11;
    J.y = <*y*> by A10,A1; then
A11:w = I.(x,y) by A4,A9,A10;
    [x,y] in [:X,Y:] by A9,A10,ZFMISC_1:87;
    hence w in rng I by A11,FUNCT_2:4;
   end; then
   [:X, product <*Y*>:] c= rng I by TARSKI:def 3;
   then I is onto by FUNCT_2:def 3,XBOOLE_0:def 10;
   hence thesis by A4,A8;
end;
