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 Th66:
  for f,g being Function holds [:f,g:] = <:f*pr1(dom f,dom g),g*
  pr2(dom f,dom g):>
proof
  let f,g be Function;
A1: dom pr1(dom f,dom g) = [:dom f,dom g:] by Def4;
A2: dom pr2(dom f,dom g) = [:dom f,dom g:] by Def5;
  rng pr2(dom f,dom g) c= dom g by Th45;
  then
A3: dom(g*pr2(dom f,dom g)) = [:dom f,dom g:] by A2,RELAT_1:27;
  rng pr1(dom f,dom g) c= dom f by Th43;
  then dom(f*pr1(dom f,dom g)) = [:dom f,dom g:] by A1,RELAT_1:27;
  then
A4: dom <:f*pr1(dom f,dom g),g*pr2(dom f,dom g):> = [:dom f,dom g:] by A3,Th50;
A5: for x,y being object st x in dom f & y in dom g
    holds [:f,g:].(x,y) = <:f*pr1(dom f,dom g),g*pr2(dom f,dom g):>.(x,y)
  proof
    let x,y be object;
    assume
A6: x in dom f & y in dom g;
    then
A7: [x,y] in [:dom f,dom g:] by ZFMISC_1:87;
    thus [:f,g:].(x,y) = [f.x,g.y] by A6,Def8
      .= [f.(pr1(dom f,dom g).(x,y)),g.y] by A6,Def4
      .= [f.(pr1(dom f,dom g).(x,y)),g.(pr2(dom f,dom g).(x,y))] by A6,Def5
      .= [(f*pr1(dom f,dom g)).(x,y),g.(pr2(dom f,dom g).(x,y))] by A1,A7,
FUNCT_1:13
      .= [(f*pr1(dom f,dom g)).(x,y),(g*pr2(dom f,dom g)).(x,y)] by A2,A7,
FUNCT_1:13
      .= <:f*pr1(dom f,dom g),g*pr2(dom f,dom g):>.(x,y) by A4,A7,Def7;
  end;
  dom [:f,g:] = [:dom f,dom g:] by Def8;
  hence thesis by A4,A5,Th6;
end;
