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 Th79:
  x1 <> x2 implies (c is_a_coproduct_wrt i1,i2 iff c
  is_a_coproduct_wrt (x1,x2)-->(i1,i2))
proof
  set F = (x1,x2)-->(i1,i2), I = {x1,x2};
  assume
A1: x1 <> x2;
  thus c is_a_coproduct_wrt i1,i2 implies c is_a_coproduct_wrt F
  proof
    assume
A2: c is_a_coproduct_wrt i1,i2;
    then cod i1 = c & cod i2 = c;
    hence F is Injections_family of c,I by Th65;
    let b;
    let F9 be Injections_family of b,I such that
A3: doms F = doms F9;
    set f = F9/.x1, g = F9/.x2;
A4: x1 in I by TARSKI:def 2;
    then (doms F)/.x1 = dom(F/.x1) by Def1;
    then dom f = dom(F/.x1) by A3,A4,Def1;
    then
A5: dom f = dom i1 by A1,Th3;
A6: x2 in I by TARSKI:def 2;
    then (doms F)/.x2 = dom(F/.x2) by Def1;
    then dom g = dom(F/.x2) by A3,A6,Def1;
    then
A7: dom g = dom i2 by A1,Th3;
    cod g = b by A6,Th62;
    then
A8: g in Hom(dom i2,b) by A7;
    cod f = b by A4,Th62;
    then f in Hom(dom i1,b) by A5;
    then consider h such that
A9: h in Hom(c,b) and
A10: for k st k in Hom(c,b) holds k(*)i1 = f & k(*)i2 = g iff h = k
            by A2,A8;
    take h;
    thus h in Hom(c,b) by A9;
    let k such that
A11: k in Hom(c,b);
    thus (for x st x in I holds k(*)(F/.x) = F9/.x ) implies h = k
    proof
      assume
A12:  for x st x in I holds k(*)(F/.x) = F9/.x;
      then k(*)(F/.x2) = g by A6;
      then
A13:  k(*)i2 = g by A1,Th3;
      k(*)(F/.x1) = f by A4,A12;
      then k(*)i1 = f by A1,Th3;
      hence thesis by A10,A11,A13;
    end;
    assume h = k;
    then
A14: k(*)i1 = f & k(*)i2 = g by A10,A11;
    let x;
    assume x in I;
    then x = x1 or x = x2 by TARSKI:def 2;
    hence thesis by A1,A14,Th3;
  end;
  assume
A15: c is_a_coproduct_wrt F;
  then
A16: F is Injections_family of c,I;
  x2 in I by TARSKI:def 2;
  then
A17: cod(F/.x2) = c by A16,Th62;
  x1 in I by TARSKI:def 2;
  then cod(F/.x1) = c by A16,Th62;
  hence cod i1 = c & cod i2 = c by A1,A17,Th3;
  let d,f,g such that
A18: f in Hom(dom i1,d) and
A19: g in Hom(dom i2,d);
  cod f = d & cod g = d by A18,A19,CAT_1:1;
  then reconsider F9 = (x1,x2) --> (f,g) as Injections_family of d,I by Th65;
  doms F = (x1,x2)-->(dom i1,dom i2) by Th6
    .= (x1,x2)-->(dom f,dom i2) by A18,CAT_1:1
    .= (x1,x2)-->(dom f,dom g) by A19,CAT_1:1
    .= doms F9 by Th6;
  then consider h such that
A20: h in Hom(c,d) and
A21: for k st k in Hom(c,d) holds (for x st x in I holds k(*)(F/.x) = F9/.
  x ) iff h = k by A15;
  take h;
  thus h in Hom(c,d) by A20;
  let k such that
A22: k in Hom(c,d);
  thus k(*)i1 = f & k(*)i2 = g implies h = k
  proof
    assume
A23: k(*)i1 = f & k(*)i2 = g;
    now
      let x;
      assume x in I;
      then x = x1 or x = x2 by TARSKI:def 2;
      then F/.x = i1 & F9/.x = f or F/.x = i2 & F9/.x = g by A1,Th3;
      hence k(*)(F/.x) = F9/.x by A23;
    end;
    hence thesis by A21,A22;
  end;
  assume
A24: h = k;
  x2 in I by TARSKI:def 2;
  then k(*)(F/.x2) = F9/.x2 by A21,A22,A24;
  then
A25: k(*)(F/.x2) = g by A1,Th3;
  x1 in I by TARSKI:def 2;
  then k(*)(F/.x1) = F9/.x1 by A21,A22,A24;
  then k(*)(F/.x1) = f by A1,Th3;
  hence thesis by A1,A25,Th3;
end;
