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
  for h being Morphism of a,b for g being Morphism of b,a st Hom(a,b) <>
  {} & Hom(b,a) <> {} & h*g = id b holds h is epi
proof
  let h be Morphism of a,b;
  let g be Morphism of b,a;
  assume that
A1: Hom(a,b) <> {} and
A2: Hom(b,a) <> {} and
A3: h*g = id b;
  now
    let c;
    let h1,h2 be Morphism of b,c such that
A4: Hom(b,c) <> {} and
A5: h1*h = h2*h;
    thus h1 = h1*(h*g) by A3,A4,Th24
      .= (h2*h)*g by A1,A2,A4,A5,Th21
      .= h2*(h*g) by A1,A2,A4,Th21
      .= h2 by A3,A4,Th24;
  end;
  hence thesis by A1;
end;
