reserve p,q,x,x1,x2,y,y1,y2,z,z1,z2 for set;
reserve A,B,V,X,X1,X2,Y,Y1,Y2,Z for set;
reserve C,C1,C2,D,D1,D2 for non empty set;

theorem Th52:
  for f,g being Function st dom f = dom g & rng f c= Y & rng g c=
  Z holds pr1(Y,Z)*<:f,g:> = f & pr2(Y,Z)*<:f,g:> = g
proof
  let f,g be Function such that
A1: dom f = dom g and
A2: rng f c= Y & rng g c= Z;
A3: [:rng f, rng g:] c= [:Y,Z:] by A2,ZFMISC_1:96;
A4: rng <:f,g:> c= [:rng f, rng g:] by Th51;
  dom pr1(Y,Z) = [:Y, Z:] by Def4;
  then
A5: dom(pr1(Y,Z)*<:f,g:>) = dom <:f,g:> by A3,A4,RELAT_1:27,XBOOLE_1:1;
  then
A6: dom(pr1(Y,Z)*<:f,g:>) = dom f by A1,Th50;
  for x being object holds x in dom f implies (pr1(Y,Z)*<:f,g:>).x = f.x
  proof let x be object;
    assume
A7: x in dom f;
    then
A8: f.x in rng f & g.x in rng g by A1,FUNCT_1:def 3;
    thus (pr1(Y,Z)*<:f,g:>).x = pr1(Y,Z).(<:f,g:>.x) by A6,A7,FUNCT_1:12
      .= pr1(Y,Z).(f.x,g.x) by A5,A6,A7,Def7
      .= f.x by A2,A8,Def4;
  end;
  hence pr1(Y,Z)*<:f,g:> = f by A6;
  dom pr2(Y,Z) = [:Y, Z:] by Def5;
  then
A9: dom(pr2(Y,Z)*<:f,g:>) = dom <:f,g:> by A3,A4,RELAT_1:27,XBOOLE_1:1;
  then
A10: dom(pr2(Y,Z)*<:f,g:>) = dom g by A1,Th50;
  for x being object holds x in dom g implies (pr2(Y,Z)*<:f,g:>).x = g.x
  proof let x be object;
    assume
A11: x in dom g;
    then
A12: f.x in rng f & g.x in rng g by A1,FUNCT_1:def 3;
    thus (pr2(Y,Z)*<:f,g:>).x = pr2(Y,Z).(<:f,g:>.x) by A10,A11,FUNCT_1:12
      .= pr2(Y,Z).(f.x,g.x) by A9,A10,A11,Def7
      .= g.x by A2,A12,Def5;
  end;
  hence thesis by A10;
end;
