reserve n,n1,n2,m for Nat,
  r,r1,r2,p,g1,g2,g for Real,
  seq,seq9,seq1 for Real_Sequence,
  y for set;

theorem Th21:
  seq is convergent & lim seq <> 0 & seq is non-zero implies seq" is convergent
proof
  assume that
A1: seq is convergent and
A2: lim seq<>0 and
A3: seq is non-zero;
A4: 0<|.lim seq.| by A2,COMPLEX1:47;
A5: 0<>|.lim seq.| by A2,COMPLEX1:47;
  consider n1 such that
A6: for m st n1<=m holds |.lim seq.|/2<|.seq.m.| by A1,A2,Th16;
  0*0<|.lim seq.|*|.lim seq.| by A4;
  then
A7: 0<(|.lim seq.|*|.lim seq.|)/2;
  take (lim seq)";
  let p;
  assume
A8: 0<p;
  then 0*0<p*((|.lim seq.|*|.lim seq.|)/2) by A7;
  then consider n2 such that
A9: for m st n2<=m holds
  |.seq.m-lim seq.|<p*((|.lim seq.|*|.lim seq.|)/2) by A1,Def6;
  take n=n1+n2;
  let m such that
A10: n<=m;
  n2<=n by NAT_1:12;
  then n2<=m by A10,XXREAL_0:2;
  then
A11: |.seq.m-lim seq.|<p*((|.lim seq.|*|.lim seq.|)/2) by A9;
  n1<=n1+n2 by NAT_1:12;
  then n1<=m by A10,XXREAL_0:2;
  then
A12: |.lim seq.|/2<|.seq.m.| by A6;
A13: seq.m<>0 by A3,SEQ_1:5;
  then seq.m*(lim seq)<>0 by A2;
  then 0<|.seq.m*(lim seq).| by COMPLEX1:47;
  then 0<|.seq.m.|*|.lim seq.| by COMPLEX1:65;
  then
A14: |.seq.m-lim seq.|/(|.seq.m.|*|.lim seq.|)<
  (p*((|.lim seq.|*|.lim seq.|)/2))/(|.seq.m.|*|.lim seq.|)
  by A11,XREAL_1:74;
A15: (p*((|.lim seq.|*|.lim seq.|)/2))/(|.seq.m.|*|.lim seq.|)
  =(p*(2"*(|.lim seq.|*|.lim seq.|)))*
  (|.seq.m.|*|.lim seq.|)" by XCMPLX_0:def 9
    .=p*2"*((|.lim seq.|*|.lim seq.|)*(|.lim seq.|*|.seq.m.|)")
    .=p*2"*((|.lim seq.|*|.lim seq.|)*
  (|.lim seq.|"*(|.seq.m.|)")) by XCMPLX_1:204
    .=p*2"*(|.lim seq.|*(|.lim seq.|*|.lim seq.|")*|.seq.m.|")
    .=p*2"*(|.lim seq.|*1*(|.seq.m.|)") by A5,XCMPLX_0:def 7
    .=p*(|.lim seq.|/2)*|.seq.m.|"
    .=(p*(|.lim seq.|/2))/|.seq.m.| by XCMPLX_0:def 9;
A16: |.(seq").m-(lim seq)".|=|.(seq.m)"-(lim seq)".| by VALUED_1:10
    .=|.seq.m-lim seq.|/(|.seq.m.|*|.lim seq.|) by A2,A13,Th2;
A17: 0<|.lim seq.|/2 by A4;
A18: 0<>|.lim seq.|/2 by A2,COMPLEX1:47;
  0*0<p*(|.lim seq.|/2) by A8,A17;
  then
A19: (p*(|.lim seq.|/2))/|.seq.m.|<
  (p*(|.lim seq.|/2))/(|.lim seq.|/2) by A12,A17,XREAL_1:76;
  (p*(|.lim seq.|/2))/(|.lim seq.|/2 )
  =(p*(|.lim seq.|/2))*(|.lim seq.|/2 )" by XCMPLX_0:def 9
    .=p*((|.lim seq.|/2)*(|.lim seq.|/2 )")
    .=p*1 by A18,XCMPLX_0:def 7
    .=p;
  hence thesis by A14,A15,A16,A19,XXREAL_0:2;
end;
