reserve V for non empty set,
  A,B,A9,B9 for Element of V;
reserve f,f9 for Element of Funcs(V);
reserve m,m1,m2,m3,m9 for Element of Maps V;
reserve a,b for Object of Ens(V);
reserve f,g,f1,f2 for Morphism of Ens(V);
reserve C for Category,
  a,b,a9,b9,c for Object of C,
  f,g,h,f9,g9 for Morphism of C;

theorem Th48:
  Hom(C) c= V implies hom?-(a) is Functor of C,Ens(V)
proof
  assume
A1: Hom(C) c= V;
  then reconsider
  T = hom?-(a) as Function of the carrier' of C, the carrier' of
  Ens V by Lm8;
  now
    thus for c being Object of C ex d being Object of Ens V st T.(id c) = id d
    proof
      let c be Object of C;
      Hom(a,c) in Hom(C);
      then reconsider A = Hom(a,c) as Element of V by A1;
      take d = @A;
      thus thesis by A1,Lm9;
    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;
      set b = dom f, c = cod f;
      set g = T.f;
      Hom(a,b) in Hom(C) & Hom(a,c) in Hom(C);
      then reconsider A = Hom(a,b), B = Hom(a,c) as Element of V by A1;
A2:   [[Hom(a,b),Hom(a,c)],hom(a,f)] = @g by Def20
        .= [[dom(@g), cod(@g)],(@g)`2] by Th8
        .= [[dom g, cod(@g)],(@g)`2] by Def9
        .= [[dom g, cod g],(@g)`2] by Def10;
      thus T.(id b) = id @A by A1,Lm9
        .= id dom (T.f) by A2,Lm1;
      thus T.(id c) = id @B by A1,Lm9
        .= id cod (T.f) by A2,Lm1;
    end;
    let f,g be Morphism of C such that
A3: dom g = cod f;
A4: [[Hom(a,dom g),Hom(a,cod g)],hom(a,g)] = @(T.g) by Def20
      .= [[dom(@(T.g)),cod(@(T.g))],(@(T.g))`2] by Th8
      .= [[dom(T.g),cod(@(T.g))],(@(T.g))`2] by Def9
      .= [[dom(T.g),cod(T.g)],(@(T.g))`2] by Def10;
    then
A5: (@(T.g))`2=hom(a,g) by XTUPLE_0:1;
    cod(T.g)=Hom(a,cod g ) by A4,Lm1;
    then
A6: cod(@(T.g))=Hom(a,cod g) by Def10;
A7: dom(T.g)=Hom(a,dom g) by A4,Lm1;
    then
A8: dom(@(T.g))=Hom(a,dom g) by Def9;
A9: [[Hom(a,dom f),Hom(a,cod f)],hom(a,f)] = @(T.f) by Def20
      .= [[dom(@(T.f)),cod(@(T.f))],(@(T.f))`2] by Th8
      .= [[dom(T.f),cod(@(T.f))],(@(T.f))`2] by Def9
      .= [[dom(T.f),cod(T.f)],(@(T.f))`2] by Def10;
    then
A10: (@(T.f))`2=hom(a,f) by XTUPLE_0:1;
    dom(T.f)=Hom(a,dom f) by A9,Lm1;
    then
A11: dom(@(T.f))=Hom(a,dom f) by Def9;
A12: cod(T.f)=Hom(a,cod f ) by A9,Lm1;
    then
A13: cod(@(T.f))=Hom(a,cod f) by Def10;
    dom(g(*)f) = dom f & cod(g(*)f) = cod g by A3,CAT_1:17;
    hence T.(g(*)f) = [[Hom(a,dom(f)),Hom(a,cod(g))],hom(a,g(*)f)] by Def20
      .= [[Hom(a,dom(f)),Hom(a,cod(g))],hom(a,g)*hom(a,f)] by A3,Th44
      .= (@(T.g))*(@(T.f)) by A3,A10,A11,A13,A5,A8,A6,Def6
      .= (T.g)(*)(T.f) by A3,A12,A7,Th27;
  end;
  hence thesis by CAT_1:61;
end;
