let x0, g be Real; :: thesis: for f being PartFunc of REAL ,REAL st f is_right_convergent_in x0 holds
( lim_right f,x0 = g iff for g1 being Real st 0 < g1 holds
ex r being Real st
( x0 < r & ( for r1 being Real st r1 < r & x0 < r1 & r1 in dom f holds
abs ((f . r1) - g) < g1 ) ) )

let f be PartFunc of REAL ,REAL ; :: thesis: ( f is_right_convergent_in x0 implies ( lim_right f,x0 = g iff for g1 being Real st 0 < g1 holds
ex r being Real st
( x0 < r & ( for r1 being Real st r1 < r & x0 < r1 & r1 in dom f holds
abs ((f . r1) - g) < g1 ) ) ) )

assume A1: f is_right_convergent_in x0 ; :: thesis: ( lim_right f,x0 = g iff for g1 being Real st 0 < g1 holds
ex r being Real st
( x0 < r & ( for r1 being Real st r1 < r & x0 < r1 & r1 in dom f holds
abs ((f . r1) - g) < g1 ) ) )

thus ( lim_right f,x0 = g implies for g1 being Real st 0 < g1 holds
ex r being Real st
( x0 < r & ( for r1 being Real st r1 < r & x0 < r1 & r1 in dom f holds
abs ((f . r1) - g) < g1 ) ) ) :: thesis: ( ( for g1 being Real st 0 < g1 holds
ex r being Real st
( x0 < r & ( for r1 being Real st r1 < r & x0 < r1 & r1 in dom f holds
abs ((f . r1) - g) < g1 ) ) ) implies lim_right f,x0 = g )
proof
assume that
A2: lim_right f,x0 = g and
A3: ex g1 being Real st
( 0 < g1 & ( for r being Real st x0 < r holds
ex r1 being Real st
( r1 < r & x0 < r1 & r1 in dom f & abs ((f . r1) - g) >= g1 ) ) ) ; :: thesis: contradiction
consider g1 being Real such that
A4: ( 0 < g1 & ( for r being Real st x0 < r holds
ex r1 being Real st
( r1 < r & x0 < r1 & r1 in dom f & abs ((f . r1) - g) >= g1 ) ) ) by A3;
defpred S1[ Element of NAT , real number ] means ( x0 < $2 & $2 < x0 + (1 / ($1 + 1)) & $2 in dom f & g1 <= abs ((f . $2) - g) );
A5: now
let n be Element of NAT ; :: thesis: ex r1 being Real st S1[n,r1]
x0 < x0 + (1 / (n + 1)) by Lm3;
then consider r1 being Real such that
A6: ( r1 < x0 + (1 / (n + 1)) & x0 < r1 & r1 in dom f & g1 <= abs ((f . r1) - g) ) by A4;
take r1 = r1; :: thesis: S1[n,r1]
thus S1[n,r1] by A6; :: thesis: verum
end;
consider s being Real_Sequence such that
A7: for n being Element of NAT holds S1[n,s . n] from FUNCT_2:sch 3(A5);
A8: ( s is convergent & lim s = x0 & rng s c= dom f & rng s c= (dom f) /\ (right_open_halfline x0) ) by A7, Th6;
then ( f /* s is convergent & lim (f /* s) = g ) by A1, A2, Def8;
then consider n being Element of NAT such that
A9: for k being Element of NAT st n <= k holds
abs (((f /* s) . k) - g) < g1 by A4, SEQ_2:def 7;
abs (((f /* s) . n) - g) < g1 by A9;
then abs ((f . (s . n)) - g) < g1 by A8, FUNCT_2:185;
hence contradiction by A7; :: thesis: verum
end;
assume A10: for g1 being Real st 0 < g1 holds
ex r being Real st
( x0 < r & ( for r1 being Real st r1 < r & x0 < r1 & r1 in dom f holds
abs ((f . r1) - g) < g1 ) ) ; :: thesis: lim_right f,x0 = g
now
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 convergent & lim (f /* s) = g ) )
assume A11: ( s is convergent & lim s = x0 & rng s c= (dom f) /\ (right_open_halfline x0) ) ; :: thesis: ( f /* s is convergent & lim (f /* s) = g )
A12: (dom f) /\ (right_open_halfline x0) c= dom f by XBOOLE_1:17;
A13: now
let g1 be real number ; :: thesis: ( 0 < g1 implies ex n being Element of NAT st
for k being Element of NAT st n <= k holds
abs (((f /* s) . k) - g) < g1 )

A14: g1 is Real by XREAL_0:def 1;
assume 0 < g1 ; :: thesis: ex n being Element of NAT st
for k being Element of NAT st n <= k holds
abs (((f /* s) . k) - g) < g1

then consider r being Real such that
A15: ( x0 < r & ( for r1 being Real st r1 < r & x0 < r1 & r1 in dom f holds
abs ((f . r1) - g) < g1 ) ) by A10, A14;
consider n being Element of NAT such that
A16: for k being Element of NAT st n <= k holds
s . k < r by A11, A15, Th2;
take n = n; :: thesis: for k being Element of NAT st n <= k holds
abs (((f /* s) . k) - g) < g1

let k be Element of NAT ; :: thesis: ( n <= k implies abs (((f /* s) . k) - g) < g1 )
assume A17: n <= k ; :: thesis: abs (((f /* s) . k) - g) < g1
s . k in rng s by VALUED_0:28;
then A18: ( s . k in right_open_halfline x0 & s . k in dom f ) by A11, XBOOLE_0:def 4;
then s . k in { g2 where g2 is Real : x0 < g2 } by XXREAL_1:230;
then ex g2 being Real st
( g2 = s . k & x0 < g2 ) ;
then abs ((f . (s . k)) - g) < g1 by A15, A16, A17, A18;
hence abs (((f /* s) . k) - g) < g1 by A11, A12, FUNCT_2:185, XBOOLE_1:1; :: thesis: verum
end;
hence f /* s is convergent by SEQ_2:def 6; :: thesis: lim (f /* s) = g
hence lim (f /* s) = g by A13, SEQ_2:def 7; :: thesis: verum
end;
hence lim_right f,x0 = g by A1, Def8; :: thesis: verum