let C be Category; :: thesis: for a, b, c being Object of C
for i1 being Morphism of a,c
for i2 being Morphism of b,c st Hom (a,c) <> {} & Hom (b,c) <> {} & c is_a_coproduct_wrt i1,i2 & Hom (a,b) <> {} & Hom (b,a) <> {} holds
( i1 is coretraction & i2 is coretraction )

let a, b, c be Object of C; :: thesis: for i1 being Morphism of a,c
for i2 being Morphism of b,c st Hom (a,c) <> {} & Hom (b,c) <> {} & c is_a_coproduct_wrt i1,i2 & Hom (a,b) <> {} & Hom (b,a) <> {} holds
( i1 is coretraction & i2 is coretraction )

let i1 be Morphism of a,c; :: thesis: for i2 being Morphism of b,c st Hom (a,c) <> {} & Hom (b,c) <> {} & c is_a_coproduct_wrt i1,i2 & Hom (a,b) <> {} & Hom (b,a) <> {} holds
( i1 is coretraction & i2 is coretraction )

let i2 be Morphism of b,c; :: thesis: ( Hom (a,c) <> {} & Hom (b,c) <> {} & c is_a_coproduct_wrt i1,i2 & Hom (a,b) <> {} & Hom (b,a) <> {} implies ( i1 is coretraction & i2 is coretraction ) )
assume A1: ( Hom (a,c) <> {} & Hom (b,c) <> {} ) ; :: thesis: ( not c is_a_coproduct_wrt i1,i2 or not Hom (a,b) <> {} or not Hom (b,a) <> {} or ( i1 is coretraction & i2 is coretraction ) )
assume that
A2: c is_a_coproduct_wrt i1,i2 and
A3: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: thesis: ( i1 is coretraction & i2 is coretraction )
set I = ;
( cod i1 = c & cod i2 = c ) by A2;
then reconsider F = (0,) --> (i1,i2) as Injections_family of c, by Th65;
A4: F /. 0 = i1 by Th3;
A5: F /. = i2 by Th3;
A6: now :: thesis: ( F is Injections_family of c, & c is_a_coproduct_wrt F & ( for x1, x2 being set st x1 in & x2 in holds
Hom ((dom (F /. x1)),(dom (F /. x2))) <> {} ) )
thus F is Injections_family of c, ; :: thesis: ( c is_a_coproduct_wrt F & ( for x1, x2 being set st x1 in & x2 in holds
Hom ((dom (F /. x1)),(dom (F /. x2))) <> {} ) )

thus c is_a_coproduct_wrt F by ; :: thesis: for x1, x2 being set st x1 in & x2 in holds
Hom ((dom (F /. x1)),(dom (F /. x2))) <> {}

let x1, x2 be set ; :: thesis: ( x1 in & x2 in implies Hom ((dom (F /. x1)),(dom (F /. x2))) <> {} )
assume that
A7: x1 in and
A8: x2 in ; :: thesis: Hom ((dom (F /. x1)),(dom (F /. x2))) <> {}
A9: ( x2 = 0 or x2 = ) by ;
( x1 = 0 or x1 = ) by ;
then A10: ( dom (F /. x1) = a or dom (F /. x1) = b ) by ;
( 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 ; :: thesis: verum
end;
A11: {0} in by TARSKI:def 2;
A12: 0 in by TARSKI:def 2;
( dom (F /. 0) = a & dom () = b ) by ;
hence ( i1 is coretraction & i2 is coretraction ) by A4, A6, A11, Th73, A5, A12, A1; :: thesis: verum