let x0 be real number ; :: thesis: for S, T being RealNormSpace
for f1 being PartFunc of REAL, the carrier of S
for f2 being PartFunc of the carrier of S, the carrier of T st x0 in dom (f2 * f1) & f1 is_continuous_in x0 & f2 is_continuous_in f1 /. x0 holds
f2 * f1 is_continuous_in x0

let S, T be RealNormSpace; :: thesis: for f1 being PartFunc of REAL, the carrier of S
for f2 being PartFunc of the carrier of S, the carrier of T st x0 in dom (f2 * f1) & f1 is_continuous_in x0 & f2 is_continuous_in f1 /. x0 holds
f2 * f1 is_continuous_in x0

let f1 be PartFunc of REAL, the carrier of S; :: thesis: for f2 being PartFunc of the carrier of S, the carrier of T st x0 in dom (f2 * f1) & f1 is_continuous_in x0 & f2 is_continuous_in f1 /. x0 holds
f2 * f1 is_continuous_in x0

let f2 be PartFunc of the carrier of S, the carrier of T; :: thesis: ( x0 in dom (f2 * f1) & f1 is_continuous_in x0 & f2 is_continuous_in f1 /. x0 implies f2 * f1 is_continuous_in x0 )
assume A1: x0 in dom (f2 * f1) ; :: thesis: ( not f1 is_continuous_in x0 or not f2 is_continuous_in f1 /. x0 or f2 * f1 is_continuous_in x0 )
assume that
A2: f1 is_continuous_in x0 and
A3: f2 is_continuous_in f1 /. x0 ; :: thesis: f2 * f1 is_continuous_in x0
thus x0 in dom (f2 * f1) by A1; :: according to NFCONT_3:def 1 :: thesis: for s1 being Real_Sequence st rng s1 c= dom (f2 * f1) & s1 is convergent & lim s1 = x0 holds
( (f2 * f1) /* s1 is convergent & (f2 * f1) /. x0 = lim ((f2 * f1) /* s1) )

let s1 be Real_Sequence; :: thesis: ( rng s1 c= dom (f2 * f1) & s1 is convergent & lim s1 = x0 implies ( (f2 * f1) /* s1 is convergent & (f2 * f1) /. x0 = lim ((f2 * f1) /* s1) ) )
assume that
A4: rng s1 c= dom (f2 * f1) and
A5: ( s1 is convergent & lim s1 = x0 ) ; :: thesis: ( (f2 * f1) /* s1 is convergent & (f2 * f1) /. x0 = lim ((f2 * f1) /* s1) )
A6: dom (f2 * f1) c= dom f1 by RELAT_1:44;
now
let x be set ; :: thesis: ( x in rng (f1 /* s1) implies x in dom f2 )
assume x in rng (f1 /* s1) ; :: thesis: x in dom f2
then consider n being Element of NAT such that
A7: x = (f1 /* s1) . n by FUNCT_2:190;
s1 . n in rng s1 by VALUED_0:28;
then f1 . (s1 . n) in dom f2 by A4, FUNCT_1:21;
hence x in dom f2 by A4, A6, A7, FUNCT_2:185, XBOOLE_1:1; :: thesis: verum
end;
then A8: rng (f1 /* s1) c= dom f2 by TARSKI:def 3;
B1: now
let n be Element of NAT ; :: thesis: ((f2 * f1) /* s1) . n = (f2 /* (f1 /* s1)) . n
s1 . n in rng s1 by VALUED_0:28;
then A9: s1 . n in dom f1 by A4, FUNCT_1:21;
thus ((f2 * f1) /* s1) . n = (f2 * f1) . (s1 . n) by A4, FUNCT_2:185
.= f2 . (f1 . (s1 . n)) by A9, FUNCT_1:23
.= f2 . ((f1 /* s1) . n) by A4, A6, FUNCT_2:185, XBOOLE_1:1
.= (f2 /* (f1 /* s1)) . n by A8, FUNCT_2:185 ; :: thesis: verum
end;
then A10: f2 /* (f1 /* s1) = (f2 * f1) /* s1 by FUNCT_2:113;
rng s1 c= dom f1 by A4, A6, XBOOLE_1:1;
then A11: ( f1 /* s1 is convergent & f1 /. x0 = lim (f1 /* s1) ) by A2, A5, Def1;
(f2 * f1) /. x0 = f2 /. (f1 /. x0) by PARTFUN2:6, A1
.= lim (f2 /* (f1 /* s1)) by A11, A3, A8, NFCONT_1:def 9
.= lim ((f2 * f1) /* s1) by B1, FUNCT_2:113 ;
hence ( (f2 * f1) /* s1 is convergent & (f2 * f1) /. x0 = lim ((f2 * f1) /* s1) ) by A3, A11, A8, A10, NFCONT_1:def 9; :: thesis: verum