reserve D for set;
reserve x,x0,x1,x2,y,y0,y1,y2,z,z0,z1,z2,r,s,t for Real;
reserve p,a,u,u0 for Element of REAL 3;
reserve n,m,k for Element of NAT;
reserve f,f1,f2,f3,g for PartFunc of REAL 3,REAL;
reserve R,R1,R2 for RestFunc;
reserve L,L1,L2 for LinearFunc;

theorem Th15:
  for f be PartFunc of REAL 3,REAL for u be Element of REAL 3 holds
  f is_partial_differentiable_in u,3 iff
  ex x0,y0,z0 being Real st u = <*x0,y0,z0*> &
  ex N being Neighbourhood of z0 st N c= dom SVF1(3,f,u) &
  ex L,R st for z st z in N holds
  SVF1(3,f,u).z - SVF1(3,f,u).z0 = L.(z-z0) + R.(z-z0)
proof
  let f be PartFunc of REAL 3,REAL;
  let u be Element of REAL 3;
  hereby assume A1: f is_partial_differentiable_in u,3;
  thus (ex x0,y0,z0 being Real st u = <*x0,y0,z0*> &
  ex N being Neighbourhood of z0 st N c= dom SVF1(3,f,u) &
  ex L,R st for z st z in N holds
  SVF1(3,f,u).z - SVF1(3,f,u).z0 = L.(z-z0) + R.(z-z0))
  proof
    consider x0,y0,z0 such that
A2: u = <*x0,y0,z0*> &
    SVF1(3,f,u) is_differentiable_in z0 by A1,Th9;
    ex N being Neighbourhood of z0 st N c= dom SVF1(3,f,u) &
    ex L,R st for z st z in N holds
    SVF1(3,f,u).z - SVF1(3,f,u).z0 = L.(z-z0) + R.(z-z0) by A2,FDIFF_1:def 4;
    hence thesis by A2;
  end;
  end;
    assume (ex x0,y0,z0 being Real st u = <*x0,y0,z0*> &
    ex N being Neighbourhood of z0 st N c= dom SVF1(3,f,u) &
    ex L,R st for z st z in N holds
    SVF1(3,f,u).z - SVF1(3,f,u).z0 = L.(z-z0) + R.(z-z0));
    then consider x0,y0,z0 such that
A3: u = <*x0,y0,z0*> & ex N being Neighbourhood of z0
    st N c= dom SVF1(3,f,u) & ex L,R st for z st z in N holds
    SVF1(3,f,u).z - SVF1(3,f,u).z0 = L.(z-z0) + R.(z-z0);
    consider N being Neighbourhood of z0 such that
A4: N c= dom SVF1(3,f,u) & ex L,R st for z st z in N holds
    SVF1(3,f,u).z - SVF1(3,f,u).z0 = L.(z-z0) + R.(z-z0) by A3;
    SVF1(3,f,u) is_differentiable_in z0 by A4,FDIFF_1:def 4;
    hence thesis by A3,Th9;
end;
