reserve A for non empty AltCatStr,
  B, C for non empty reflexive AltCatStr,
  F for feasible Covariant FunctorStr over A, B,
  G for feasible Covariant FunctorStr over B, C,
  M for feasible Contravariant FunctorStr over A, B,
  N for feasible Contravariant FunctorStr over B, C,
  o1, o2 for Object of A,
  m for Morphism of o1, o2;
reserve A, B, C, D for transitive with_units non empty AltCatStr,
  F1, F2, F3 for covariant Functor of A, B,
  G1, G2, G3 for covariant Functor of B, C,
  H1, H2 for covariant Functor of C, D,
  p for transformation of F1, F2,
  p1 for transformation of F2, F3,
  q for transformation of G1, G2,
  q1 for transformation of G2, G3,
  r for transformation of H1, H2;

theorem Th10:
  F1 is_transformable_to F2 & G1 is_transformable_to G2 implies G1
  *F1 is_transformable_to G2*F2
proof
  assume
A1: for a being Object of A holds <^F1.a,F2.a^> <> {};
  assume
A2: for a being Object of B holds <^G1.a,G2.a^> <> {};
  let a be Object of 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 thesis by A4,A3,ALTCAT_1:def 2;
end;
