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 g is monic
proof
  let h be Morphism of a,b;
  let g be Morphism of b,a such that
A1: Hom(a,b) <> {} and
A2: Hom(b,a) <> {} and
A3: h*g = id b;
  now
    let c;
    let g1,g2 be Morphism of c,b such that
A4: Hom(c,b) <> {} and
A5: g*g1 = g*g2;
    thus g1 = (h*g)*g1 by A3,A4,Th23
      .= h*(g*g2) by A1,A2,A4,A5,Th21
      .= (h*g)*g2 by A1,A2,A4,Th21
      .= g2 by A3,A4,Th23;
  end;
  hence thesis by A2;
end;
