let x0 be Real; :: thesis: for S being RealNormSpace
for f1 being PartFunc of REAL,S
for f2 being PartFunc of S,REAL 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 be RealNormSpace; :: thesis: for f1 being PartFunc of REAL,S
for f2 being PartFunc of S,REAL 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,S; :: thesis: for f2 being PartFunc of S,REAL 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 S,REAL; :: 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
let s1 be Real_Sequence; :: according to FCONT_1:def 1 :: thesis: ( not rng s1 c= dom (f2 * f1) or not s1 is convergent or not lim s1 = x0 or ( (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:25;
A7: rng (f1 /* s1) c= dom f2
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in rng (f1 /* s1) or x in dom f2 )
assume x in rng (f1 /* s1) ; :: thesis: x in dom f2
then consider n being Element of NAT such that
A8: x = (f1 /* s1) . n by FUNCT_2:113;
s1 . n in rng s1 by VALUED_0:28;
then f1 . (s1 . n) in dom f2 by A4, FUNCT_1:11;
hence x in dom f2 by A4, A6, A8, FUNCT_2:108, XBOOLE_1:1; :: thesis: verum
end;
A9: now :: thesis: for n being Element of NAT holds ((f2 * f1) /* s1) . n = (f2 /* (f1 /* s1)) . n
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 A10: s1 . n in dom f1 by A4, FUNCT_1:11;
thus ((f2 * f1) /* s1) . n = (f2 * f1) . (s1 . n) by A4, FUNCT_2:108
.= f2 . (f1 . (s1 . n)) by A10, FUNCT_1:13
.= f2 . ((f1 /* s1) . n) by A4, A6, FUNCT_2:108, XBOOLE_1:1
.= (f2 /* (f1 /* s1)) . n by A7, FUNCT_2:108 ; :: thesis: verum
end;
then A11: f2 /* (f1 /* s1) = (f2 * f1) /* s1 by FUNCT_2:63;
rng s1 c= dom f1 by A4, A6;
then A12: ( f1 /* s1 is convergent & f1 /. x0 = lim (f1 /* s1) ) by A2, A5;
hence (f2 * f1) /* s1 is convergent by A3, A7, A11, NFCONT_1:def 6; :: thesis: (f2 * f1) . x0 = lim ((f2 * f1) /* s1)
thus (f2 * f1) . x0 = (f2 * f1) /. x0 by A1, PARTFUN1:def 6
.= f2 /. (f1 /. x0) by A1, PARTFUN2:3
.= lim (f2 /* (f1 /* s1)) by A12, A3, A7, NFCONT_1:def 6
.= lim ((f2 * f1) /* s1) by A9, FUNCT_2:63 ; :: thesis: verum