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 Th24:
  x in dom curry f & g = (curry f).x implies dom g = proj2 (dom f
/\ [:{x},proj2 dom f:]) & dom g c= proj2 dom f & rng g c= rng f & for y st y in
  dom g holds g.y = f.(x,y) & [x,y] in dom f
proof
  assume that
A1: x in dom curry f and
A2: g = (curry f).x;
  dom curry f = proj1 dom f by Def1;
  then consider h such that
A3: (curry f).x = h and
A4: dom h = proj2 (dom f /\ [:{x},proj2 dom f:]) and
A5: for y st y in dom h holds h.y = f.(x,y) by A1,Def1;
  thus dom g = proj2 (dom f /\ [:{x},proj2 dom f:]) by A2,A3,A4;
  dom f /\ [:{x},proj2 dom f:] c= dom f by XBOOLE_1:17;
  hence dom g c= proj2 dom f by A2,A3,A4,XTUPLE_0:9;
  thus rng g c= rng f
  proof
    let y be object;
    assume y in rng g;
    then consider z being object such that
A6: z in dom g and
A7: y = g.z by FUNCT_1:def 3;
    consider t being object such that
A8: [t,z] in dom f /\ [:{x},proj2 dom f:] by A2,A3,A4,A6,XTUPLE_0:def 13;
    [t,z] in dom f & [t,z] in [:{x},proj2 dom f:] by A8,XBOOLE_0:def 4;
    then
A9: [x,z] in dom f by ZFMISC_1:105;
    h.z = f.(x,z) by A2,A3,A5,A6;
    hence thesis by A2,A3,A7,A9,FUNCT_1:def 3;
  end;
  let y;
  assume
A10: y in dom g;
  then consider t being object such that
A11: [t,y] in dom f /\ [:{x},proj2 dom f:] by A2,A3,A4,XTUPLE_0:def 13;
  [t,y] in dom f & [t,y] in [:{x},proj2 dom f:] by A11,XBOOLE_0:def 4;
  hence thesis by A2,A3,A5,A10,ZFMISC_1:105;
end;
