let C be Category; :: thesis: for c, d being Object of C
for p1, p2, q1, q2 being Morphism of C st c is_a_product_wrt p1,p2 & d is_a_product_wrt q1,q2 & cod p1 = cod q1 & cod p2 = cod q2 holds
c,d are_isomorphic

let c, d be Object of C; :: thesis: for p1, p2, q1, q2 being Morphism of C st c is_a_product_wrt p1,p2 & d is_a_product_wrt q1,q2 & cod p1 = cod q1 & cod p2 = cod q2 holds
c,d are_isomorphic

let p1, p2, q1, q2 be Morphism of C; :: thesis: ( c is_a_product_wrt p1,p2 & d is_a_product_wrt q1,q2 & cod p1 = cod q1 & cod p2 = cod q2 implies c,d are_isomorphic )
assume that
A1: c is_a_product_wrt p1,p2 and
A2: d is_a_product_wrt q1,q2 and
A3: ( cod p1 = cod q1 & cod p2 = cod q2 ) ; :: thesis: c,d are_isomorphic
set I = {0 ,1};
set F = 0 ,1 --> p1,p2;
set F9 = 0 ,1 --> q1,q2;
A4: ( c is_a_product_wrt 0 ,1 --> p1,p2 & d is_a_product_wrt 0 ,1 --> q1,q2 ) by A1, A2, Th59;
( dom q1 = d & dom q2 = d ) by A2, Def16;
then A5: 0 ,1 --> q1,q2 is Projections_family of d,{0 ,1} by Th48;
( dom p1 = c & dom p2 = c ) by A1, Def16;
then A6: 0 ,1 --> p1,p2 is Projections_family of c,{0 ,1} by Th48;
cods (0 ,1 --> p1,p2) = 0 ,1 --> (cod q1),(cod q2) by A3, Th11
.= cods (0 ,1 --> q1,q2) by Th11 ;
hence c,d are_isomorphic by A6, A5, A4, Th53; :: thesis: verum