reserve C for category,
  o1, o2, o3 for Object of C;

theorem
  o2 is terminal & o1, o2 are_iso implies o1 is terminal
proof
  assume that
A1: o2 is terminal and
A2: o1, o2 are_iso;
  for o3 being Object of C holds ex M being Morphism of o3, o1 st M in <^
  o3,o1^> & for v being Morphism of o3, o1 st v in <^o3,o1^> holds M = v
  proof
    consider f being Morphism of o1, o2 such that
A3: f is iso by A2;
A4: f" * f = idm o1 by A3;
    let o3 be Object of C;
    consider u being Morphism of o3, o2 such that
A5: u in <^o3,o2^> and
A6: for M1 being Morphism of o3, o2 st M1 in <^o3,o2^> holds u = M1 by A1,
ALTCAT_3:27;
    take f" * u;
A7: <^o2,o1^> <> {} by A2;
    then
A8: <^o3,o1^> <> {} by A5,ALTCAT_1:def 2;
    hence f" * u in <^o3,o1^>;
A9: <^o1,o2^> <> {} by A2;
    let v be Morphism of o3, o1 such that
    v in <^o3,o1^>;
    f * v = u by A5,A6;
    hence thesis by A4,A9,A7,A8,Th1;
  end;
  hence thesis by ALTCAT_3:27;
end;
