reserve X,Y,Z,X1,X2,Y1,Y2 for set, x,y,z,t,x1,x2 for object,
  f,g,h,f1,f2,g1,g2 for Function;

theorem
  x in dom curry' f & g = (curry' f).x implies dom g = proj1 (dom f /\
  [:proj1 dom f,{x}:]) & dom g c= proj1 dom f & rng g c= rng f & for y st y in
  dom g holds g.y = f.(y,x) & [y,x] in dom f
proof
A1: rng ~f c= rng f by FUNCT_4:41;
  assume
A2: x in dom curry' f & g = (curry' f).x;
  then dom g = proj2 (dom ~f /\ [:{x},proj2 dom ~f:]) by Th24;
  then
A3: dom g = proj2 (dom ~f /\ [:{x},proj1 dom f:]) by Th11;
  thus
A4: dom g c= proj1 (dom f /\ [:proj1 dom f,{x}:])
  proof
    let z be object;
    assume z in dom g;
    then consider y being object such that
A5: [y,z] in dom ~f /\ [:{x},proj1 dom f:] by A3,XTUPLE_0:def 13;
    [y,z] in [:{x},proj1 dom f:] by A5,XBOOLE_0:def 4;
    then
A6: [z,y] in [:proj1 dom f,{x}:] by ZFMISC_1:88;
    [y,z] in dom ~f by A5,XBOOLE_0:def 4;
    then [z,y] in dom f by FUNCT_4:42;
    then [z,y] in dom f /\ [:proj1 dom f,{x}:] by A6,XBOOLE_0:def 4;
    hence thesis by XTUPLE_0:def 12;
  end;
  thus proj1 (dom f /\ [:proj1 dom f,{x}:]) c= dom g
  proof
    let z be object;
    assume z in proj1 (dom f /\ [:proj1 dom f,{x}:]);
    then consider y being object such that
A7: [z,y] in dom f /\ [:proj1 dom f,{x}:] by XTUPLE_0:def 12;
    [z,y] in [:proj1 dom f,{x}:] by A7,XBOOLE_0:def 4;
    then
A8: [y,z] in [:{x},proj1 dom f:] by ZFMISC_1:88;
    [z,y] in dom f by A7,XBOOLE_0:def 4;
    then [y,z] in dom ~f by FUNCT_4:42;
    then [y,z] in dom ~f /\ [:{x},proj1 dom f:] by A8,XBOOLE_0:def 4;
    hence thesis by A3,XTUPLE_0:def 13;
  end;
  dom g c= proj2 dom ~f & rng g c= rng ~f by A2,Th24;
  hence dom g c= proj1 dom f & rng g c= rng f by A1,Th11;
  let y;
  assume
A9: y in dom g;
  then consider z being object such that
A10: [y,z] in dom f /\ [:proj1 dom f,{x}:] by A4,XTUPLE_0:def 12;
  [y,z] in [:proj1 dom f,{x}:] by A10,XBOOLE_0:def 4;
  then
A11: z = x by ZFMISC_1:106;
  [y,z] in dom f by A10,XBOOLE_0:def 4;
  then [z,y] in dom ~f by FUNCT_4:42;
  then (~f).(x,y) = f.(y,x) by A11,FUNCT_4:43;
  hence thesis by A2,A9,A10,A11,Th24,XBOOLE_0:def 4;
end;
