reserve C for CatStr;
reserve f,g for Morphism of C;
reserve C for non void non empty CatStr,
  f,g for Morphism of C,
  a,b,c,d for Object of C;
reserve o,m for set;
reserve B,C,D for Category;
reserve a,b,c,d for Object of C;
reserve f,f1,f2,g,g1,g2 for Morphism of C;
reserve f,f1,f2 for Morphism of a,b;
reserve f9 for Morphism of b,a;
reserve g for Morphism of b,c;
reserve h,h1,h2 for Morphism of c,d;

theorem
  b is terminal & a,b are_isomorphic implies a is terminal
proof
  assume that
A1: b is terminal;
  given f such that
A2: f is invertible;
A3: Hom(b,a) <> {} by A2;
  let c;
  consider h being Morphism of c,b such that
A4: for g being Morphism of c,b holds h = g by A1;
  Hom(c,b) <> {} by A1;
  hence
A5: Hom(c,a) <> {} by A3,Th19;
  consider f9 such that
  f*f9 = id b and
A6: f9*f = id a by A2;
A7: Hom(a,b) <> {} by A2;
  take f9*h;
  let h9 be Morphism of c,a;
  thus f9*h = f9*(f*h9) by A4
    .= (f9*f)*h9 by A3,A5,A7,Th21
    .= h9 by A6,A5,Th23;
end;
