reserve k, k1, n, n1, m for Nat;
reserve X, y for set;
reserve p for Real;
reserve r for Real;
reserve a, a1, a2, b, b1, b2, x, x0, z, z0 for Complex;
reserve s1, s3, seq, seq1 for Complex_Sequence;
reserve Y for Subset of COMPLEX;
reserve f, f1, f2 for PartFunc of COMPLEX,COMPLEX;
reserve Nseq for increasing sequence of NAT;
reserve h for 0-convergent non-zero Complex_Sequence;
reserve c for constant Complex_Sequence;
reserve R, R1, R2 for C_RestFunc;
reserve L, L1, L2 for C_LinearFunc;
reserve Z for open Subset of COMPLEX;

theorem
  f is_differentiable_in x0 implies ex R st R/.0c = 0c & R is_continuous_in 0c
proof
  assume f is_differentiable_in x0;
  then consider N being Neighbourhood of x0 such that
  N c= dom f and
A1: ex L,R st for x st x in N holds f/.x-f/.x0 = L/.(x-x0)+R/.(x-x0);
  consider L,R such that
A2: for x st x in N holds f/.x-f/.x0 = L/.(x-x0)+R/.(x-x0) by A1;
  take R;
  consider a such that
A3: for z holds L/.z = a*z by Def4;
  f/.x0-f/.x0 = L/.(x0-x0)+R/.(x0-x0) by A2,Th7;
  then
A4: 0c = a*0c+R/.0c by A3;
  hence R/.0c = 0c;
A5: now
    let h;
    (h")(#)(R/*h) is bounded by Def3;
    then consider M being Real such that
    M > 0 and
A6: for n holds |.((h")(#)(R/*h)).n.| < M by COMSEQ_2:8;
    lim h = 0 by Def1;
    then lim |.h.| = |. 0 .| by SEQ_2:27;
    then
A7: lim (M(#)|.h.|) = M * |. 0 .| by SEQ_2:8
      .=M*0 by ABSVALUE:2
      .=0;
A8: now
      let p be Real;
      assume 0 < p;
      then consider m such that
A9:  for n st m <= n holds |.(M(#)|.h.|).n-0 .| < p by A7,SEQ_2:def 7;
      take m;
      now
        let n;
        assume m <= n;
        then
A10:    |.(M(#)|.h.|).n-0 .| < p by A9;
        |.((h")(#)(R/*h)).n.| = |.((h").n)*(R/*h).n.| by VALUED_1:5
          .= |.(h.n)"*(R/*h).n.| by VALUED_1:10;
        then
A11:    |.(h.n)"*(R/*h).n.| <= M by A6;
A12:   n in NAT by ORDINAL1:def 12;
        |.(h.n).| >= 0 by COMPLEX1:46;
        then |.(h.n).|*|.(h.n)"*(R/*h).n.| <= M*|.(h.n).| by A11,XREAL_1:64;
        then |.(h.n)*((h.n)"*(R/*h).n).| <= M*|.(h.n).| by COMPLEX1:65;
        then h.n <> 0c & |.(h.n)*(h.n)"*(R/*h).n.| <= M*|.(h.n).|
             by COMSEQ_1:4,A12;
        then |.1r*(R/*h).n.| <= M*|.(h.n).| by XCMPLX_0:def 7;
        then |.(R/*h).n.| <= M*|.h.|.n by VALUED_1:18;
        then
A13:    |.(R/*h).n.| <= (M(#)|.h.|).n by SEQ_1:9;
        0 <= |.(R/*h).n.| by COMPLEX1:46;
        then 0 <= (M(#)|.h.|).n by A13;
        then (M(#)|.h.|).n < p by A10,ABSVALUE:def 1;
        hence |.(R/*h).n-0c.| < p by A13,XXREAL_0:2;
      end;
      hence for n st m <= n holds |.(R/*h).n-0c.| < p;
    end;
    hence R/*h is convergent;
    hence lim (R/*h) = R/.0c by A4,A8,COMSEQ_2:def 6;
  end;
A14: now
    let s1;
    assume that
    rng s1 c= dom R and
A15: s1 is convergent & lim s1 = 0 and
A16: for n holds s1.n <> 0;
    for n being Element of NAT holds s1.n <> 0 by A16;
    then s1 is non-zero by COMSEQ_1:4;
    then s1 is 0-convergent non-zero Complex_Sequence by A15,Def1;
    hence R/*s1 is convergent & lim (R/*s1) = R/.0c by A5;
  end;
  dom R = COMPLEX by PARTFUN1:def 2;
  hence thesis by A14,CFCONT_1:31;
end;
