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 Th50:
  for F being Function of {},the carrier' of C holds a
  is_a_product_wrt F iff a is terminal
proof
  let F be Function of {},the carrier' of C;
  thus a is_a_product_wrt F implies a is terminal
  proof
    assume
A1: a is_a_product_wrt F;
    let b;
    set F9 = the Projections_family of b,{};
    consider h such that
A2: h in Hom(b,a) and
A3: for k st k in Hom(b,a) holds (for x st x in {} holds (F/.x)(*)k = F9
    /.x ) iff h = k by A1;
    thus Hom(b,a)<>{} by A2;
    reconsider f = h as Morphism of b,a by A2,CAT_1:def 5;
    take f;
    let g be Morphism of b,a;
A4: for x st x in {} holds (F/.x)(*)g = F9/.x;
    g in Hom(b,a) by A2,CAT_1:def 5;
    hence thesis by A3,A4;
  end;
  assume
A5: a is terminal;
  thus F is Projections_family of a,{} by Th42;
  let b;
  consider h being Morphism of b,a such that
A6: for g being Morphism of b,a holds h = g by A5;
  let F9 be Projections_family of b,{} such that
  cods F = cods F9;
  take h;
  Hom(b,a)<>{} by A5;
  hence h in Hom(b,a) by CAT_1:def 5;
  let k;
  assume k in Hom(b,a);
  then k is Morphism of b,a by CAT_1:def 5;
  hence thesis by A6;
end;
