let n be non zero Element of NAT ; :: thesis: for Z being open Subset of REAL
for f being PartFunc of REAL,(REAL n) st Z c= dom f & ex r being Element of REAL n st rng f = {r} holds
( f is_differentiable_on Z & ( for x being Real st x in Z holds
(f `| Z) /. x = 0* n ) )

let Z be open Subset of REAL; :: thesis: for f being PartFunc of REAL,(REAL n) st Z c= dom f & ex r being Element of REAL n st rng f = {r} holds
( f is_differentiable_on Z & ( for x being Real st x in Z holds
(f `| Z) /. x = 0* n ) )

let f be PartFunc of REAL,(REAL n); :: thesis: ( Z c= dom f & ex r being Element of REAL n st rng f = {r} implies ( f is_differentiable_on Z & ( for x being Real st x in Z holds
(f `| Z) /. x = 0* n ) ) )

assume A1: Z c= dom f ; :: thesis: ( for r being Element of REAL n holds not rng f = {r} or ( f is_differentiable_on Z & ( for x being Real st x in Z holds
(f `| Z) /. x = 0* n ) ) )

given r being Element of REAL n such that A2: rng f = {r} ; :: thesis: ( f is_differentiable_on Z & ( for x being Real st x in Z holds
(f `| Z) /. x = 0* n ) )

reconsider g = f as PartFunc of REAL,() by REAL_NS1:def 4;
A3: r is Point of () by REAL_NS1:def 4;
then A4: ( g is_differentiable_on Z & ( for x being Real st x in Z holds
(g `| Z) /. x = 0. () ) ) by ;
A5: now :: thesis: for x being Real st x in Z holds
f | Z is_differentiable_in x
end;
then A6: f is_differentiable_on Z by A1;
now :: thesis: for x being Real st x in Z holds
(f `| Z) /. x = 0* n
let x be Real; :: thesis: ( x in Z implies (f `| Z) /. x = 0* n )
assume A7: x in Z ; :: thesis: (f `| Z) /. x = 0* n
then A8: (g `| Z) /. x = 0. () by ;
x in dom (g `| Z) by ;
then A9: (g `| Z) . x = 0. () by ;
A10: (g `| Z) . x = diff (g,x) by ;
A11: (f `| Z) . x = diff (f,x) by A7, A6, Def4;
diff (f,x) = diff (g,x) by Th3;
then A12: (f `| Z) . x = 0* n by ;
x in dom (f `| Z) by A6, Def4, A7;
hence (f `| Z) /. x = 0* n by ; :: thesis: verum
end;
hence ( f is_differentiable_on Z & ( for x being Real st x in Z holds
(f `| Z) /. x = 0* n ) ) by A5, A1; :: thesis: verum