let C1, C2 be non empty AltCatStr ; :: thesis: for F being Covariant FunctorStr of C1,C2 holds
( F is faithful iff for o1, o2 being object of C1 holds Morph-Map F,o1,o2 is one-to-one )

let F be Covariant FunctorStr of C1,C2; :: thesis: ( F is faithful iff for o1, o2 being object of C1 holds Morph-Map F,o1,o2 is one-to-one )
set I = [:the carrier of C1,the carrier of C1:];
hereby :: thesis: ( ( for o1, o2 being object of C1 holds Morph-Map F,o1,o2 is one-to-one ) implies F is faithful )
assume A1: F is faithful ; :: thesis: for o1, o2 being object of C1 holds Morph-Map F,o1,o2 is one-to-one
let o1, o2 be object of C1; :: thesis: Morph-Map F,o1,o2 is one-to-one
A2: the MorphMap of F is "1-1" by A1, FUNCTOR0:def 31;
A3: [o1,o2] in [:the carrier of C1,the carrier of C1:] by ZFMISC_1:106;
dom the MorphMap of F = [:the carrier of C1,the carrier of C1:] by PARTFUN1:def 4;
hence Morph-Map F,o1,o2 is one-to-one by A2, A3, MSUALG_3:def 2; :: thesis: verum
end;
assume A4: for o1, o2 being object of C1 holds Morph-Map F,o1,o2 is one-to-one ; :: thesis: F is faithful
let i be set ; :: according to MSUALG_3:def 2,FUNCTOR0:def 31 :: thesis: for b1 being set holds
( not i in dom the MorphMap of F or not the MorphMap of F . i = b1 or b1 is one-to-one )

let f be Function; :: thesis: ( not i in dom the MorphMap of F or not the MorphMap of F . i = f or f is one-to-one )
assume A5: ( i in dom the MorphMap of F & the MorphMap of F . i = f ) ; :: thesis: f is one-to-one
dom the MorphMap of F = [:the carrier of C1,the carrier of C1:] by PARTFUN1:def 4;
then consider o1, o2 being set such that
A6: ( o1 in the carrier of C1 & o2 in the carrier of C1 & i = [o1,o2] ) by A5, ZFMISC_1:103;
reconsider o1 = o1, o2 = o2 as object of C1 by A6;
the MorphMap of F . o1,o2 = Morph-Map F,o1,o2 ;
hence f is one-to-one by A4, A5, A6; :: thesis: verum