
theorem
  for C1 being non empty AltGraph, C2,C3,C4 being non empty reflexive AltGraph,
  F being feasible FunctorStr over C1,C2,
  G being feasible FunctorStr over C2,C3, H being FunctorStr over C3,C4
  holds H*G*F = H*(G*F)
proof
  let C1 be non empty AltGraph, C2,C3,C4 be non empty reflexive AltGraph,
  F be feasible FunctorStr over C1,C2,
  G be feasible FunctorStr over C2,C3, H be FunctorStr over C3,C4;
A1: the ObjectMap of H*G*F = (the ObjectMap of H*G)*the ObjectMap of F by Def36
    .= (the ObjectMap of H)*(the ObjectMap of G)*the ObjectMap of F by Def36
    .= (the ObjectMap of H)*((the ObjectMap of G)*the ObjectMap of F)
  by RELAT_1:36
    .= (the ObjectMap of H)*the ObjectMap of(G*F) by Def36
    .= the ObjectMap of H*(G*F) by Def36;
  the MorphMap of H*G*F
  = ((the MorphMap of H*G)*the ObjectMap of F)**the MorphMap of F by Def36
    .= ((the MorphMap of H)*(the ObjectMap of G)**the MorphMap of G)
  *(the ObjectMap of F)**the MorphMap of F by Def36
    .= (the MorphMap of H)*(the ObjectMap of G)*(the ObjectMap of F)
  **((the MorphMap of G)*the ObjectMap of F)**the MorphMap of F by Th12
    .= (the MorphMap of H)*((the ObjectMap of G)*the ObjectMap of F)
  **((the MorphMap of G)*the ObjectMap of F)**the MorphMap of F by RELAT_1:36
    .= ((the MorphMap of H)*the ObjectMap of G*F)**
  ((the MorphMap of G)*the ObjectMap of F)**the MorphMap of F by Def36
    .= ((the MorphMap of H)*the ObjectMap of G*F)**
  (((the MorphMap of G)*the ObjectMap of F)**the MorphMap of F) by PBOOLE:140
    .= ((the MorphMap of H)*the ObjectMap of G*F)**the MorphMap of G*F by Def36
    .= the MorphMap of H*(G*F) by Def36;
  hence thesis by A1;
end;
