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
  a is_a_product_wrt y .--> id a
proof
  set F = y .--> id a;
  dom(id a) = a;
  hence F is Projections_family of a,{y} by Th43;
  let b;
  let F9 be Projections_family of b,{y} such that
A1: cods F = cods F9;
  take h = F9/.y;
A2: y in {y} by TARSKI:def 1;
  then
A3: dom h = b by Th41;
  cod h = (cods F)/.y by A1,A2,Def2
    .= cod(F/.y) by A2,Def2
    .= cod(id a) by A2,Th2
    .= a;
  hence h in Hom(b,a) by A3;
  let k;
  assume k in Hom(b,a);
  then
A4: cod k = a by CAT_1:1;
  thus (for x st x in {y} holds (F/.x)(*)k = F9/.x) implies h = k
  proof
    assume
A5: for x st x in {y} holds (F/.x)(*)k = F9/.x;
    thus k = (id a)(*)k by A4,CAT_1:21
      .= (F/.y)(*)k by A2,Th2
      .= h by A2,A5;
  end;
  assume
A6: h = k;
  let x;
  assume
A7: x in {y};
  hence F9/.x = k by A6,TARSKI:def 1
    .= (id a)(*)k by A4,CAT_1:21
    .= (F/.x)(*)k by A7,Th2;
end;
