reserve p for Real;
reserve S,T for RealNormSpace;
reserve x0 for Point of S;
reserve f for PartFunc of S,T;
reserve c for constant sequence of S;
reserve R for RestFunc of S,T;

theorem
  for x0 be Point of S, z be Point of S holds ( f
is_Gateaux_differentiable_in x0,z iff ex N being Neighbourhood of x0 st ( N c=
dom f & ex dv be Point of T st
for h be 0-convergent non-zero Real_Sequence for c st
rng c = {x0} & rng (h*z+c) c= N holds h"(#)(f/*(h*z+c) - f/*c) is convergent &
  dv= lim (h"(#)(f/*(h*z+c) - f/*c)) ) )
proof
  let x0 be Point of S;
  let z be Point of S;
A1: now
    assume ex N being Neighbourhood of x0 st ( N c= dom f & ex dv be Point of
T st for h be 0-convergent non-zero Real_Sequence,
c st rng c = {x0} & rng (h*z+c) c=
N holds h"(#)(f/*(h*z+c) - f/*c) is convergent & dv= lim (h"(#)(f/*(h*z+c) - f
    /*c)) );
    then consider N being Neighbourhood of x0 such that
A2: N c= dom f and
A3: ex dv be Point of T st for h be 0-convergent non-zero Real_Sequence, c
st rng c = {x0} & rng (h*z+c) c= N holds h"(#)(f/*(h*z+c) - f/*c) is convergent
    & dv= lim (h"(#)(f/*(h*z+c) - f/*c));
    consider dv be Point of T such that
A4: for h be 0-convergent non-zero Real_Sequence, c st rng c = {x0} & rng (
h*z+c) c= N holds h"(#)(f/*(h*z+c) - f/*c) is convergent & dv= lim (h"(#)(f/*(h
    *z+c) - f/*c)) by A3;
    for e be Real st e > 0
holds ex d be Real st d > 0 & for h be Real st
|.h.| < d & h <> 0 & h*z+x0 in N holds ||. h"*(f/.(h*z+x0) - f/.x0) - dv .|| <
    e by A2,A4,Th3;
    hence f is_Gateaux_differentiable_in x0,z by A2;
  end;
  now
    assume f is_Gateaux_differentiable_in x0,z;
    then consider N being Neighbourhood of x0 such that
A5: N c= dom f and
A6: for e be Real st e > 0
    holds ex d be Real st d > 0 & for h be Real
    st |.h.| < d & h <> 0 & h*z+x0 in N holds ||. h"*(f/.(h*z+x0) - f/.x0) -
    Gateaux_diff(f,x0,z) .|| < e by Def4;
    for h be 0-convergent non-zero Real_Sequence,
    c st rng c = {x0} & rng (h*z+c
) c= N holds h"(#)(f/*(h*z+c) - f/*c) is convergent & Gateaux_diff(f,x0,z) =
    lim (h"(#)(f/*(h*z+c) - f/*c)) by A5,A6,Th3;
    hence ex N being Neighbourhood of x0 st ( N c= dom f & ex dv be Point of T
st for h be 0-convergent non-zero Real_Sequence,
c st rng c = {x0} & rng (h*z+c) c= N
holds h"(#)(f/*(h*z+c) - f/*c) is convergent & dv= lim (h"(#)(f/*(h*z+c) - f/*c
    )) ) by A5;
  end;
  hence thesis by A1;
end;
