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 Th72:
  for F being Injections_family of c,I, F9 being Injections_family
  of d,I st c is_a_coproduct_wrt F & d is_a_coproduct_wrt F9 & doms F = doms F9
  holds c,d are_isomorphic
proof
  let F be Injections_family of c,I, F9 be Injections_family of d,I such that
A1: c is_a_coproduct_wrt F and
A2: d is_a_coproduct_wrt F9 and
A3: doms F = doms F9;
  consider fg being Morphism of C such that
  fg in Hom(d,d) and
A4: for k st k in Hom(d,d) holds (for x st x in I holds k(*)(F9/.x) = F9
  /.x) iff fg = k by A2;
  consider f such that
A5: f in Hom(c,d) and
A6: for k st k in Hom(c,d) holds (for x st x in I holds k(*)(F/.x) = F9/.x
  ) iff f = k by A1,A3;
  reconsider f as Morphism of c,d by A5,CAT_1:def 5;
A7: dom f = c by A5,CAT_1:1;
A8: now
    set k = id c;
    thus k in Hom(c,c) by CAT_1:27;
    let x;
    assume x in I;
    then cod(F/.x) = c by Th62;
    hence k(*)(F/.x) = F/.x by CAT_1:21;
  end;
A9: now
    set k = id d;
    thus k in Hom(d,d) by CAT_1:27;
    let x;
    assume x in I;
    then cod(F9/.x) = d by Th62;
    hence k(*)(F9/.x) = F9/.x by CAT_1:21;
  end;
  consider gf being Morphism of C such that
  gf in Hom(c,c) and
A10: for k st k in Hom(c,c) holds (for x st x in I holds k(*)(F/.x) = F/.x
  ) iff gf = k by A1;
  consider g such that
A11: g in Hom(d,c) and
A12: for k st k in Hom(d,c) holds (for x st x in I holds k(*)(F9/.x) = F/.x
  ) iff g = k by A2,A3;
   reconsider g as Morphism of d,c by A11,CAT_1:def 5;
  take f;
  thus Hom(c,d) <> {} & Hom(d,c) <> {} by A11,A5;
  take g;
A13: cod f = d by A5,CAT_1:1;
A14: dom g = d by A11,CAT_1:1;
A15: cod g = c by A11,CAT_1:1;
A16: now
    cod(f(*)g) = d & dom(f(*)g) = d by A13,A14,A7,A15,CAT_1:17;
    hence f(*)g in Hom(d,d);
    let x;
    assume
A17: x in I;
    then cod(F9/.x) = d by Th62;
    hence f(*)g(*)(F9/.x) = f(*)(g(*)(F9/.x)) by A14,A7,A15,CAT_1:18
      .= f(*)(F/.x) by A11,A12,A17
      .= F9/.x by A5,A6,A17;
  end;
  thus f*g = f(*)g by A11,A5,CAT_1:def 13
    .= fg by A4,A16
    .= id d by A4,A9;
A18: now
    cod(g(*)f) = c & dom(g(*)f) = c by A13,A14,A7,A15,CAT_1:17;
    hence g(*)f in Hom(c,c);
    let x;
    assume
A19: x in I;
    then cod(F/.x) = c by Th62;
    hence g(*)f(*)(F/.x) = g(*)(f(*)(F/.x)) by A13,A14,A7,CAT_1:18
      .= g(*)(F9/.x) by A5,A6,A19
      .= F/.x by A11,A12,A19;
  end;
  thus g*f = g(*)f by A11,A5,CAT_1:def 13
    .= gf by A10,A18
    .= id c by A8,A10;
end;
