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 Th14:
  G1 is_transformable_to G2 & G2 is_transformable_to G3 implies (
  q1`*`q)*F1 = (q1*F1)`*`(q*F1)
proof
  assume that
A1: G1 is_transformable_to G2 and
A2: G2 is_transformable_to G3;
A3: G1*F1 is_transformable_to G2*F1 & G2*F1 is_transformable_to G3*F1 by A1,A2
,Th10;
A4: now
    let a be Object of A;
A5: G1.(F1.a) = (G1*F1).a & G3.(F1.a) = (G3*F1).a by FUNCTOR0:33;
A6: G2.(F1.a) = (G2*F1).a by FUNCTOR0:33;
    then reconsider s1F1a = (q1*F1)!a as Morphism of G2.(F1.a), G3.(F1.a) by
FUNCTOR0:33;
    thus ((q1`*`q)*F1)!a = (q1`*`q)!(F1.a) by A1,A2,Th12,FUNCTOR2:2
      .= (q1!(F1.a))*(q!(F1.a)) by A1,A2,FUNCTOR2:def 5
      .= s1F1a*(q!(F1.a)) by A2,Th12
      .= ((q1*F1)!a)*((q*F1)!a) by A1,A6,A5,Th12
      .= ((q1*F1)`*`(q*F1))!a by A3,FUNCTOR2:def 5;
  end;
  G1 is_transformable_to G3 by A1,A2,FUNCTOR2:2;
  hence thesis by A4,Th10,FUNCTOR2:3;
end;
