reserve r,r1,r2,g,g1,g2,x0 for Real;
reserve f1,f2 for PartFunc of REAL,REAL;

theorem
  f1 is_convergent_in x0 & f2 is_right_divergent_to+infty_in lim(f1,x0)
& (for r1,r2 st r1<x0 & x0<r2 ex g1,g2 st r1<g1 & g1<x0 & g1 in dom(f2*f1) & g2
<r2 & x0<g2 & g2 in dom(f2*f1)) & (ex g st 0<g & for r st r in dom f1 /\ (].x0-
  g,x0.[ \/ ].x0,x0+g.[) holds f1.r>lim(f1,x0)) implies f2*f1
  is_divergent_to+infty_in x0
proof
  assume that
A1: f1 is_convergent_in x0 and
A2: f2 is_right_divergent_to+infty_in lim(f1,x0) and
A3: for r1,r2 st r1<x0 & x0<r2 ex g1,g2 st r1<g1 & g1<x0 & g1 in dom(f2*
  f1) & g2<r2 & x0<g2 & g2 in dom(f2*f1);
  given g such that
A4: 0<g and
A5: for r st r in dom f1/\(].x0-g,x0.[\/].x0,x0+g.[) holds lim(f1,x0)<f1 .r;
  now
    let s be Real_Sequence;
    assume that
A6: s is convergent & lim s=x0 and
A7: rng s c=dom(f2*f1)\{x0};
    consider k be Element of NAT such that
A8: for n being Element of NAT st k<=n holds x0-g<s.n & s.n<x0+g by A4,A6,
LIMFUNC3:7;
    set q=(f1/*s)^\k;
A9: rng s c=dom(f2*f1) by A7,Th2;
    rng(f1/*s)c=dom f2 by A7,Th2;
    then
A10: f2/*q=(f2/*(f1/*s))^\k by VALUED_0:27
      .=((f2*f1)/*s)^\k by A9,VALUED_0:31;
A11: rng s c=dom f1\{x0} by A7,Th2;
    then
A12: f1/*s is convergent by A1,A2,A6,LIMFUNC3:def 4;
A13: rng s c=dom f1 by A7,Th2;
    now
      let x be object;
      assume x in rng q;
      then consider n be Element of NAT such that
A14:  q.n=x by FUNCT_2:113;
A15:  f1.(s.(n+k))=(f1/*s).(n+k) by A13,FUNCT_2:108
        .=x by A14,NAT_1:def 3;
      k<=n+k by NAT_1:12;
      then x0-g<s.(n+k) & s.(n+k)<x0+g by A8;
      then s.(n+k) in {g1: x0-g<g1 & g1<x0+g};
      then
A16:  s.(n+k) in ].x0-g,x0+g.[ by RCOMP_1:def 2;
A17:  s.(n+k) in rng s by VALUED_0:28;
      then not s.(n+k) in {x0} by A7,XBOOLE_0:def 5;
      then s.(n+k) in ].x0-g,x0+g.[\{x0} by A16,XBOOLE_0:def 5;
      then s.(n+k) in ].x0-g,x0.[\/].x0,x0+g.[ by A4,LIMFUNC3:4;
      then s.(n+k) in dom f1/\(].x0-g,x0.[\/].x0,x0+g.[) by A13,A17,
XBOOLE_0:def 4;
      then f1.(s.(n+k))>lim(f1,x0) by A5;
      then f1.(s.(n+k)) in {g2: lim(f1,x0)<g2};
      then
A18:  f1.(s.(n+k)) in right_open_halfline(lim(f1,x0)) by XXREAL_1:230;
      f1.(s.(n+k)) in dom f2 by A9,A17,FUNCT_1:11;
      hence x in dom f2/\right_open_halfline(lim(f1,x0)) by A18,A15,
XBOOLE_0:def 4;
    end;
    then
A19: rng q c=dom f2/\right_open_halfline(lim(f1,x0));
    lim(f1/*s)=lim(f1,x0) by A1,A6,A11,LIMFUNC3:def 4;
    then lim q=lim(f1,x0) by A12,SEQ_4:20;
    then f2/*q is divergent_to+infty by A2,A12,A19,LIMFUNC2:def 5;
    hence (f2*f1)/*s is divergent_to+infty by A10,LIMFUNC1:7;
  end;
  hence thesis by A3,LIMFUNC3:def 2;
end;
