reserve o,m for set;
reserve C for Cartesian_category;
reserve a,b,c,d,e,s for Object of C;

theorem
  Hom(a,b) <> {} & Hom(b,a) <> {}
  implies pr1(a,b) is retraction & pr2(a,b) is retraction
proof
A1: Hom(a[x]b,a) <> {} & Hom(a[x]b,b) <> {} by Th19;
  a[x]b is_a_product_wrt pr1(a,b),pr2(a,b) & cod pr1(a,b) = a by Def8;
  hence thesis by A1,CAT_3:57;
end;
