let C1 be non empty AltGraph ; :: thesis: for C2, C3 being non empty reflexive AltGraph
for F being feasible FunctorStr of C1,C2
for G being FunctorStr of C2,C3 st F is faithful & G is faithful holds
G * F is faithful

let C2, C3 be non empty reflexive AltGraph ; :: thesis: for F being feasible FunctorStr of C1,C2
for G being FunctorStr of C2,C3 st F is faithful & G is faithful holds
G * F is faithful

let F be feasible FunctorStr of C1,C2; :: thesis: for G being FunctorStr of C2,C3 st F is faithful & G is faithful holds
G * F is faithful

let G be FunctorStr of C2,C3; :: thesis: ( F is faithful & G is faithful implies G * F is faithful )
assume A1: ( F is faithful & G is faithful ) ; :: thesis: G * F is faithful
set CC1 = [:the carrier of C1,the carrier of C1:];
set CC2 = [:the carrier of C2,the carrier of C2:];
set MMF = the MorphMap of F;
set MMG = the MorphMap of G;
reconsider MMGF = the MorphMap of (G * F) as ManySortedFunction of ;
reconsider OMF = the ObjectMap of F as Function of [:the carrier of C1,the carrier of C1:],[:the carrier of C2,the carrier of C2:] ;
A2: ( the MorphMap of F is "1-1" & the MorphMap of G is "1-1" ) by A1, FUNCTOR0:def 31;
A3: MMGF = (the MorphMap of G * OMF) ** the MorphMap of F by FUNCTOR0:def 37;
for i being set st i in [:the carrier of C1,the carrier of C1:] holds
MMGF . i is one-to-one
proof
let i be set ; :: thesis: ( i in [:the carrier of C1,the carrier of C1:] implies MMGF . i is one-to-one )
assume A4: i in [:the carrier of C1,the carrier of C1:] ; :: thesis: MMGF . i is one-to-one
then A5: OMF . i in [:the carrier of C2,the carrier of C2:] by FUNCT_2:7;
i in dom ((the MorphMap of G * OMF) ** the MorphMap of F) by A4, PARTFUN1:def 4;
then A6: MMGF . i = ((the MorphMap of G * OMF) . i) * (the MorphMap of F . i) by A3, PBOOLE:def 24
.= (the MorphMap of G . (OMF . i)) * (the MorphMap of F . i) by A4, FUNCT_2:21 ;
A7: the MorphMap of G . (OMF . i) is one-to-one by A2, A5, MSUALG_3:1;
the MorphMap of F . i is one-to-one by A2, A4, MSUALG_3:1;
hence MMGF . i is one-to-one by A6, A7; :: thesis: verum
end;
hence the MorphMap of (G * F) is "1-1" by MSUALG_3:1; :: according to FUNCTOR0:def 31 :: thesis: verum