reserve B,C,D for Category;

theorem Th33:
  for S1 being Contravariant_Functor of C,B, S2 being
  Contravariant_Functor of B,D holds S2*S1 is Functor of C,D
proof
  let S1 be Contravariant_Functor of C,B, S2 be Contravariant_Functor of B,D;
  set T = S2*S1;
  now
    thus for c being Object of C ex d being Object of D st T.(id c) = id d
    proof
      let c be Object of C;
      consider b being Object of B such that
A1:   S1.(id c) = id b by Def9;
      consider d being Object of D such that
A2:   S2.(id b) = id d by Def9;
      take d;
      thus thesis by A1,A2,FUNCT_2:15;
    end;
    thus for f being Morphism of C holds T.(id dom f) = id dom (T.f) & T.(id
    cod f) = id cod (T.f)
    proof
      let f be Morphism of C;
      thus T.(id dom f) = S2.(S1.(id dom f)) by FUNCT_2:15
        .= S2.(id cod (S1.f)) by Def9
        .= id dom (S2.((S1.f))) by Def9
        .= id dom (T.f) by FUNCT_2:15;
      thus T.(id cod f) = S2.(S1.(id cod f)) by FUNCT_2:15
        .= S2.(id dom (S1.f)) by Def9
        .= id cod (S2.((S1.f))) by Def9
        .= id cod (T.f) by FUNCT_2:15;
    end;
    let f,g be Morphism of C;
    assume
A3: dom g = cod f;
    then
A4: cod (S1.g) = dom(S1.f) by Th31;
    thus T.(g(*)f) = S2.(S1.(g(*)f)) by FUNCT_2:15
      .= S2.((S1.f)(*)(S1.g)) by A3,Def9
      .= (S2.(S1.g))(*)(S2.(S1.f)) by A4,Def9
      .= (T.g)(*)(S2.(S1.f)) by FUNCT_2:15
      .= (T.g)(*)(T.f) by FUNCT_2:15;
  end;
  hence thesis by CAT_1:61;
end;
