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