reserve B,C,D,C9,D9 for Category;
reserve E for Subcategory of C;

theorem
  for L being Function of the carrier of C,Funct(B,D),
      M being Function of the carrier of B,Funct(C,D)
   st ex S being Functor of [:B,C:],D st
    for c being Object of C,b being Object of B
     holds S-?c = L.c & S?-b = M.b
  for f being Morphism of B for g being Morphism of C
   holds ((M.(cod f)).g)(*)((L.(dom g)).f) =
     ((L.(cod g)).f)(*)((M.(dom f)).g)
proof
  let L be Function of the carrier of C,Funct(B,D), M be Function of the
  carrier of B,Funct(C,D);
  given S be Functor of [:B,C:],D such that
A1: for c being Object of C, b being Object of B holds S-?c = L.c & S?-b = M.b;
  let f be Morphism of B;
  let g be Morphism of C;
  dom id cod f = cod f;
  then
A2: dom [id cod f,g] = [cod f,dom g] by Th22;
  cod id dom g = dom g;
  then
A3: cod [f,id dom g] = [cod f, dom g] by Th22;
  cod id dom f = dom f;
  then
A4: cod [id dom f,g] = [dom f,cod g] by Th22;
  dom id cod g = cod g;
  then
A5: dom [f,id cod g] = [dom f,cod g] by Th22;
  thus ((M.(cod f)).g)(*)((L.(dom g)).f)
     = ((S?-(cod f)).g)(*)((L.(dom g)).f) by A1
    .= ((S?-(cod f)).g)(*)((S-?(dom g)).f) by A1
    .= (S.(id cod f,g))(*)((S-?(dom g)).f) by FUNCT_5:69
    .= (S.(id cod f,g))(*)(S.(f,id dom g)) by FUNCT_5:70
    .= S.([id cod f,g](*)[f,id dom g]) by A2,A3,CAT_1:64
    .= S.[(id cod f)(*)f,g(*)(id dom g)] by A2,A3,Th24
    .= S.[f,g(*)(id dom g)] by CAT_1:21
    .= S.[f,g] by CAT_1:22
    .= S.[f(*)(id dom f),g] by CAT_1:22
    .= S.[f(*)(id dom f),(id cod g)(*)g ] by CAT_1:21
    .= S.([f,id cod g](*)[id dom f,g]) by A5,A4,Th24
    .= (S.(f,id cod g))(*)(S.[id dom f,g]) by A5,A4,CAT_1:64
    .= ((S-?(cod g)).f)(*)(S.(id dom f,g)) by FUNCT_5:70
    .= ((S-?(cod g)).f)(*)((S?-(dom f)).g) by FUNCT_5:69
    .= ((L.(cod g)).f)(*)((S?-(dom f)).g) by A1
    .= ((L.(cod g)).f)(*)((M.(dom f)).g) by A1;
end;
