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
  x in Z implies (diff(r(#)exp_R,Z).n).x = r*exp_R.x
proof
  assume
A1: x in Z;
A2: exp_R is_differentiable_on n,Z by TAYLOR_2:10;
  per cases;
  suppose
    n>0;
    then 0<0+n;
    then 1<=n by NAT_1:19;
    then reconsider i=n-1 as Element of NAT by INT_1:5;
A3: diff(exp_R,Z).i is_differentiable_on Z by A2;
    dom (diff(exp_R,Z).n) = dom (diff(exp_R,Z).(i+1))
      .= dom((diff(exp_R,Z).i)`|Z) by TAYLOR_1:def 5
      .= Z by A3,FDIFF_1:def 7;
    then
A4: x in dom (r (#) diff(exp_R,Z).n) by A1,VALUED_1:def 5;
    (diff(r(#)exp_R,Z).n).x = (r (#) diff(exp_R,Z).n).x by Th21,TAYLOR_2:10
      .= r*(diff(exp_R,Z).n).x by A4,VALUED_1:def 5
      .= r*exp_R.x by A1,TAYLOR_2:7;
    hence thesis;
  end;
  suppose
A5: n=0;
A6: dom(r(#) (exp_R|Z )) = dom(exp_R|Z ) by VALUED_1:def 5
      .= Z by Th1;
    (diff(r(#)exp_R,Z).n).x = (r (#) diff(exp_R,Z).0).x by A5,Th21,TAYLOR_2:10
      .= (r (#) exp_R|Z).x by TAYLOR_1:def 5
      .= r* ( exp_R|Z).x by A1,A6,VALUED_1:def 5
      .= r*exp_R.x by A1,FUNCT_1:49;
    hence thesis;
  end;
end;
