let CNS be ComplexNormSpace; :: thesis: for f being PartFunc of the carrier of CNS,REAL
for x0 being Point of CNS holds
( f is_continuous_in x0 iff ( x0 in dom f & ( for r being Real st 0 < r holds
ex s being Real st
( 0 < s & ( for x1 being Point of CNS st x1 in dom f & ||.(x1 - x0).|| < s holds
abs ((f /. x1) - (f /. x0)) < r ) ) ) ) )

let f be PartFunc of the carrier of CNS,REAL; :: thesis: for x0 being Point of CNS holds
( f is_continuous_in x0 iff ( x0 in dom f & ( for r being Real st 0 < r holds
ex s being Real st
( 0 < s & ( for x1 being Point of CNS st x1 in dom f & ||.(x1 - x0).|| < s holds
abs ((f /. x1) - (f /. x0)) < r ) ) ) ) )

let x0 be Point of CNS; :: thesis: ( f is_continuous_in x0 iff ( x0 in dom f & ( for r being Real st 0 < r holds
ex s being Real st
( 0 < s & ( for x1 being Point of CNS st x1 in dom f & ||.(x1 - x0).|| < s holds
abs ((f /. x1) - (f /. x0)) < r ) ) ) ) )

thus ( f is_continuous_in x0 implies ( x0 in dom f & ( for r being Real st 0 < r holds
ex s being Real st
( 0 < s & ( for x1 being Point of CNS st x1 in dom f & ||.(x1 - x0).|| < s holds
abs ((f /. x1) - (f /. x0)) < r ) ) ) ) ) :: thesis: ( x0 in dom f & ( for r being Real st 0 < r holds
ex s being Real st
( 0 < s & ( for x1 being Point of CNS st x1 in dom f & ||.(x1 - x0).|| < s holds
abs ((f /. x1) - (f /. x0)) < r ) ) ) implies f is_continuous_in x0 )
proof
assume A1: f is_continuous_in x0 ; :: thesis: ( x0 in dom f & ( for r being Real st 0 < r holds
ex s being Real st
( 0 < s & ( for x1 being Point of CNS st x1 in dom f & ||.(x1 - x0).|| < s holds
abs ((f /. x1) - (f /. x0)) < r ) ) ) )

hence x0 in dom f by Def19; :: thesis: for r being Real st 0 < r holds
ex s being Real st
( 0 < s & ( for x1 being Point of CNS st x1 in dom f & ||.(x1 - x0).|| < s holds
abs ((f /. x1) - (f /. x0)) < r ) )

given r being Real such that A2: 0 < r and
A3: for s being Real holds
( not 0 < s or ex x1 being Point of CNS st
( x1 in dom f & ||.(x1 - x0).|| < s & not abs ((f /. x1) - (f /. x0)) < r ) ) ; :: thesis: contradiction
defpred S1[ Element of NAT , Point of CNS] means ( $2 in dom f & ||.($2 - x0).|| < 1 / ($1 + 1) & not abs ((f /. $2) - (f /. x0)) < r );
A4: for n being Element of NAT ex p being Point of CNS st S1[n,p]
proof
let n be Element of NAT ; :: thesis: ex p being Point of CNS st S1[n,p]
0 < n + 1 by NAT_1:3;
then 0 < (n + 1) " by XREAL_1:122;
then 0 < 1 / (n + 1) by XCMPLX_1:215;
then consider p being Point of CNS such that
A5: ( p in dom f & ||.(p - x0).|| < 1 / (n + 1) & not abs ((f /. p) - (f /. x0)) < r ) by A3;
take p ; :: thesis: S1[n,p]
thus S1[n,p] by A5; :: thesis: verum
end;
consider s1 being Function of NAT, the carrier of CNS such that
A6: for n being Element of NAT holds S1[n,s1 . n] from FUNCT_2:sch 3(A4);
reconsider s1 = s1 as sequence of CNS ;
A7: rng s1 c= dom f
proof
A8: dom s1 = NAT by FUNCT_2:def 1;
let v be set ; :: according to TARSKI:def 3 :: thesis: ( not v in rng s1 or v in dom f )
assume v in rng s1 ; :: thesis: v in dom f
then ex n being set st
( n in NAT & v = s1 . n ) by A8, FUNCT_1:def 3;
hence v in dom f by A6; :: thesis: verum
end;
A9: now
let n be Element of NAT ; :: thesis: not abs (((f /* s1) . n) - (f /. x0)) < r
not abs ((f /. (s1 . n)) - (f /. x0)) < r by A6;
hence not abs (((f /* s1) . n) - (f /. x0)) < r by A7, FUNCT_2:109; :: thesis: verum
end;
A10: now
let s be Real; :: thesis: ( 0 < s implies ex k being Element of NAT st
for m being Element of NAT st k <= m holds
||.((s1 . m) - x0).|| < s )

consider n being Element of NAT such that
A11: s " < n by SEQ_4:3;
assume 0 < s ; :: thesis: ex k being Element of NAT st
for m being Element of NAT st k <= m holds
||.((s1 . m) - x0).|| < s

then A12: 0 < s " by XREAL_1:122;
(s ") + 0 < n + 1 by A11, XREAL_1:8;
then 1 / (n + 1) < 1 / (s ") by A12, XREAL_1:76;
then A13: 1 / (n + 1) < s by XCMPLX_1:216;
take k = n; :: thesis: for m being Element of NAT st k <= m holds
||.((s1 . m) - x0).|| < s

let m be Element of NAT ; :: thesis: ( k <= m implies ||.((s1 . m) - x0).|| < s )
assume k <= m ; :: thesis: ||.((s1 . m) - x0).|| < s
then k + 1 <= m + 1 by XREAL_1:6;
then 1 / (m + 1) <= 1 / (k + 1) by NAT_1:3, XREAL_1:118;
then 1 / (m + 1) < s by A13, XXREAL_0:2;
hence ||.((s1 . m) - x0).|| < s by A6, XXREAL_0:2; :: thesis: verum
end;
then A14: s1 is convergent by CLVECT_1:def 15;
then lim s1 = x0 by A10, CLVECT_1:def 16;
then ( f /* s1 is convergent & f /. x0 = lim (f /* s1) ) by A1, A7, A14, Def19;
then consider n being Element of NAT such that
A15: for m being Element of NAT st n <= m holds
abs (((f /* s1) . m) - (f /. x0)) < r by A2, SEQ_2:def 7;
abs (((f /* s1) . n) - (f /. x0)) < r by A15;
hence contradiction by A9; :: thesis: verum
end;
assume that
A16: x0 in dom f and
A17: for r being Real st 0 < r holds
ex s being Real st
( 0 < s & ( for x1 being Point of CNS st x1 in dom f & ||.(x1 - x0).|| < s holds
abs ((f /. x1) - (f /. x0)) < r ) ) ; :: thesis: f is_continuous_in x0
now
let s1 be sequence of CNS; :: thesis: ( rng s1 c= dom f & s1 is convergent & lim s1 = x0 implies ( f /* s1 is convergent & f /. x0 = lim (f /* s1) ) )
assume that
A18: rng s1 c= dom f and
A19: ( s1 is convergent & lim s1 = x0 ) ; :: thesis: ( f /* s1 is convergent & f /. x0 = lim (f /* s1) )
A20: now
let p be real number ; :: thesis: ( 0 < p implies ex k being Element of NAT st
for m being Element of NAT st k <= m holds
abs (((f /* s1) . m) - (f /. x0)) < p )

reconsider pp = p as Real by XREAL_0:def 1;
assume 0 < p ; :: thesis: ex k being Element of NAT st
for m being Element of NAT st k <= m holds
abs (((f /* s1) . m) - (f /. x0)) < p

then consider s being Real such that
A21: 0 < s and
A22: for x1 being Point of CNS st x1 in dom f & ||.(x1 - x0).|| < s holds
abs ((f /. x1) - (f /. x0)) < pp by A17;
consider n being Element of NAT such that
A23: for m being Element of NAT st n <= m holds
||.((s1 . m) - x0).|| < s by A19, A21, CLVECT_1:def 16;
take k = n; :: thesis: for m being Element of NAT st k <= m holds
abs (((f /* s1) . m) - (f /. x0)) < p

let m be Element of NAT ; :: thesis: ( k <= m implies abs (((f /* s1) . m) - (f /. x0)) < p )
assume k <= m ; :: thesis: abs (((f /* s1) . m) - (f /. x0)) < p
then A24: ||.((s1 . m) - x0).|| < s by A23;
dom s1 = NAT by FUNCT_2:def 1;
then s1 . m in rng s1 by FUNCT_1:3;
then abs ((f /. (s1 . m)) - (f /. x0)) < p by A18, A22, A24;
hence abs (((f /* s1) . m) - (f /. x0)) < p by A18, FUNCT_2:109; :: thesis: verum
end;
then f /* s1 is convergent by SEQ_2:def 6;
hence ( f /* s1 is convergent & f /. x0 = lim (f /* s1) ) by A20, SEQ_2:def 7; :: thesis: verum
end;
hence f is_continuous_in x0 by A16, Def19; :: thesis: verum