reserve E, F, G,S,T,W,Y for RealNormSpace;
reserve f,f1,f2 for PartFunc of S,T;
reserve Z for Subset of S;
reserve i,n for Nat;

theorem
  for S, T,U be RealNormSpace
  for f1 be PartFunc of S,T
  for f2 be PartFunc of T,U
  for x0 be Point of S
   st x0 in dom(f2 * f1)
    & f1 is_continuous_in x0
    & f2 is_continuous_in f1 /. x0
  holds
    f2 * f1 is_continuous_in x0
proof
  let S, T,U be RealNormSpace;
  let f1 be PartFunc of S,T;
  let f2 be PartFunc of T,U;
  let x0 be Point of S;
  assume that
  A1: x0 in dom(f2 * f1) and
  A2: f1 is_continuous_in x0 and
  A3: f2 is_continuous_in f1 /. x0;

  set f = f2*f1;

  for r be Real st 0 < r
  holds
    ex s be Real
    st 0 < s
    & for x1 be Point of S
       st x1 in dom f & ||.x1 - x0.|| < s
      holds ||.(f /. x1) - (f /. x0).|| < r
  proof
    let r be Real;
    assume 0 < r; then
    consider t be Real such that
    A5: 0 < t &
        for y1 be Point of T
         st y1 in dom f2 & ||.y1 - f1/.x0.|| < t
        holds ||.(f2 /. y1) - (f2 /.(f1/.x0)).|| < r by A3,NFCONT_1:7;

    consider s be Real such that
    A6: 0 < s
      & for x1 be Point of S
         st x1 in dom f1 & ||.x1 - x0.|| < s
        holds ||.(f1 /. x1) - (f1/.x0).|| < t
        by A2,A5,NFCONT_1:7;

    take s;
    thus 0 < s by A6;
    let x1 be Point of S;

    assume that
    A7: x1 in dom f and
    A8: ||.x1 - x0.|| < s;

    A9: x1 in dom f1 & f1.x1 in dom f2 by A7,FUNCT_1:11;
    A10: ||.(f1 /. x1) - (f1/.x0).|| < t by A6,A7,A8,FUNCT_1:11;
    f1 /. x1 in dom f2 by A9,PARTFUN1:def 6;
    then A11: ||.(f2 /. (f1 /. x1)) - (f2 /.(f1/.x0)).|| < r by A5,A10;
    f2 /. (f1 /. x1) = f /. x1 by A7,PARTFUN2:3;
    hence ||.(f /. x1) - (f /. x0).|| < r by A1,A11,PARTFUN2:3;
  end;
  hence thesis by A1,NFCONT_1:7;
end;
