reserve y for set,
  x,r,a,b for Real,
  n for Element of NAT,
  Z for open Subset of REAL,
  f,f1,f2,f3 for PartFunc of REAL,REAL;

theorem
  Z c= dom (exp_R(#)sin) implies exp_R(#)sin is_differentiable_on Z &
  for x st x in Z holds ((exp_R(#)sin)`|Z).x = exp_R.x*(sin.x+cos.x)
proof
A1: sin is_differentiable_on Z & exp_R is_differentiable_on Z by FDIFF_1:26
,SIN_COS:68,TAYLOR_1:16;
  assume
A2: Z c= dom (exp_R(#)sin);
  now
    let x;
    assume x in Z;
    hence ((exp_R(#)sin)`|Z).x = sin.x * diff(exp_R,x) + exp_R.x * diff(sin,x)
    by A2,A1,FDIFF_1:21
      .=sin.x*exp_R.x+ (exp_R.x)*diff(sin,x) by TAYLOR_1:16
      .=sin.x*exp_R.x+ exp_R.x*cos.x by SIN_COS:64
      .=exp_R.x*(sin.x+cos.x);
  end;
  hence thesis by A2,A1,FDIFF_1:21;
end;
