reserve I for set,
  x,x1,x2,y,z for set,
  A for non empty set;
reserve C,D for Category;
reserve a,b,c,d for Object of C;
reserve f,g,h,i,j,k,p1,p2,q1,q2,i1,i2,j1,j2 for Morphism of C;

theorem Th18:
  for F,G being Function of I,the carrier' of C st doms F = cods G
  holds doms(F"*"G) = doms G & cods(F"*"G) = cods F
proof
  let F,G be Function of I,the carrier' of C such that
A1: doms F = cods G;
  now
    let x;
    assume
A2: x in I;
    then
A3: cod(G/.x) = (doms F)/.x by A1,Def2
      .= dom(F/.x) by A2,Def1;
    thus (doms(F"*"G))/.x = dom((F"*"G)/.x) by A2,Def1
      .= dom((F/.x)(*)(G/.x)) by A2,Def7
      .= dom(G/.x) by A3,CAT_1:17
      .= (doms G)/.x by A2,Def1;
  end;
  hence doms(F"*"G) = doms G by Th1;
  now
    let x;
    assume
A4: x in I;
    then
A5: cod(G/.x) = (doms F)/.x by A1,Def2
      .= dom(F/.x) by A4,Def1;
    thus (cods(F"*"G))/.x = cod((F"*"G)/.x) by A4,Def2
      .= cod((F/.x)(*)(G/.x)) by A4,Def7
      .= cod(F/.x) by A5,CAT_1:17
      .= (cods F)/.x by A4,Def2;
  end;
  hence thesis by Th1;
end;
