reserve D,D9 for non empty set;
reserve R for Ring;
reserve G,H,S for non empty ModuleStr over R;
reserve UN for Universe;
reserve R for Ring;
reserve G, H for LeftMod of R;
reserve G1, G2, G3 for LeftMod of R;
reserve f for LModMorphismStr over R;

theorem Th16:
  for G1,G2,G3,G4 being LeftMod of R, f being strict Morphism of
G1,G2, g being strict Morphism of G2,G3, h being strict Morphism of G3,G4 holds
  h*(g*f) = (h*g)*f
proof
  let G1,G2,G3,G4 be LeftMod of R, f be strict Morphism of G1,G2, g be strict
  Morphism of G2,G3, h be strict Morphism of G3,G4;
  consider f0 being Function of G1,G2 such that
A1: f = LModMorphismStr(#G1,G2,f0#) by Th8;
  consider g0 being Function of G2,G3 such that
A2: g = LModMorphismStr(#G2,G3,g0#) by Th8;
  consider h0 being Function of G3,G4 such that
A3: h = LModMorphismStr(#G3,G4,h0#) by Th8;
A4: h*'g = LModMorphismStr(#G2,G4,h0*g0#) by A2,A3,Th13;
  g*'f = LModMorphismStr(#G1,G3,g0*f0#) by A1,A2,Th13;
  then h*(g*f) = LModMorphismStr(#G1,G4,h0*(g0*f0)#) by A3,Th13
    .= LModMorphismStr(#G1,G4,(h0*g0)*f0#) by RELAT_1:36
    .= (h*g)*f by A1,A4,Th13;
  hence thesis;
end;
