let S, T be non trivial RealNormSpace; :: thesis: for f being PartFunc of S,T
for x0 being Point of S
for N being Neighbourhood of x0 st N c= dom f holds
for z being Point of S
for dv being Point of T holds
( ( for h being convergent_to_0 Real_Sequence
for c being V8() sequence of S 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))) ) ) iff for e being Real st e > 0 holds
ex d being Real st
( d > 0 & ( for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < e ) ) )

let f be PartFunc of S,T; :: thesis: for x0 being Point of S
for N being Neighbourhood of x0 st N c= dom f holds
for z being Point of S
for dv being Point of T holds
( ( for h being convergent_to_0 Real_Sequence
for c being V8() sequence of S 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))) ) ) iff for e being Real st e > 0 holds
ex d being Real st
( d > 0 & ( for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < e ) ) )

let x0 be Point of S; :: thesis: for N being Neighbourhood of x0 st N c= dom f holds
for z being Point of S
for dv being Point of T holds
( ( for h being convergent_to_0 Real_Sequence
for c being V8() sequence of S 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))) ) ) iff for e being Real st e > 0 holds
ex d being Real st
( d > 0 & ( for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < e ) ) )

let N be Neighbourhood of x0; :: thesis: ( N c= dom f implies for z being Point of S
for dv being Point of T holds
( ( for h being convergent_to_0 Real_Sequence
for c being V8() sequence of S 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))) ) ) iff for e being Real st e > 0 holds
ex d being Real st
( d > 0 & ( for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < e ) ) ) )

assume A1: N c= dom f ; :: thesis: for z being Point of S
for dv being Point of T holds
( ( for h being convergent_to_0 Real_Sequence
for c being V8() sequence of S 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))) ) ) iff for e being Real st e > 0 holds
ex d being Real st
( d > 0 & ( for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < e ) ) )

let z be Point of S; :: thesis: for dv being Point of T holds
( ( for h being convergent_to_0 Real_Sequence
for c being V8() sequence of S 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))) ) ) iff for e being Real st e > 0 holds
ex d being Real st
( d > 0 & ( for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < e ) ) )

let dv be Point of T; :: thesis: ( ( for h being convergent_to_0 Real_Sequence
for c being V8() sequence of S 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))) ) ) iff for e being Real st e > 0 holds
ex d being Real st
( d > 0 & ( for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < e ) ) )

A2: now
assume A3: for h being convergent_to_0 Real_Sequence
for c being V8() sequence of S 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))) ) ; :: thesis: ( ex r being Real st
( r > 0 & ( for d being Real holds
( not d > 0 or ex h being Real st
( abs h < d & h <> 0 & (h * z) + x0 in N & not ||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < r ) ) ) ) implies for e being Real st e > 0 holds
ex d being Real st
( d > 0 & ( for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < e ) ) )

assume ex r being Real st
( r > 0 & ( for d being Real holds
( not d > 0 or ex h being Real st
( abs h < d & h <> 0 & (h * z) + x0 in N & not ||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < r ) ) ) ) ; :: thesis: for e being Real st e > 0 holds
ex d being Real st
( d > 0 & ( for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < e ) )

then consider r being Real such that
A4: r > 0 and
A5: for d being Real st d > 0 holds
ex h being Real st
( abs h < d & h <> 0 & (h * z) + x0 in N & not ||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < r ) ;
defpred S1[ Nat, real number ] means ex rr being Real st
( rr = $2 & abs rr < 1 / ($1 + 1) & rr <> 0 & (rr * z) + x0 in N & not ||.(((rr " ) * ((f /. ((rr * z) + x0)) - (f /. x0))) - dv).|| < r );
A6: for n being Element of NAT ex h being Real st S1[n,h]
proof
let n be Element of NAT ; :: thesis: ex h being Real st S1[n,h]
0 <= n by NAT_1:2;
then 0 + 0 < 1 + n ;
then 0 < 1 * ((n + 1) " ) ;
then 0 < 1 / (n + 1) by XCMPLX_0:def 9;
then consider h being Real such that
A7: ( abs h < 1 / (n + 1) & h <> 0 & (h * z) + x0 in N & not ||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < r ) by A5;
thus ex h being Real st S1[n,h] by A7; :: thesis: verum
end;
consider h being Real_Sequence such that
A8: for n being Element of NAT holds S1[n,h . n] from FUNCT_2:sch 3(A6);
reconsider c = NAT --> x0 as sequence of S ;
A9: rng c = {x0}
proof
now
let x be set ; :: thesis: ( x in rng c implies x in {x0} )
assume x in rng c ; :: thesis: x in {x0}
then consider n being Element of NAT such that
A10: x = c . n by NFCONT_1:6;
x = x0 by A10, FUNCOP_1:13;
hence x in {x0} by TARSKI:def 1; :: thesis: verum
end;
then A11: rng c c= {x0} by TARSKI:def 3;
now
let x be set ; :: thesis: ( x in {x0} implies x in rng c )
assume x in {x0} ; :: thesis: x in rng c
then x = x0 by TARSKI:def 1;
then x = c . 1 by FUNCOP_1:13;
hence x in rng c by NFCONT_1:6; :: thesis: verum
end;
then {x0} c= rng c by TARSKI:def 3;
hence rng c = {x0} by A11, XBOOLE_0:def 10; :: thesis: verum
end;
x0 in N by NFCONT_1:4;
then A12: rng c c= dom f by A1, A9, ZFMISC_1:37;
A13: now
let p be real number ; :: thesis: ( 0 < p implies ex n being Element of NAT st
for m being Element of NAT st n <= m holds
abs ((h . m) - 0 ) < p )

assume 0 < p ; :: thesis: ex n being Element of NAT st
for m being Element of NAT st n <= m holds
abs ((h . m) - 0 ) < p

then A14: 0 < p " ;
consider n being Element of NAT such that
A15: p " < n by SEQ_4:10;
(p " ) + 0 < n + 1 by A15, XREAL_1:10;
then 1 / (n + 1) < 1 / (p " ) by A14, XREAL_1:78;
then A16: 1 / (n + 1) < p by XCMPLX_1:218;
take n = n; :: thesis: for m being Element of NAT st n <= m holds
abs ((h . m) - 0 ) < p

let m be Element of NAT ; :: thesis: ( n <= m implies abs ((h . m) - 0 ) < p )
assume n <= m ; :: thesis: abs ((h . m) - 0 ) < p
then A17: n + 1 <= m + 1 by XREAL_1:8;
0 <= n by NAT_1:2;
then 0 + 0 < 1 + n ;
then A18: 1 / (m + 1) <= 1 / (n + 1) by A17, XREAL_1:120;
S1[m,h . m] by A8;
then abs ((h . m) - 0 ) < 1 / (n + 1) by A18, XXREAL_0:2;
hence abs ((h . m) - 0 ) < p by A16, XXREAL_0:2; :: thesis: verum
end;
then A19: h is convergent by SEQ_2:def 6;
then A20: lim h = 0 by A13, SEQ_2:def 7;
for n being Element of NAT holds h . n <> 0
proof
let n be Element of NAT ; :: thesis: h . n <> 0
S1[n,h . n] by A8;
hence h . n <> 0 ; :: thesis: verum
end;
then h is non-zero by SEQ_1:7;
then reconsider h = h as convergent_to_0 Real_Sequence by A19, A20, FDIFF_1:def 1;
A21: rng ((h * z) + c) c= N
proof
now
let x be set ; :: thesis: ( x in rng ((h * z) + c) implies x in N )
assume x in rng ((h * z) + c) ; :: thesis: x in N
then consider n being Element of NAT such that
A22: x = ((h * z) + c) . n by NFCONT_1:6;
A23: S1[n,h . n] by A8;
x = ((h * z) . n) + (c . n) by A22, NORMSP_1:def 5
.= ((h . n) * z) + (c . n) by NDIFF_1:def 3
.= ((h . n) * z) + x0 by FUNCOP_1:13 ;
hence x in N by A23; :: thesis: verum
end;
hence rng ((h * z) + c) c= N by TARSKI:def 3; :: thesis: verum
end;
then ( (h " ) (#) ((f /* ((h * z) + c)) - (f /* c)) is convergent & dv = lim ((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) ) by A3, A9;
then consider n being Element of NAT such that
A24: for m being Element of NAT st n <= m holds
||.((((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) . m) - dv).|| < r by A4, NORMSP_1:def 11;
A25: S1[n,h . n] by A8;
||.((((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) . n) - dv).|| = ||.((((h " ) . n) * (((f /* ((h * z) + c)) - (f /* c)) . n)) - dv).|| by NDIFF_1:def 2
.= ||.((((h . n) " ) * (((f /* ((h * z) + c)) - (f /* c)) . n)) - dv).|| by VALUED_1:10
.= ||.((((h . n) " ) * (((f /* ((h * z) + c)) . n) - ((f /* c) . n))) - dv).|| by NORMSP_1:def 6
.= ||.((((h . n) " ) * (((f /* ((h * z) + c)) . n) - (f /. (c . n)))) - dv).|| by A12, FUNCT_2:186
.= ||.((((h . n) " ) * (((f /* ((h * z) + c)) . n) - (f /. x0))) - dv).|| by FUNCOP_1:13
.= ||.((((h . n) " ) * ((f /. (((h * z) + c) . n)) - (f /. x0))) - dv).|| by A1, A21, FUNCT_2:186, XBOOLE_1:1
.= ||.((((h . n) " ) * ((f /. (((h * z) . n) + (c . n))) - (f /. x0))) - dv).|| by NORMSP_1:def 5
.= ||.((((h . n) " ) * ((f /. (((h * z) . n) + x0)) - (f /. x0))) - dv).|| by FUNCOP_1:13
.= ||.((((h . n) " ) * ((f /. (((h . n) * z) + x0)) - (f /. x0))) - dv).|| by NDIFF_1:def 3 ;
hence for e being Real st e > 0 holds
ex d being Real st
( d > 0 & ( for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < e ) ) by A24, A25; :: thesis: verum
end;
now
assume A26: for e being Real st e > 0 holds
ex d being Real st
( d > 0 & ( for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < e ) ) ; :: thesis: for h being convergent_to_0 Real_Sequence
for c being V8() sequence of S 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))) )

now
let h be convergent_to_0 Real_Sequence; :: thesis: for c being V8() sequence of S st rng c = {x0} & rng ((h * z) + c) c= N holds
( (h " ) (#) ((f /* ((h * z) + c)) - (f /* c)) is convergent & lim ((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) = dv )

let c be V8() sequence of S; :: thesis: ( rng c = {x0} & rng ((h * z) + c) c= N implies ( (h " ) (#) ((f /* ((h * z) + c)) - (f /* c)) is convergent & lim ((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) = dv ) )
assume that
A27: rng c = {x0} and
A28: rng ((h * z) + c) c= N ; :: thesis: ( (h " ) (#) ((f /* ((h * z) + c)) - (f /* c)) is convergent & lim ((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) = dv )
A29: for n being Element of NAT holds c . n = x0
proof
let n be Element of NAT ; :: thesis: c . n = x0
c . n in rng c by NFCONT_1:6;
hence c . n = x0 by A27, TARSKI:def 1; :: thesis: verum
end;
x0 in N by NFCONT_1:4;
then A30: rng c c= dom f by A1, A27, ZFMISC_1:37;
A31: h is non-zero by FDIFF_1:def 1;
A32: ( h is convergent & lim h = 0 ) by FDIFF_1:def 1;
A33: now
let r be Real; :: thesis: ( r > 0 implies ex n being Element of NAT st
for m being Element of NAT st n <= m holds
||.((((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) . m) - dv).|| < r )

assume A34: r > 0 ; :: thesis: ex n being Element of NAT st
for m being Element of NAT st n <= m holds
||.((((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) . m) - dv).|| < r

consider d being Real such that
A35: d > 0 and
A36: for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < r by A26, A34;
consider n being Element of NAT such that
A37: for m being Element of NAT st n <= m holds
abs ((h . m) - 0 ) < d by A32, A35, SEQ_2:def 7;
take n = n; :: thesis: for m being Element of NAT st n <= m holds
||.((((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) . m) - dv).|| < r

thus for m being Element of NAT st n <= m holds
||.((((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) . m) - dv).|| < r :: thesis: verum
proof
let m be Element of NAT ; :: thesis: ( n <= m implies ||.((((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) . m) - dv).|| < r )
assume n <= m ; :: thesis: ||.((((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) . m) - dv).|| < r
then A38: abs ((h . m) - 0 ) < d by A37;
A39: h . m <> 0 by A31, SEQ_1:7;
((h * z) + c) . m in rng ((h * z) + c) by NFCONT_1:6;
then ((h * z) + c) . m in N by A28;
then ((h * z) . m) + (c . m) in N by NORMSP_1:def 5;
then ((h . m) * z) + (c . m) in N by NDIFF_1:def 3;
then A40: ((h . m) * z) + x0 in N by A29;
||.((((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) . m) - dv).|| = ||.((((h " ) . m) * (((f /* ((h * z) + c)) - (f /* c)) . m)) - dv).|| by NDIFF_1:def 2
.= ||.((((h . m) " ) * (((f /* ((h * z) + c)) - (f /* c)) . m)) - dv).|| by VALUED_1:10
.= ||.((((h . m) " ) * (((f /* ((h * z) + c)) . m) - ((f /* c) . m))) - dv).|| by NORMSP_1:def 6
.= ||.((((h . m) " ) * (((f /* ((h * z) + c)) . m) - (f /. (c . m)))) - dv).|| by A30, FUNCT_2:186
.= ||.((((h . m) " ) * (((f /* ((h * z) + c)) . m) - (f /. x0))) - dv).|| by A29
.= ||.((((h . m) " ) * ((f /. (((h * z) + c) . m)) - (f /. x0))) - dv).|| by A1, A28, FUNCT_2:186, XBOOLE_1:1
.= ||.((((h . m) " ) * ((f /. (((h * z) . m) + (c . m))) - (f /. x0))) - dv).|| by NORMSP_1:def 5
.= ||.((((h . m) " ) * ((f /. (((h * z) . m) + x0)) - (f /. x0))) - dv).|| by A29
.= ||.((((h . m) " ) * ((f /. (((h . m) * z) + x0)) - (f /. x0))) - dv).|| by NDIFF_1:def 3 ;
hence ||.((((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) . m) - dv).|| < r by A36, A38, A39, A40; :: thesis: verum
end;
end;
hence (h " ) (#) ((f /* ((h * z) + c)) - (f /* c)) is convergent by NORMSP_1:def 9; :: thesis: lim ((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) = dv
hence lim ((h " ) (#) ((f /* ((h * z) + c)) - (f /* c))) = dv by A33, NORMSP_1:def 11; :: thesis: verum
end;
hence for h being convergent_to_0 Real_Sequence
for c being V8() sequence of S 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))) ) ; :: thesis: verum
end;
hence ( ( for h being convergent_to_0 Real_Sequence
for c being V8() sequence of S 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))) ) ) iff for e being Real st e > 0 holds
ex d being Real st
( d > 0 & ( for h being Real st abs h < d & h <> 0 & (h * z) + x0 in N holds
||.(((h " ) * ((f /. ((h * z) + x0)) - (f /. x0))) - dv).|| < e ) ) ) by A2; :: thesis: verum