let A be non empty AltCatStr ; :: thesis: for C, B being non empty reflexive AltCatStr
for G being feasible Covariant FunctorStr of B,C
for M being feasible Contravariant FunctorStr of A,B
for o1, o2 being object of A
for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
(G * M) . m = G . (M . m)

let C, B be non empty reflexive AltCatStr ; :: thesis: for G being feasible Covariant FunctorStr of B,C
for M being feasible Contravariant FunctorStr of A,B
for o1, o2 being object of A
for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
(G * M) . m = G . (M . m)

let G be feasible Covariant FunctorStr of B,C; :: thesis: for M being feasible Contravariant FunctorStr of A,B
for o1, o2 being object of A
for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
(G * M) . m = G . (M . m)

let M be feasible Contravariant FunctorStr of A,B; :: thesis: for o1, o2 being object of A
for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
(G * M) . m = G . (M . m)

let o1, o2 be object of A; :: thesis: for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
(G * M) . m = G . (M . m)

let m be Morphism of o1,o2; :: thesis: ( <^o1,o2^> <> {} implies (G * M) . m = G . (M . m) )
assume A1: <^o1,o2^> <> {} ; :: thesis: (G * M) . m = G . (M . m)
set I = the carrier of A;
reconsider s = the MorphMap of M . o1,o2 as Function ;
reconsider r = ((the MorphMap of G * the ObjectMap of M) ** the MorphMap of M) . o1,o2 as Function ;
reconsider t = (the MorphMap of G * the ObjectMap of M) . o1,o2 as Function ;
A2: <^(M . o2),(M . o1)^> <> {} by A1, FUNCTOR0:def 20;
then A3: dom (Morph-Map M,o1,o2) = <^o1,o2^> by FUNCT_2:def 1;
A4: dom ((the MorphMap of G * the ObjectMap of M) ** the MorphMap of M) = (dom (the MorphMap of G * the ObjectMap of M)) /\ (dom the MorphMap of M) by PBOOLE:def 24
.= [:the carrier of A,the carrier of A:] /\ (dom the MorphMap of M) by PARTFUN1:def 4
.= [:the carrier of A,the carrier of A:] /\ [:the carrier of A,the carrier of A:] by PARTFUN1:def 4
.= [:the carrier of A,the carrier of A:] ;
A5: dom the ObjectMap of M = [:the carrier of A,the carrier of A:] by FUNCT_2:def 1;
A6: ( (G * M) . o1 = G . (M . o1) & (G * M) . o2 = G . (M . o2) ) by FUNCTOR0:34;
A7: [o1,o2] in [:the carrier of A,the carrier of A:] by ZFMISC_1:def 2;
A8: <^(G . (M . o2)),(G . (M . o1))^> <> {} by A2, FUNCTOR0:def 19;
hence (G * M) . m = (Morph-Map (G * M),o1,o2) . m by A1, A6, FUNCTOR0:def 17
.= r . m by FUNCTOR0:def 37
.= (t * s) . m by A4, A7, PBOOLE:def 24
.= t . ((Morph-Map M,o1,o2) . m) by A1, A3, FUNCT_1:23
.= t . (M . m) by A1, A2, FUNCTOR0:def 17
.= (the MorphMap of G . (the ObjectMap of M . o1,o2)) . (M . m) by A5, A7, FUNCT_1:23
.= (Morph-Map G,(M . o2),(M . o1)) . (M . m) by FUNCTOR0:24
.= G . (M . m) by A2, A8, FUNCTOR0:def 16 ;
:: thesis: verum