reserve m,n for non zero Element of NAT;
reserve i,j,k for Element of NAT;
reserve Z for set;

theorem
for X be Subset of REAL m, f be PartFunc of REAL m,REAL st
 X is open & X c= dom f holds
  ( ( for i be Nat st 1 <= i & i <= m holds
     f is_partial_differentiable_on X,i &
     f`partial|(X,i) is_continuous_on X )
        iff
    ( f is_differentiable_on X
    & for x0 be Element of REAL m,r be Real st x0 in X & 0 < r
       ex s be Real st
         0 < s
       & for x1 be Element of REAL m st x1 in X & |. x1- x0 .| < s holds
          for v be Element of REAL m
            holds |. diff(f,x1).v - diff(f,x0).v.| <= r * |.v.| ) )
proof
   let X be Subset of REAL m, f be PartFunc of REAL m,REAL;
   set g = <>*f;
   assume A1: X is open & X c= dom f; then
A2:X c= dom g by Th3;
   hereby assume
A3: for i be Nat st 1 <= i & i <= m holds
     f is_partial_differentiable_on X,i &
     f`partial|(X,i) is_continuous_on X;
A4: for i be Nat st 1 <= i & i <= m holds
     g is_partial_differentiable_on X,i &
     g`partial|(X,i) is_continuous_on X
    proof
     let i be Nat;
     assume A5: 1 <= i & i <= m; then
     f is_partial_differentiable_on X,i
   & f`partial|(X,i) is_continuous_on X by A3;
     hence g is_partial_differentiable_on X,i
       & g`partial|(X,i) is_continuous_on X by A1,Th61,Th62,A5;
    end; then
    g is_differentiable_on X by Th26,A1,A2;
    hence f is_differentiable_on X by Th53;
    thus for x0 be Element of REAL m,r be Real
        st x0 in X & 0 < r
          ex s be Real
            st 0 < s & for x1 be Element of REAL m
             st x1 in X & |. x1- x0 .| < s
               holds for v be Element of REAL m
                 holds |. diff(f,x1).v  - diff(f,x0).v.| <= r * |.v.|
    proof
     let x0 be Element of REAL m,r be Real;
     assume x0 in X & 0 < r; then
     consider s be Real such that
A6:   0 < s
    & for x1 be Element of REAL m st x1 in X & |. x1- x0 .| < s holds
       for v be Element of REAL m holds
        |. diff(g,x1).v - diff(g,x0).v.| <= r * |.v.| by A4,Th26,A1,A2;
     take s;
     thus 0 < s by A6;
     let x1 be Element of REAL m;
     assume A7: x1 in X & |. x1- x0 .| < s;
     let v be Element of REAL m;
     |. diff(g,x1).v  - diff(g,x0).v.| <= r * |.v.| by A7,A6;
     hence |. diff(f,x1).v - diff(f,x0).v.| <= r * |.v.| by Lm4;
    end;
   end;
   now assume
A8: f is_differentiable_on X &
    for x0 be Element of REAL m,r be Real st x0 in X & 0 < r
     ex s be Real st 0 < s
     & for x1 be Element of REAL m st x1 in X & |. x1- x0 .| < s holds
        for v be Element of REAL m
          holds |. diff(f,x1).v - diff(f,x0).v.| <= r * |.v.|; then
A9: g is_differentiable_on X by A1,Th53;
A10: for x0 be Element of REAL m,r be Real st x0 in X & 0 < r
     ex s be Real
      st 0 < s
       & for x1 be Element of REAL m st x1 in X & |. x1- x0 .| < s
          holds for v be Element of REAL m
            holds |. diff(g,x1).v  - diff(g,x0).v.| <= r * |.v.|
    proof
     let x0 be Element of REAL m,r be Real;
     assume x0 in X & 0 < r; then
     consider s be Real such that
A11:   0 < s & for x1 be Element of REAL m st x1 in X & |. x1- x0 .| < s
       holds for v be Element of REAL m
        holds |. diff(f,x1).v  - diff(f,x0).v.| <= r * |.v.| by A8;
     take s;
     thus 0 < s by A11;
     let x1 be Element of REAL m;
     assume A12: x1 in X & |. x1- x0 .| < s;
     let v be Element of REAL m;
     |. diff(f,x1).v - diff(f,x0).v.| <= r * |.v.| by A12,A11;
     hence |. diff(g,x1).v - diff(g,x0).v.| <= r * |.v.| by Lm4;
    end;
    thus for i be Nat st 1 <= i & i <= m holds
     f is_partial_differentiable_on X,i & f`partial|(X,i) is_continuous_on X
    proof
     let i be Nat;
     assume A13: 1 <= i & i <= m; then
A14:  g is_partial_differentiable_on X,i &
     g`partial|(X,i) is_continuous_on X by A10,Th26,A2,A1,A9;
     hence f is_partial_differentiable_on X,i by A13,Th61,A1;
     hence f`partial|(X,i) is_continuous_on X by A13,A14,Th62,A1;
    end;
   end;
   hence thesis;
end;
