reserve x,r,a,x0,p for Real;
reserve n,i,m for Element of NAT;
reserve Z for open Subset of REAL;
reserve f,f1,f2 for PartFunc of REAL,REAL;
reserve k for Nat;

theorem Th21:
  f is_differentiable_on n,Z implies diff(r(#)f,Z).n = r(#)diff(f, Z).n
proof
  defpred P[Nat] means
f is_differentiable_on $1,Z implies diff(r
  (#)f,Z).$1 = r(#)diff(f,Z).$1;
A1: for k be Nat st P[k] holds P[k+1]
  proof
    let k be Nat;
    assume
A2: P[k];
    assume
A3: f is_differentiable_on (k+1),Z;
A4: diff(f,Z).k is_differentiable_on Z by A3;
    k<k+1 by NAT_1:19;
    then diff(r(#)f,Z).(k+1) = (r(#)diff(f,Z).k) `| Z by A2,A3,TAYLOR_1:23
,def 5
      .= r (#) (diff(f,Z).k `| Z) by A4,FDIFF_2:19
      .= r(#) diff(f,Z).(k+1) by TAYLOR_1:def 5;
    hence thesis;
  end;
A5: P[0]
  proof
    assume f is_differentiable_on 0,Z;
    diff(r(#)f,Z).0 = (r(#)f)|Z by TAYLOR_1:def 5
      .=r(#)f|Z by RFUNCT_1:49
      .=r(#)diff(f,Z).0 by TAYLOR_1:def 5;
    hence thesis;
  end;
  for k be Nat holds P[k] from NAT_1:sch 2(A5,A1);
  hence thesis;
end;
