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 Th16:
  u = <*x0,y0,z0*> & f is_partial_differentiable_in u,1 implies
  (r = partdiff(f,u,1) iff
  ex x0,y0,z0 being Real st u = <*x0,y0,z0*> &
  ex N being Neighbourhood of x0 st N c= dom SVF1(1,f,u) &
  ex L,R st r = L.1 & for x st x in N holds
  SVF1(1,f,u).x - SVF1(1,f,u).x0 = L.(x-x0) + R.(x-x0))
proof
  assume A1:u = <*x0,y0,z0*> & f is_partial_differentiable_in u,1;
  hereby assume r = partdiff(f,u,1); then
  r = diff(SVF1(1,f,u),x0) by Th1,A1;
  hence ex x0,y0,z0 being Real st u = <*x0,y0,z0*> &
  ex N being Neighbourhood of x0 st N c= dom SVF1(1,f,u) &
  ex L,R st r = L.1 & for x st x in N holds
  SVF1(1,f,u).x - SVF1(1,f,u).x0 = L.(x-x0) + R.(x-x0) by Lm1,A1;
  end;
  given x1,y1,z1 being Real such that
A2: u = <*x1,y1,z1*> & ex N being Neighbourhood of x1 st N c= dom SVF1(1,f,u) &
  ex L,R st r = L.1 & for x st x in N holds
  SVF1(1,f,u).x - SVF1(1,f,u).x1 = L.(x-x1) + R.(x-x1);
  r = diff(SVF1(1,f,u),x0) by A2,A1,Lm1;
  hence thesis by Th1,A1;
end;
