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;
reserve A, B, C, D for category,
  F1, F2, F3 for covariant Functor of A, B,
  G1, G2, G3 for covariant Functor of B, C;
reserve t for natural_transformation of F1, F2,
  s for natural_transformation of G1, G2,
  s1 for natural_transformation of G2, G3;

theorem
  for t being transformation of F1, F2, t1 being transformation of F2,
F3 st F1 is_naturally_transformable_to F2 & F2 is_naturally_transformable_to F3
  & G1 is_naturally_transformable_to G2 & G2 is_naturally_transformable_to G3
  holds (s1`*`s)(#)(t1`*`t) = (s1(#)t1)`*`(s(#)t)
proof
  let t be transformation of F1, F2, t1 be transformation of F2, F3 such that
A1: F1 is_naturally_transformable_to F2 and
A2: F2 is_naturally_transformable_to F3 and
A3: G1 is_naturally_transformable_to G2 and
A4: G2 is_naturally_transformable_to G3;
A5: F1 is_transformable_to F2 by A1;
  then
A6: s(#)t = (G2*t)`*`(s*F1) by A3,Th22;
A7: G2*F1 is_transformable_to G2*F2 by A5,Th10;
A8: G3*F1 is_transformable_to G3*F2 by A5,Th10;
  G1*F1 is_naturally_transformable_to G2*F2 by A1,A3,Lm2;
  then
A9: G1*F1 is_transformable_to G2*F2;
A10: G1 is_transformable_to G2 by A3;
  then
A11: G1*F1 is_transformable_to G2*F1 by Th10;
A12: F2 is_transformable_to F3 by A2;
  then
A13: s1(#)t1 = (G3*t1)`*`(s1*F2) by A4,Th22;
A14: G3*F2 is_transformable_to G3*F3 by A12,Th10;
A15: G2 is_transformable_to G3 by A4;
  then
A16: G2*F1 is_transformable_to G3*F1 by Th10;
  G1 is_transformable_to G3 by A10,A15,FUNCTOR2:2;
  then
A17: G1*F1 is_transformable_to G3*F1 by Th10;
A18: G2*F2 is_transformable_to G3*F2 by A15,Th10;
  F1 is_transformable_to F3 by A5,A12,FUNCTOR2:2;
  hence (s1`*`s)(#)(t1`*`t) = (G3*(t1`*`t))`*`((s1`*`s)*F1) by A3,A4,Th22,
FUNCTOR2:8
    .= (G3*t1)`*`(G3*t)`*`((s1`*`s)*F1) by A5,A12,Th13
    .= (G3*t1)`*`(G3*t)`*`(((s1 qua transformation of G2,G3)`*`s)*F1) by A3,A4,
FUNCTOR2:def 8
    .= (G3*t1)`*`(G3*t)`*`((s1*F1)`*`(s*F1)) by A10,A15,Th14
    .= (G3*t1)`*`((G3*t)`*`((s1*F1)`*`(s*F1))) by A14,A8,A17,FUNCTOR2:6
    .= (G3*t1)`*`((G3*t)`*`(s1*F1)`*`(s*F1)) by A8,A11,A16,FUNCTOR2:6
    .= (G3*t1)`*`((s1(#)t)`*`(s*F1)) by A4,A5,Th22
    .= (G3*t1)`*`((s1*F2)`*`((G2*t)`*`(s*F1))) by A11,A18,A7,FUNCTOR2:6
    .= (s1(#)t1)`*`(s(#)t) by A14,A18,A9,A13,A6,FUNCTOR2:6;
end;
