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;
reserve e for natural_equivalence of F1, F2,
  e1 for natural_equivalence of F2, F3,
  f for natural_equivalence of G1, G2;

theorem Th34:
  F1, F2 are_naturally_equivalent & F2, F3
  are_naturally_equivalent implies e1 `*` e is natural_equivalence of F1, F3
proof
  assume that
A1: F1, F2 are_naturally_equivalent and
A2: F2, F3 are_naturally_equivalent;
  thus
A3: F1, F3 are_naturally_equivalent by A1,A2,Th33;
  let a be Object of A;
A4: F1 is_transformable_to F2 by A1,Def4;
  then
A5: <^F1.a,F2.a^> <> {};
  F3 is_transformable_to F1 by A3;
  then
A6: <^F3.a,F1.a^> <> {};
A7: F2 is_transformable_to F3 by A2,Def4;
  then
A8: <^F2.a,F3.a^> <> {};
  F1 is_naturally_transformable_to F2 & F2 is_naturally_transformable_to
  F3 by A1,A2;
  then
A9: (e1 `*` e)!a = ((e1 qua transformation of F2, F3) `*` e)!a by
FUNCTOR2:def 8
    .= (e1!a)*(e!a) by A4,A7,FUNCTOR2:def 5;
  e1!a is iso & e!a is iso by A1,A2,Def5;
  hence thesis by A9,A5,A8,A6,ALTCAT_3:7;
end;
