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

  assume
  A1: Z is open & Z c= X;

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

  A2: P[0]
  proof
    assume f is_differentiable_on 0,X;
    hence f is_differentiable_on 0,Z by A1,XBOOLE_1:1;
    A3: (f|X) = diff(f,0,X) by NDIFF_6:11;
    thus diff(f,0,Z)
     = f|Z by NDIFF_6:11
    .= diff(f,0,X) | Z by A1,A3,RELAT_1:74;
  end;

  A4: for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume A5: P[i];
    assume A6: f is_differentiable_on i+1,X;
    A7: 0+i <= i+1 by XREAL_1:7;
    for k be Nat st k <= i+1-1
    holds diff(f,k,Z) is_differentiable_on Z
    proof
      let k be Nat;
      assume A8: k <= i+1 - 1;

      per cases;
      suppose
        A9: k = i;
        diff(f,i,X) is_differentiable_on X by A6,NDIFF_6:14;
        then diff (f,i,X) is_differentiable_on Z by A1,NDIFF_1:46;
        hence diff(f,k,Z) is_differentiable_on Z
          by A5,A6,A7,A9,Th3,NDIFF_6:17;
      end;
      suppose
        k <> i;
        then k < i by A8,XXREAL_0:1;
        then k+1 <= i by NAT_1:13;
        then k+1-1 <= i-1 by XREAL_1:13;
        hence diff(f,k,Z) is_differentiable_on Z by A5,A6,A7,NDIFF_6:14,17;
      end;
    end;
    hence f is_differentiable_on i+1,Z by A1,A6,NDIFF_6:14,XBOOLE_1:1;

    A10: diff (f,i,X) is_differentiable_on X by A6,NDIFF_6:14;
    diff(f,i+1,Z)
     = (diff(f,i,X) | Z ) `| Z by A5,A6,A7,NDIFF_6:13,17
    .= diff(f,i,X) `| Z by A1,A10,Th4,NDIFF_1:46
    .= (diff(f,i,X) `| X) | Z by A1,A10,Th5
    .= diff(f,i+1,X) | Z by NDIFF_6:13;
    hence thesis;
  end;

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