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 T being Functor of C,D holds T is faithful iff for c,c9 being
  Object of C holds hom(T,c,c9) is one-to-one
proof
  let T be Functor of C,D;
  thus T is faithful implies for c,c9 being Object of C holds hom(T,c,c9) is
  one-to-one
  proof
    assume
A1: T is faithful;
    let c,c9 be Object of C;
    now
A2:   now
        let f1,f2 be object;
        assume that
A3:     f1 in Hom(c,c9) and
A4:     f2 in Hom(c,c9);
A5:     f2 is Morphism of c,c9 by A4,Def3;
        then
A6:     T.f2 = hom(T,c,c9).f2 by A3,Th83;
A7:     f1 is Morphism of c,c9 by A3,Def3;
        then T.f1 = hom(T,c,c9).f1 by A3,Th83;
        hence hom(T,c,c9).f1 = hom(T,c,c9).f2 implies f1 = f2 by A1,A3,A7,A5,A6
;
      end;
      assume Hom(T.c,T.c9) <> {};
      hence thesis by A2,FUNCT_2:19;
    end;
    hence thesis;
  end;
  assume
A8: for c,c9 being Object of C holds hom(T,c,c9) is one-to-one;
  let c,c9 be Object of C such that
A9: Hom(c,c9) <> {};
  let f1,f2 be Morphism of c,c9;
A10: T.f2 = hom(T,c,c9).f2 by A9,Th83;
A11: f2 in Hom(c,c9) & T.f1 = hom(T,c,c9).f1 by A9,Def3,Th83;
A12: hom(T,c,c9) is one-to-one by A8;
  Hom(T.c,T.c9) <> {} & f1 in Hom(c,c9) by A9,Def3,Th79;
  hence thesis by A12,A11,A10,FUNCT_2:19;
end;
