let A, B, C be non empty transitive with_units AltCatStr ; for F1, F2 being covariant Functor of A,B
for G1, G2 being covariant Functor of B,C st F1 is_transformable_to F2 & G1 is_transformable_to G2 holds
G1 * F1 is_transformable_to G2 * F2
let F1, F2 be covariant Functor of A,B; for G1, G2 being covariant Functor of B,C st F1 is_transformable_to F2 & G1 is_transformable_to G2 holds
G1 * F1 is_transformable_to G2 * F2
let G1, G2 be covariant Functor of B,C; ( F1 is_transformable_to F2 & G1 is_transformable_to G2 implies G1 * F1 is_transformable_to G2 * F2 )
assume A1:
for a being Object of A holds <^(F1 . a),(F2 . a)^> <> {}
; FUNCTOR2:def 1 ( not G1 is_transformable_to G2 or G1 * F1 is_transformable_to G2 * F2 )
assume A2:
for a being Object of B holds <^(G1 . a),(G2 . a)^> <> {}
; FUNCTOR2:def 1 G1 * F1 is_transformable_to G2 * F2
let a be Object of A; FUNCTOR2:def 1 not <^((G1 * F1) . a),((G2 * F2) . a)^> = {}
<^(F1 . a),(F2 . a)^> <> {}
by A1;
then A3:
<^(G1 . (F1 . a)),(G1 . (F2 . a))^> <> {}
by FUNCTOR0:def 18;
A4:
( (G1 * F1) . a = G1 . (F1 . a) & (G2 * F2) . a = G2 . (F2 . a) )
by FUNCTOR0:33;
<^(G1 . (F2 . a)),(G2 . (F2 . a))^> <> {}
by A2;
hence
not <^((G1 * F1) . a),((G2 * F2) . a)^> = {}
by A4, A3, ALTCAT_1:def 2; verum