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 Th56:
  hom?-(a) = (curry (hom??(C))).(id a) & hom-?(a) = (curry' (hom?? (C))).(id a)
proof
  reconsider T = hom??(C) as Function of [:the carrier' of C,the carrier' of C
  :],Maps(Hom(C));
  now
    let f;
    thus ((curry T).(id a)).f = T.(id a,f) by FUNCT_5:69
      .= [[Hom(cod id a,dom f),Hom(dom id a,cod f)],hom(id a,f)] by Def23
      .= [[Hom(cod id a,dom f),Hom(dom id a,cod f)],hom(a,f)] by Th52
      .= [[Hom(a,dom f),Hom(dom id a,cod f)],hom(a,f)]
      .= [[Hom(a,dom f),Hom(a,cod f)],hom(a,f)]
      .= (hom?-(a)).f by Def20;
  end;
  hence hom?-(a) = (curry (hom??(C))).(id a) by FUNCT_2:63;
  now
    let f;
    thus ((curry' T).(id a)).f = T.(f,id a) by FUNCT_5:70
      .= [[Hom(cod f,dom id a),Hom(dom f,cod id a)],hom(f,id a)] by Def23
      .= [[Hom(cod f,dom id a),Hom(dom f,cod id a)],hom(f,a)] by Th52
      .= [[Hom(cod f,a),Hom(dom f,cod id a)],hom(f,a)]
      .= [[Hom(cod f,a),Hom(dom f,a)],hom(f,a)]
      .= (hom-?(a)).f by Def21;
  end;
  hence thesis by FUNCT_2:63;
end;
