reserve n,m,k for Element of NAT;
reserve x, X,X1,Z,Z1 for set;
reserve s,g,r,p,x0,x1,x2 for Real;
reserve s1,s2,q1 for Real_Sequence;
reserve Y for Subset of REAL;
reserve f,f1,f2 for PartFunc of REAL,REAL;

theorem Th12:
  x0 in dom (f2*f1) & f1 is_continuous_in x0 & f2 is_continuous_in
  f1.x0 implies f2*f1 is_continuous_in x0
proof
  assume
A1: x0 in dom (f2*f1);
  assume that
A2: f1 is_continuous_in x0 and
A3: f2 is_continuous_in f1.x0;
  let s1 such that
A4: rng s1 c= dom (f2*f1) and
A5: s1 is convergent & lim s1 = x0;
A6: dom (f2*f1) c= dom f1 by RELAT_1:25;
  now
    let x be object;
    assume x in rng (f1/*s1);
    then consider n such that
A7: 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,A7,FUNCT_2:108,XBOOLE_1:1;
  end;
  then
A8: rng (f1/*s1) c= dom f2;
  now
    let n;
    s1.n in rng s1 by VALUED_0:28;
    then
A9: 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 A9,FUNCT_1:13
      .= f2.((f1/*s1).n) by A4,A6,FUNCT_2:108,XBOOLE_1:1
      .= (f2/*(f1/*s1)).n by A8,FUNCT_2:108;
  end;
  then
A10: f2/*(f1/*s1) = (f2*f1)/*s1 by FUNCT_2:63;
  rng s1 c= dom f1 by A4,A6;
  then
A11: f1/*s1 is convergent & f1.x0 = lim (f1/*s1) by A2,A5;
  then f2.(f1.x0) = lim (f2/*(f1/*s1)) by A3,A8;
  hence thesis by A1,A3,A11,A8,A10,FUNCT_1:12;
end;
