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 Th19:
  for E,F,G be RealNormSpace,
      Z be Subset of E,
      T be Subset of F,
      u be PartFunc of E,F,
      v be PartFunc of F,G
   st u.:Z c= T
    & u is_differentiable_on Z
    & v is_differentiable_on T
  holds
    v*u is_differentiable_on Z
  & for x be Point of E st x in Z
    holds ((v*u) `| Z) /. x = ((v`| T) /. (u /. x)) * ((u`| Z)/.x)
proof
  let E,F,G be RealNormSpace,
      Z be Subset of E,
      T be Subset of F,
      u be PartFunc of E,F,
      v be PartFunc of F,G;

  assume that
  A1: u.:Z c= T and
  A2: u is_differentiable_on Z and
  A3: v is_differentiable_on T;

  A4: Z is open by A2,NDIFF_1:32;
  A5: T is open by A3,NDIFF_1:32;

  now
    let x be object;
    assume A6: x in Z;
    then u.x in u.:Z by A2,FUNCT_1:def 6;
    then u.x in T by A1;
    hence x in dom(v*u) by A2,A6,FUNCT_1:11,A3;
  end;
  then
  A7: Z c= dom(v*u) by TARSKI:def 3;
  A8: for x be Point of E st x in Z
      holds
          v*u is_differentiable_in x
        & diff(v*u, x) = diff(v, u/.x) * diff(u,x)
  proof
    let x be Point of E;
    assume A9: x in Z;
    then A10: u is_differentiable_in x by A2,A4,NDIFF_1:31;
    u/.x in u.:Z by A2,A9,PARTFUN2:23;
    then v is_differentiable_in u /. x by A1,A3,A5,NDIFF_1:31;
    hence thesis by A10,NDIFF_2:13;
  end;
  then
  for x be Point of E st x in Z
  holds v*u is_differentiable_in x;
  hence A11: v*u is_differentiable_on Z by A4,A7,NDIFF_1:31;

  for x be Point of E st x in Z
  holds ((v*u) `| Z )/. x = (( v`| T )/.(u /. x)) * (( u`| Z )/.x)
  proof
    let x be Point of E;
    assume A12: x in Z;
    then
    A13: ((v*u) `| Z )/.x
     = diff(v*u, x) by NDIFF_1:def 9,A11
    .= diff(v, u/.x) * diff(u,x) by A8,A12;

    u.x in u.:Z by A2,A12,FUNCT_1:def 6;
    then u.x in T by A1;
    then u/.x in T by A2,A12,PARTFUN1:def 6; then

    diff(v, u/.x) * diff(u,x)
     = ((v`| T)/.(u /. x)) * diff (u,x) by A3,NDIFF_1:def 9
    .= ((v`| T)/.(u /. x)) * ((u`| Z)/.x) by A2,A12,NDIFF_1:def 9;
    hence thesis by A13;
  end;
  hence thesis;
end;
