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;
reserve f for Morphism of a,b,
        g for Morphism of b,a;
reserve g for Morphism of b,c;
reserve f,g for Morphism of C;

theorem
  for i1 being Morphism of a,c, i2 being Morphism of b,c
   st Hom(a,c) <> {} & Hom(b,c) <> {}
  holds
  c is_a_coproduct_wrt i1,i2 & Hom(a,b) <> {} & Hom(b,a) <> {}
  implies i1 is coretraction & i2 is coretraction
proof let i1 be Morphism of a,c, i2 be Morphism of b,c such that
A1: Hom(a,c) <> {} & Hom(b,c) <> {};
  assume that
A2: c is_a_coproduct_wrt i1,i2 and
A3: Hom(a,b) <> {} & Hom(b,a) <> {};
  set I = {0,{0}};
  cod i1 = c & cod i2 = c by A2;
  then reconsider F = (0,{0})-->(i1,i2) as Injections_family of c,I
      by Th65;
A4: F/.0 = i1 by Th3;
A5: F/.{0} = i2 by Th3;
A6: now
    thus F is Injections_family of c,I;
    thus c is_a_coproduct_wrt F by A2,Th79;
    let x1,x2;
    assume that
A7: x1 in I and
A8: x2 in I;
A9: x2 = 0 or x2 = {0} by A8,TARSKI:def 2;
 x1 = 0 or x1 = {0} by A7,TARSKI:def 2;
    then
A10:   dom(F/.x1) = a or dom(F/.x1) = b by A4,A5,A1,CAT_1:5;
     dom(F/.x2) = a or dom(F/.x2) = b by A9,A4,A5,A1,CAT_1:5;
    hence Hom(dom(F/.x1),dom(F/.x2)) <> {} by A3,A10;
  end;
A11: {0} in I by TARSKI:def 2;
A12: 0 in I by TARSKI:def 2;
 dom(F/.0) = a & dom(F/.{0}) = b by A4,A5,A1,CAT_1:5;
  hence thesis by A4,A6,A11,Th73,A5,A12,A1;
end;
