reserve C for CatStr;
reserve f,g for Morphism of C;
reserve C for non void non empty CatStr,
  f,g for Morphism of C,
  a,b,c,d for Object of C;
reserve o,m for set;
reserve B,C,D for Category;
reserve a,b,c,d for Object of C;
reserve f,f1,f2,g,g1,g2 for Morphism of C;
reserve f,f1,f2 for Morphism of a,b;
reserve f9 for Morphism of b,a;
reserve g for Morphism of b,c;
reserve h,h1,h2 for Morphism of c,d;

theorem Th19:
  Hom(a,b)<>{} & Hom(b,c)<>{} implies g(*)f in Hom(a,c)
proof
  assume that
A1: Hom(a,b)<>{} and
A2: Hom(b,c)<>{};
A3: f in Hom(a,b) by A1,Def3;
  then
A4: cod(f)=b by Th1;
A5: g in Hom(b,c) by A2,Def3;
  then
A6: dom(g)=b by Th1;
  cod(g)=c by A5,Th1;
  then
A7: cod(g(*)f) = c by A6,A4,Def5;
  dom(f)=a by A3,Th1;
  then dom(g(*)f) = a by A6,A4,Def5;
  hence thesis by A7;
end;
