let f be PartFunc of REAL,REAL; :: thesis: for x0 being Real st f is_right_differentiable_in x0 holds
f is_Rcontinuous_in x0

let x0 be Real; :: thesis: ( f is_right_differentiable_in x0 implies f is_Rcontinuous_in x0 )
assume A1: f is_right_differentiable_in x0 ; :: thesis: f is_Rcontinuous_in x0
then consider r being Real such that
A2: r > 0 and
A3: [.x0,(x0 + r).] c= dom f by Def3;
A4: for a being Real_Sequence st rng a c= (right_open_halfline x0) /\ (dom f) & a is convergent & lim a = x0 holds
( f /* a is convergent & f . x0 = lim (f /* a) )
proof
reconsider b = NAT --> x0 as Real_Sequence ;
let a be Real_Sequence; :: thesis: ( rng a c= (right_open_halfline x0) /\ (dom f) & a is convergent & lim a = x0 implies ( f /* a is convergent & f . x0 = lim (f /* a) ) )
assume that
A5: rng a c= (right_open_halfline x0) /\ (dom f) and
A6: a is convergent and
A7: lim a = x0 ; :: thesis: ( f /* a is convergent & f . x0 = lim (f /* a) )
consider r being Real such that
A8: r > 0 and
A9: [.x0,(x0 + r).] c= dom f by A1, Def3;
x0 + 0 < x0 + r by A8, XREAL_1:6;
then consider n0 being Element of NAT such that
A10: for k being Element of NAT st k >= n0 holds
a . k < x0 + r by A6, A7, LIMFUNC2:2;
deffunc H1( Element of NAT ) -> Element of REAL = (a . $1) - (b . $1);
consider d being Real_Sequence such that
A11: for n being Element of NAT holds d . n = H1(n) from SEQ_1:sch 1();
A12: d = a - b by A11, RFUNCT_2:1;
then A13: d is convergent by A6, SEQ_2:11;
reconsider c = b ^\ n0 as constant Real_Sequence ;
A14: rng c = {x0}
proof
thus rng c c= {x0} :: according to XBOOLE_0:def 10 :: thesis: {x0} c= rng c
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in rng c or x in {x0} )
assume x in rng c ; :: thesis: x in {x0}
then consider n being Element of NAT such that
A15: x = (b ^\ n0) . n by FUNCT_2:113;
x = b . (n + n0) by A15, NAT_1:def 3;
then x = x0 by FUNCOP_1:7;
hence x in {x0} by TARSKI:def 1; :: thesis: verum
end;
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in {x0} or x in rng c )
assume x in {x0} ; :: thesis: x in rng c
then A16: x = x0 by TARSKI:def 1;
c . 0 = b . (0 + n0) by NAT_1:def 3
.= x by A16, FUNCOP_1:7 ;
hence x in rng c by VALUED_0:28; :: thesis: verum
end;
A17: now
let g be real number ; :: thesis: ( 0 < g implies ex n being Element of NAT st
for m being Element of NAT st n <= m holds
abs (((f /* c) . m) - (f . x0)) < g )

assume A18: 0 < g ; :: thesis: ex n being Element of NAT st
for m being Element of NAT st n <= m holds
abs (((f /* c) . m) - (f . x0)) < g

take n = 0 ; :: thesis: for m being Element of NAT st n <= m holds
abs (((f /* c) . m) - (f . x0)) < g

let m be Element of NAT ; :: thesis: ( n <= m implies abs (((f /* c) . m) - (f . x0)) < g )
assume n <= m ; :: thesis: abs (((f /* c) . m) - (f . x0)) < g
x0 + 0 <= x0 + r by A8, XREAL_1:7;
then x0 in [.x0,(x0 + r).] by XXREAL_1:1;
then rng c c= dom f by A9, A14, ZFMISC_1:31;
then abs (((f /* c) . m) - (f . x0)) = abs ((f . (c . m)) - (f . x0)) by FUNCT_2:108
.= abs ((f . (b . (m + n0))) - (f . x0)) by NAT_1:def 3
.= abs ((f . x0) - (f . x0)) by FUNCOP_1:7
.= 0 by ABSVALUE:2 ;
hence abs (((f /* c) . m) - (f . x0)) < g by A18; :: thesis: verum
end;
then A19: f /* c is convergent by SEQ_2:def 6;
lim b = b . 0 by SEQ_4:26
.= x0 by FUNCOP_1:7 ;
then lim d = x0 - x0 by A6, A7, A12, SEQ_2:12
.= 0 ;
then A20: lim (d ^\ n0) = 0 by A13, SEQ_4:20;
A21: for n being Element of NAT holds
( d . n > 0 & d . n <> 0 )
proof
let n be Element of NAT ; :: thesis: ( d . n > 0 & d . n <> 0 )
A22: d . n = (a . n) - (b . n) by A11;
a . n in rng a by VALUED_0:28;
then a . n in right_open_halfline x0 by A5, XBOOLE_0:def 4;
then a . n in { r1 where r1 is Real : x0 < r1 } by XXREAL_1:230;
then A23: ex r1 being Real st
( r1 = a . n & x0 < r1 ) ;
then (a . n) - x0 > x0 - x0 by XREAL_1:9;
hence d . n > 0 by A22, FUNCOP_1:7; :: thesis: d . n <> 0
thus d . n <> 0 by A22, A23, FUNCOP_1:7; :: thesis: verum
end;
A24: for n being Element of NAT holds (d ^\ n0) . n > 0
proof
let n be Element of NAT ; :: thesis: (d ^\ n0) . n > 0
(d ^\ n0) . n = d . (n + n0) by NAT_1:def 3;
hence (d ^\ n0) . n > 0 by A21; :: thesis: verum
end;
then for n being Element of NAT holds (d ^\ n0) . n <> 0 ;
then d ^\ n0 is non-zero by SEQ_1:5;
then reconsider h = d ^\ n0 as convergent_to_0 Real_Sequence by A13, A20, FDIFF_1:def 1;
A25: rng a c= dom f
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in rng a or x in dom f )
assume x in rng a ; :: thesis: x in dom f
hence x in dom f by A5, XBOOLE_0:def 4; :: thesis: verum
end;
now
let n be Element of NAT ; :: thesis: (((f /* (h + c)) - (f /* c)) + (f /* c)) . n = (f /* (h + c)) . n
thus (((f /* (h + c)) - (f /* c)) + (f /* c)) . n = (((f /* (h + c)) - (f /* c)) . n) + ((f /* c) . n) by SEQ_1:7
.= (((f /* (h + c)) . n) - ((f /* c) . n)) + ((f /* c) . n) by RFUNCT_2:1
.= (f /* (h + c)) . n ; :: thesis: verum
end;
then A26: ((f /* (h + c)) - (f /* c)) + (f /* c) = f /* (h + c) by FUNCT_2:63;
now
let n be Element of NAT ; :: thesis: (h + c) . n = (a ^\ n0) . n
thus (h + c) . n = (((a - b) + b) ^\ n0) . n by A12, SEQM_3:15
.= ((a - b) + b) . (n + n0) by NAT_1:def 3
.= ((a - b) . (n + n0)) + (b . (n + n0)) by SEQ_1:7
.= ((a . (n + n0)) - (b . (n + n0))) + (b . (n + n0)) by RFUNCT_2:1
.= (a ^\ n0) . n by NAT_1:def 3 ; :: thesis: verum
end;
then A27: ((f /* (h + c)) - (f /* c)) + (f /* c) = f /* (a ^\ n0) by A26, FUNCT_2:63
.= (f /* a) ^\ n0 by A25, VALUED_0:27 ;
A28: for n being Element of NAT holds (a ^\ n0) . n in [.x0,(x0 + r).]
proof
let n be Element of NAT ; :: thesis: (a ^\ n0) . n in [.x0,(x0 + r).]
a . (n + n0) in rng a by VALUED_0:28;
then (a ^\ n0) . n in rng a by NAT_1:def 3;
then (a ^\ n0) . n in right_open_halfline x0 by A5, XBOOLE_0:def 4;
then (a ^\ n0) . n in { g where g is Real : x0 < g } by XXREAL_1:230;
then A29: ex g being Real st
( g = (a ^\ n0) . n & x0 < g ) ;
( 0 <= n & 0 + n0 = n0 ) by NAT_1:2;
then n0 <= n0 + n by XREAL_1:6;
then a . (n + n0) <= x0 + r by A10;
then (a ^\ n0) . n <= x0 + r by NAT_1:def 3;
then (a ^\ n0) . n in { g where g is Real : ( x0 <= g & g <= x0 + r ) } by A29;
hence (a ^\ n0) . n in [.x0,(x0 + r).] by RCOMP_1:def 1; :: thesis: verum
end;
rng (h + c) c= [.x0,(x0 + r).]
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in rng (h + c) or x in [.x0,(x0 + r).] )
assume x in rng (h + c) ; :: thesis: x in [.x0,(x0 + r).]
then consider n being Element of NAT such that
A30: x = (h + c) . n by FUNCT_2:113;
(h + c) . n = (((a - b) + b) ^\ n0) . n by A12, SEQM_3:15
.= ((a - b) + b) . (n + n0) by NAT_1:def 3
.= ((a - b) . (n + n0)) + (b . (n + n0)) by SEQ_1:7
.= ((a . (n + n0)) - (b . (n + n0))) + (b . (n + n0)) by RFUNCT_2:1
.= (a ^\ n0) . n by NAT_1:def 3 ;
hence x in [.x0,(x0 + r).] by A28, A30; :: thesis: verum
end;
then rng (h + c) c= dom f by A9, XBOOLE_1:1;
then A31: (h ") (#) ((f /* (h + c)) - (f /* c)) is convergent by A1, A24, A14, Def3;
then A32: lim (h (#) ((h ") (#) ((f /* (h + c)) - (f /* c)))) = 0 * (lim ((h ") (#) ((f /* (h + c)) - (f /* c)))) by A13, A20, SEQ_2:15
.= 0 ;
now
let n be Element of NAT ; :: thesis: (h (#) ((h ") (#) ((f /* (h + c)) - (f /* c)))) . n = ((f /* (h + c)) - (f /* c)) . n
A33: h . n <> 0 by A24;
thus (h (#) ((h ") (#) ((f /* (h + c)) - (f /* c)))) . n = (h . n) * (((h ") (#) ((f /* (h + c)) - (f /* c))) . n) by SEQ_1:8
.= (h . n) * (((h ") . n) * (((f /* (h + c)) - (f /* c)) . n)) by SEQ_1:8
.= (h . n) * (((h . n) ") * (((f /* (h + c)) - (f /* c)) . n)) by VALUED_1:10
.= ((h . n) * ((h . n) ")) * (((f /* (h + c)) - (f /* c)) . n)
.= 1 * (((f /* (h + c)) - (f /* c)) . n) by A33, XCMPLX_0:def 7
.= ((f /* (h + c)) - (f /* c)) . n ; :: thesis: verum
end;
then A34: h (#) ((h ") (#) ((f /* (h + c)) - (f /* c))) = (f /* (h + c)) - (f /* c) by FUNCT_2:63;
then A35: (f /* (h + c)) - (f /* c) is convergent by A13, A31, SEQ_2:14;
then A36: ((f /* (h + c)) - (f /* c)) + (f /* c) is convergent by A19, SEQ_2:5;
hence f /* a is convergent by A27, SEQ_4:21; :: thesis: f . x0 = lim (f /* a)
lim (f /* c) = f . x0 by A17, A19, SEQ_2:def 7;
then lim (((f /* (h + c)) - (f /* c)) + (f /* c)) = 0 + (f . x0) by A32, A34, A35, A19, SEQ_2:6
.= f . x0 ;
hence f . x0 = lim (f /* a) by A36, A27, SEQ_4:22; :: thesis: verum
end;
x0 + 0 <= x0 + r by A2, XREAL_1:7;
then x0 in [.x0,(x0 + r).] by XXREAL_1:1;
hence f is_Rcontinuous_in x0 by A3, A4, Def2; :: thesis: verum