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

theorem
  (for o1, o2 being Object of C, f being Morphism of o1, o2 holds f is
  coretraction) implies for a, b being Object of C, g being Morphism of a, b st
  <^a,b^> <> {} & <^b,a^> <> {} holds g is iso
proof
  assume
A1: for o1, o2 being Object of C, f being Morphism of o1, o2 holds f is
  coretraction;
  let a, b be Object of C, g be Morphism of a, b such that
A2: <^a,b^> <> {} and
A3: <^b,a^> <> {};
A4: g is coretraction by A1;
  g is retraction
  proof
    consider f be Morphism of b, a such that
A5: f is_left_inverse_of g by A4;
    take f;
A6: f is mono by A1,A2,A3,ALTCAT_3:16;
    f * (g * f) = f * g * f by A2,A3,ALTCAT_1:21
      .= idm a * f by A5
      .= f by A3,ALTCAT_1:20
      .= f * idm b by A3,ALTCAT_1:def 17;
    hence g * f = idm b by A6;
  end;
  hence thesis by A2,A3,A4,ALTCAT_3:6;
end;
