 reserve a,x for Real;
 reserve n for Element of NAT;
 reserve A for non empty closed_interval Subset of REAL;
 reserve f,h,f1,f2 for PartFunc of REAL,REAL;
 reserve Z for open Subset of REAL;

theorem Th31:
 Z c= dom (cot*exp_R) implies -cot*exp_R is_differentiable_on Z &
 for x st x in Z holds ((-cot*exp_R)`|Z).x = exp_R.x/(sin.(exp_R.x))^2
proof
  assume
A1:Z c= dom (cot*exp_R);
then A2:Z c= dom (-cot*exp_R) by VALUED_1:8;
A3:cot*exp_R is_differentiable_on Z by A1,FDIFF_8:13;
then A4:(-1)(#)(cot*exp_R) is_differentiable_on Z by A2,FDIFF_1:20;
A5:for x st x in Z holds sin.(exp_R.x)<>0
  proof
    let x;
    assume x in Z;
    then exp_R.x in dom (cos/sin) by A1,FUNCT_1:11;
    hence thesis by FDIFF_8:2;
  end;
  for x st x in Z holds ((-cot*exp_R)`|Z).x = exp_R.x/(sin.(exp_R.x))^2
  proof
    let x;
    assume
A6: x in Z;
A7: exp_R is_differentiable_in x by SIN_COS:65;
A8: sin.(exp_R.x)<>0 by A5,A6;then
A9: cot is_differentiable_in exp_R.x by FDIFF_7:47;
A10:cot*exp_R is_differentiable_in x by A3,A6,FDIFF_1:9;
 ((-cot*exp_R)`|Z).x=diff(-cot*exp_R,x) by A4,A6,FDIFF_1:def 7
                   .=(-1)*(diff(cot*exp_R,x)) by A10,FDIFF_1:15
                   .=(-1)*(diff(cot, exp_R.x)*diff(exp_R,x))
  by A7,A9,FDIFF_2:13
                   .=(-1)*((-1/(sin.(exp_R.x))^2) * diff(exp_R,x))
  by A8,FDIFF_7:47
                   .=(-1)*(-diff(exp_R,x)/(sin.(exp_R.x))^2)
                   .=exp_R.x/(sin.(exp_R.x))^2 by SIN_COS:65;
    hence thesis;
  end;
  hence thesis by A4;
end;
