
theorem
  for C being category, c1,c2,d being Object of C,
      p1 being Morphism of d,c1, p2 being Morphism of d,c2
  st Hom(d,c1) <> {} & Hom(d,c2) <> {} &
     d,p1,p2 is_product_of c1,c2 holds d,p2,p1 is_product_of c2,c1
  proof
    let C be category;
    let c1,c2,d be Object of C;
    let p1 be Morphism of d,c1;
    let p2 be Morphism of d,c2;
    assume
A1: Hom(d,c1) <> {} & Hom(d,c2) <> {};
    assume
A2: d,p1,p2 is_product_of c1,c2;
    for d1 being Object of C,
    g2 being Morphism of d1,c2, g1 being Morphism of d1,c1
    st Hom(d1,c2) <> {} & Hom(d1,c1) <> {}
    holds Hom(d1,d) <> {} & ex h being Morphism of d1,d st
    p2 * h = g2 & p1 * h = g1
    & for h1 being Morphism of d1,d st p2 * h1 = g2 & p1 * h1 = g1
    holds h = h1
    proof
      let d1 be Object of C;
      let g2 be Morphism of d1,c2;
      let g1 be Morphism of d1,c1;
      assume
A3:   Hom(d1,c2) <> {} & Hom(d1,c1) <> {};
      hence Hom(d1,d) <> {} by A2,A1,Def10;
      consider h be Morphism of d1,d such that
A4:   p1 * h = g1 & p2 * h = g2
      & for h1 being Morphism of d1,d st p1 * h1 = g1 & p2 * h1 = g2
      holds h = h1 by A3,A2,A1,Def10;
      take h;
      thus thesis by A4;
    end;
    hence d,p2,p1 is_product_of c2,c1 by A1,Def10;
  end;
