let x0 be Real; :: thesis: for f being PartFunc of REAL ,REAL st f is_right_convergent_in x0 & lim_right f,x0 = 0 & ex r being Real st
( 0 < r & ( for g being Real st g in (dom f) /\ ].x0,(x0 + r).[ holds
f . g < 0 ) ) holds
f ^ is_right_divergent_to-infty_in x0

let f be PartFunc of REAL ,REAL ; :: thesis: ( f is_right_convergent_in x0 & lim_right f,x0 = 0 & ex r being Real st
( 0 < r & ( for g being Real st g in (dom f) /\ ].x0,(x0 + r).[ holds
f . g < 0 ) ) implies f ^ is_right_divergent_to-infty_in x0 )

assume A1: ( f is_right_convergent_in x0 & lim_right f,x0 = 0 ) ; :: thesis: ( for r being Real holds
( not 0 < r or ex g being Real st
( g in (dom f) /\ ].x0,(x0 + r).[ & not f . g < 0 ) ) or f ^ is_right_divergent_to-infty_in x0 )

given r being Real such that A2: ( 0 < r & ( for g being Real st g in (dom f) /\ ].x0,(x0 + r).[ holds
f . g < 0 ) ) ; :: thesis: f ^ is_right_divergent_to-infty_in x0
thus for r1 being Real st x0 < r1 holds
ex g1 being Real st
( g1 < r1 & x0 < g1 & g1 in dom (f ^ ) ) :: according to LIMFUNC2:def 6 :: thesis: for seq being Real_Sequence st seq is convergent & lim seq = x0 & rng seq c= (dom (f ^ )) /\ (right_open_halfline x0) holds
(f ^ ) /* seq is divergent_to-infty
proof
let r1 be Real; :: thesis: ( x0 < r1 implies ex g1 being Real st
( g1 < r1 & x0 < g1 & g1 in dom (f ^ ) ) )

assume x0 < r1 ; :: thesis: ex g1 being Real st
( g1 < r1 & x0 < g1 & g1 in dom (f ^ ) )

then consider g1 being Real such that
A3: ( g1 < r1 & x0 < g1 & g1 in dom f ) by A1, Def4;
now
per cases ( g1 <= x0 + r or x0 + r <= g1 ) ;
suppose A4: g1 <= x0 + r ; :: thesis: ex g2 being Real st
( g2 < r1 & x0 < g2 & g2 in dom (f ^ ) )

consider g2 being Real such that
A5: ( g2 < g1 & x0 < g2 & g2 in dom f ) by A1, A3, Def4;
take g2 = g2; :: thesis: ( g2 < r1 & x0 < g2 & g2 in dom (f ^ ) )
thus ( g2 < r1 & x0 < g2 ) by A3, A5, XXREAL_0:2; :: thesis: g2 in dom (f ^ )
g2 < x0 + r by A4, A5, XXREAL_0:2;
then g2 in { r2 where r2 is Real : ( x0 < r2 & r2 < x0 + r ) } by A5;
then g2 in ].x0,(x0 + r).[ by RCOMP_1:def 2;
then g2 in (dom f) /\ ].x0,(x0 + r).[ by A5, XBOOLE_0:def 4;
then 0 <> f . g2 by A2;
then not f . g2 in {0 } by TARSKI:def 1;
then not g2 in f " {0 } by FUNCT_1:def 13;
then g2 in (dom f) \ (f " {0 }) by A5, XBOOLE_0:def 5;
hence g2 in dom (f ^ ) by RFUNCT_1:def 8; :: thesis: verum
end;
suppose A6: x0 + r <= g1 ; :: thesis: ex g2 being Real st
( g2 < r1 & x0 < g2 & g2 in dom (f ^ ) )

x0 < x0 + r by A2, Lm1;
then consider g2 being Real such that
A7: ( g2 < x0 + r & x0 < g2 & g2 in dom f ) by A1, Def4;
take g2 = g2; :: thesis: ( g2 < r1 & x0 < g2 & g2 in dom (f ^ ) )
g2 < g1 by A6, A7, XXREAL_0:2;
hence ( g2 < r1 & x0 < g2 ) by A3, A7, XXREAL_0:2; :: thesis: g2 in dom (f ^ )
g2 in { r2 where r2 is Real : ( x0 < r2 & r2 < x0 + r ) } by A7;
then g2 in ].x0,(x0 + r).[ by RCOMP_1:def 2;
then g2 in (dom f) /\ ].x0,(x0 + r).[ by A7, XBOOLE_0:def 4;
then 0 <> f . g2 by A2;
then not f . g2 in {0 } by TARSKI:def 1;
then not g2 in f " {0 } by FUNCT_1:def 13;
then g2 in (dom f) \ (f " {0 }) by A7, XBOOLE_0:def 5;
hence g2 in dom (f ^ ) by RFUNCT_1:def 8; :: thesis: verum
end;
end;
end;
hence ex g1 being Real st
( g1 < r1 & x0 < g1 & g1 in dom (f ^ ) ) ; :: thesis: verum
end;
let s be Real_Sequence; :: thesis: ( s is convergent & lim s = x0 & rng s c= (dom (f ^ )) /\ (right_open_halfline x0) implies (f ^ ) /* s is divergent_to-infty )
assume A8: ( s is convergent & lim s = x0 & rng s c= (dom (f ^ )) /\ (right_open_halfline x0) ) ; :: thesis: (f ^ ) /* s is divergent_to-infty
x0 < x0 + r by A2, Lm1;
then consider k being Element of NAT such that
A9: for n being Element of NAT st k <= n holds
s . n < x0 + r by A8, Th2;
A10: ( s ^\ k is convergent & lim (s ^\ k) = x0 ) by A8, SEQ_4:33;
A11: ( (dom (f ^ )) /\ (right_open_halfline x0) c= dom (f ^ ) & (dom (f ^ )) /\ (right_open_halfline x0) c= right_open_halfline x0 ) by XBOOLE_1:17;
then A12: ( rng s c= dom (f ^ ) & rng s c= right_open_halfline x0 ) by A8, XBOOLE_1:1;
dom (f ^ ) = (dom f) \ (f " {0 }) by RFUNCT_1:def 8;
then A13: dom (f ^ ) c= dom f by XBOOLE_1:36;
then A14: rng s c= dom f by A12, XBOOLE_1:1;
A15: rng (s ^\ k) c= rng s by VALUED_0:21;
then A16: ( rng (s ^\ k) c= (dom (f ^ )) /\ (right_open_halfline x0) & rng (s ^\ k) c= dom (f ^ ) & rng (s ^\ k) c= right_open_halfline x0 & rng (s ^\ k) c= dom f ) by A8, A12, A14, XBOOLE_1:1;
then rng (s ^\ k) c= (dom f) /\ (right_open_halfline x0) by XBOOLE_1:19;
then A17: ( f /* (s ^\ k) is convergent & lim (f /* (s ^\ k)) = 0 ) by A1, A10, Def8;
A18: now
let n be Element of NAT ; :: thesis: (f /* (s ^\ k)) . n < 0
A19: (s ^\ k) . n in rng (s ^\ k) by VALUED_0:28;
then (s ^\ k) . n in right_open_halfline x0 by A16;
then (s ^\ k) . n in { g1 where g1 is Real : x0 < g1 } by XXREAL_1:230;
then A20: ex g1 being Real st
( g1 = (s ^\ k) . n & x0 < g1 ) ;
s . (n + k) < x0 + r by A9, NAT_1:12;
then (s ^\ k) . n < x0 + r by NAT_1:def 3;
then (s ^\ k) . n in { g2 where g2 is Real : ( x0 < g2 & g2 < x0 + r ) } by A20;
then (s ^\ k) . n in ].x0,(x0 + r).[ by RCOMP_1:def 2;
then (s ^\ k) . n in (dom f) /\ ].x0,(x0 + r).[ by A16, A19, XBOOLE_0:def 4;
then f . ((s ^\ k) . n) < 0 by A2;
hence (f /* (s ^\ k)) . n < 0 by A14, A15, FUNCT_2:185, XBOOLE_1:1; :: thesis: verum
end;
then for n being Element of NAT holds 0 <> (f /* (s ^\ k)) . n ;
then A21: f /* (s ^\ k) is non-zero by SEQ_1:7;
for n being Element of NAT st 0 <= n holds
(f /* (s ^\ k)) . n < 0 by A18;
then A22: (f /* (s ^\ k)) " is divergent_to-infty by A17, A21, LIMFUNC1:63;
(f /* (s ^\ k)) " = ((f /* s) ^\ k) " by A12, A13, VALUED_0:27, XBOOLE_1:1
.= ((f /* s) " ) ^\ k by SEQM_3:41
.= ((f ^ ) /* s) ^\ k by A8, A11, RFUNCT_2:27, XBOOLE_1:1 ;
hence (f ^ ) /* s is divergent_to-infty by A22, LIMFUNC1:34; :: thesis: verum