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 Th7:
  for S,T be RealNormSpace,
      f be PartFunc of S,T,
      Z be Subset of S
  holds
    for k be Nat
    st f is_differentiable_on k,Z
    holds
      f|Z is_differentiable_on k,Z
    & diff(f|Z,k,Z) = diff(f,k,Z)
proof
  let S,T be RealNormSpace,
      f be PartFunc of S,T,
      Z be Subset of S;

  defpred P[Nat] means
    f is_differentiable_on $1,Z
  implies
    f|Z is_differentiable_on $1,Z
  & diff(f|Z,$1,Z) = diff(f,$1,Z);

  A1: P[0]
  proof
    assume f is_differentiable_on 0,Z;
    hence f|Z is_differentiable_on 0,Z by RELAT_1:62;

    diff(f|Z,0,Z)
     = (f|Z)|Z by NDIFF_6:11
    .= f|Z;
    hence diff(f|Z,0,Z) = diff(f,0,Z) by NDIFF_6:11;
  end;

  A4: for k be Nat st P[k] holds P[k+1]
  proof
    let k be Nat;
    assume A5: P[k];
    assume A6: f is_differentiable_on k+1,Z;
    then A7: dom(f|Z) = Z by RELAT_1:62;
    A8: k + 0 <= k + 1 by XREAL_1:7;
    for i be Nat st i <= k+1 -1
    holds diff(f|Z,i,Z) is_differentiable_on Z
    proof
      let i be Nat;
      assume A9: i <= k+1 -1;
      per cases;
      suppose i = k;
        hence diff (f|Z,i,Z) is_differentiable_on Z
        by A5,A6,A8,NDIFF_6:14,17;
      end;
      suppose i <> k;
        then i < k by A9,XXREAL_0:1;
        then i+1 <= k by NAT_1:13;
        then i+1 -1 <= k -1 by XREAL_1:13;
        hence diff(f|Z,i,Z) is_differentiable_on Z
          by A5,A6,A8,NDIFF_6:14,17;
      end;
    end;
    hence f|Z is_differentiable_on k+1,Z by A7,NDIFF_6:14;
    thus diff(f|Z,k+1,Z)
     = diff(f,k,Z) `| Z by A5,A6,A8,NDIFF_6:13,17
    .= diff(f,k+1,Z) by NDIFF_6:13;
  end;

  for k be Nat holds P[k] from NAT_1:sch 2(A1,A4);
  hence thesis;
end;
