reserve x for Real,

  Z for open Subset of REAL;

theorem
  Z c= dom (sin (#) cot) implies (sin (#) cot) is_differentiable_on Z &
  for x st x in Z holds((sin (#) cot)`|Z).x = cos.x*cot.x - 1/sin.x
proof
A1: for x st x in Z holds sin is_differentiable_in x by SIN_COS:64;
  assume
A2: Z c= dom (sin (#) cot);
  then
A3: Z c= dom sin /\ dom cot by VALUED_1:def 4;
  then
A4: Z c= dom cot by XBOOLE_1:18;
  for x st x in Z holds cot is_differentiable_in x
  proof
    let x;
    assume x in Z;
    then sin.x <> 0 by A4,FDIFF_8:2;
    hence thesis by FDIFF_7:47;
  end;
  then
A5: cot is_differentiable_on Z by A4,FDIFF_1:9;
  Z c= dom sin by A3,XBOOLE_1:18;
  then
A6: sin is_differentiable_on Z by A1,FDIFF_1:9;
A7: for x st x in Z holds diff(cot, x)=-1/(sin.x)^2
  proof
    let x;
    assume x in Z;
    then sin.x<>0 by A4,FDIFF_8:2;
    hence thesis by FDIFF_7:47;
  end;
  for x st x in Z holds((sin (#) cot)`|Z).x = cos.x*cot.x- 1/sin.x
  proof
    let x;
    assume
A8: x in Z;
    then ((sin (#) cot)`|Z).x = diff(sin,x)*cot.x+sin.x*diff(cot,x) by A2,A5,A6
,FDIFF_1:21
      .=cos.x*cot.x+sin.x*diff(cot,x) by SIN_COS:64
      .=cos.x*cot.x+sin.x*(-1/(sin.x)^2) by A7,A8
      .=cos.x*cot.x-sin.x/(sin.x)^2
      .=cos.x*cot.x-sin.x/sin.x/sin.x by XCMPLX_1:78
      .=cos.x*cot.x-1/sin.x by A4,A8,FDIFF_8:2,XCMPLX_1:60;
    hence thesis;
  end;
  hence thesis by A2,A5,A6,FDIFF_1:21;
end;
