 reserve a,b,r for Real;
 reserve A for non empty set;
 reserve X,x for set;
 reserve f,g,F,G for PartFunc of REAL,REAL;
 reserve n for Element of NAT;

theorem Th18:
  for f be PartFunc of REAL,REAL,
      X,Z be Subset of REAL
   st Z is open & Z c= X
    & f is_differentiable_on X
  holds
    f`| Z = (f`| X) | Z
proof
  let f be PartFunc of REAL,REAL,
      X,Z be Subset of REAL;
  assume
  A1: Z is open & Z c= X
    & f is_differentiable_on X;
  A2: f is_differentiable_on Z by A1,FDIFF_1:26; then
  A3: dom(f`| Z) = Z by FDIFF_1:def 7;
  A4: dom(f`| X) = X by A1,FDIFF_1:def 7;
  for x be object st x in dom((f`| X) | Z)
  holds ((f`| X) | Z).x = (f`| Z).x
  proof
    let x0 be object;
    assume
    A5: x0 in dom((f`| X) | Z); then
    A6: x0 in Z;
    reconsider x = x0 as Real by A5;
    thus ((f`| X) | Z).x0
     = (f`| X).x by A5,FUNCT_1:49
    .= diff(f,x) by A1,A6,FDIFF_1:def 7
    .= (f`| Z).x0 by A2,A5,FDIFF_1:def 7;
  end;
  hence thesis by A1,A3,A4,FUNCT_1:2,RELAT_1:62;
end;
