reserve x,x0,x1,x2,y,y0,y1,y2,r,r1,s,p,p1 for Real;
reserve z,z0 for Element of REAL 2;
reserve n,m,k for Element of NAT;
reserve Z for Subset of REAL 2;
reserve s1 for Real_Sequence;
reserve f,f1,f2 for PartFunc of REAL 2,REAL;
reserve R,R1,R2 for RestFunc;
reserve L,L1,L2 for LinearFunc;

theorem Th12:
  z = <*x0,y0*> & f is_partial_differentiable_in z,2 implies (r =
  partdiff(f,z,2) iff
 ex x0,y0 being Real st z = <*x0,y0*> & ex N being
Neighbourhood of y0 st N c= dom SVF1(2,f,z) & ex L,R st r = L.1 & for y st y in
  N holds SVF1(2,f,z).y - SVF1(2,f,z).y0 = L.(y-y0) + R.(y-y0))
proof
  assume that
A1: z = <*x0,y0*> and
A2: f is_partial_differentiable_in z,2;
  hereby
    assume r = partdiff(f,z,2);
    then r = diff(SVF1(2,f,z),y0) by A1,Th2;
    hence
    ex x0,y0 being Real
   st z = <*x0,y0*> & ex N being Neighbourhood of y0
st N c= dom SVF1(2,f,z) & ex L,R st r = L.1 & for y st y in N holds SVF1(2,f,z)
    .y - SVF1(2,f,z).y0 = L.(y-y0) + R.(y-y0) by A1,A2,Lm2;
  end;
  given x1,y1 being Real such that
A3: z = <*x1,y1*> & ex N being Neighbourhood of y1 st N c= dom SVF1(2,f,
z) & ex L,R st r = L.1 & for y st y in N holds SVF1(2,f,z).y - SVF1(2,f,z).y1 =
  L.(y-y1 ) + R.(y- y1);
  r = diff(SVF1(2,f,z),y0) by A1,A2,A3,Lm2;
  hence thesis by A1,Th2;
end;
