reserve p for Real;
reserve S,T for RealNormSpace;
reserve x0 for Point of S;
reserve f for PartFunc of S,T;
reserve c for constant sequence of S;
reserve R for RestFunc of S,T;
reserve U for RealNormSpace;

theorem
  for R1 be RestFunc of S,T st R1/.0.S=0.T
  for R2 be RestFunc of T,U st R2/.0.T=0.U holds R2*R1 is RestFunc of S,U
proof
  let R1 be RestFunc of S,T such that
A1: R1/.0.S=0.T;
  let R2 be RestFunc of T,U such that
A2: R2/.0.T=0.U;
  R2 is total by NDIFF_1:def 5;
  then dom R2 = the carrier of T by PARTFUN1:def 2;
  then
A3: rng R1 c= dom R2;
A4: R1 is total by NDIFF_1:def 5;
  then
A5: dom R1 = the carrier of S by PARTFUN1:def 2;
A6: now
    consider d1 be Real such that
A7: 0 < d1 and
A8: for h be Point of S st ||.h.|| < d1 holds ||.R1/.h.|| <=1* ||.h
    .|| by A1,Th7;
    let e0 be Real such that
A9: e0 > 0;
    set e=e0/2;
A10: e < e0 by A9,XREAL_1:216;
    e > 0 by A9,XREAL_1:215;
    then consider d2 be Real such that
A11: 0 < d2 and
A12: for z be Point of T st ||.z.|| < d2 holds ||.R2/.z.|| <= e*||.z
    .|| by A2,Th7;
    set d=min(d1,d2);
A13: d <=d2 by XXREAL_0:17;
A14: d <=d1 by XXREAL_0:17;
A15: now
      let h be Point of S such that
A16:  h <> 0.S and
A17:  ||.h.|| < d;
      ||.h.|| < d1 by A14,A17,XXREAL_0:2;
      then
A18:  ||.R1/.h.|| <=1* ||.h.|| by A8;
      then ||.R1/.h.|| < d by A17,XXREAL_0:2;
      then ||.R1/.h.|| < d2 by A13,XXREAL_0:2;
      then
A19:  ||.R2/.(R1/.h).|| <= e*||.R1/.h.|| by A12;
      e*||.R1/.h.|| <= e* ||.h.|| by A9,A18,XREAL_1:64;
      then
A20:  ||.R2/.(R1/.h).|| <= e*||.h.|| by A19,XXREAL_0:2;
A21:  ||.h.|| <> 0 by A16,NORMSP_0:def 5;
      then ||.h.|| > 0 by NORMSP_1:4;
      then ||.h.||"* ||.R2/.(R1/.h).|| <= ||.h.||"*(e*||.h.||) by A20,
XREAL_1:64;
      then ||.h.||"* ||.R2/.(R1/.h).|| <= ||.h.||"*||.h.||*e;
      then
A22:  ||.h.||"* ||.R2/.(R1/.h).|| <= 1*e by A21,XCMPLX_0:def 7;
      R2/.(R1/.h) =(R2*R1)/.h by A5,A3,PARTFUN2:5;
      hence ||.h.||"* ||.(R2*R1)/.h.|| < e0 by A10,A22,XXREAL_0:2;
    end;
    0 < d by A11,A7,XXREAL_0:15;
    hence
    ex d be Real st d > 0 &
    for h be Point of S st h <> 0.S & ||.h.|| < d
    holds ||.h.||"* ||.(R2*R1)/.h.|| < e0 by A15;
  end;
  dom(R2*R1) = dom R1 by A3,RELAT_1:27
    .= the carrier of S by A4,PARTFUN1:def 2;
  then R2*R1 is total by PARTFUN1:def 2;
  hence thesis by A6,NDIFF_1:23;
end;
