let Z be open Subset of REAL; :: thesis: ( Z c= dom (sin (#) cot) implies ( sin (#) cot is_differentiable_on Z & ( for x being Real st x in Z holds
((sin (#) cot) `| Z) . x = ((cos . x) * (cot . x)) - (1 / (sin . x)) ) ) )

A1: for x being Real st x in Z holds
sin is_differentiable_in x by SIN_COS:64;
assume A2: Z c= dom (sin (#) cot) ; :: thesis: ( sin (#) cot is_differentiable_on Z & ( for x being Real st x in Z holds
((sin (#) cot) `| Z) . x = ((cos . x) * (cot . x)) - (1 / (sin . x)) ) )

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 being Real st x in Z holds
cot is_differentiable_in x
proof 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 being Real st x in Z holds
diff (cot,x) = - (1 / ((sin . x) ^2))
proof
let x be Real; :: thesis: ( x in Z implies diff (cot,x) = - (1 / ((sin . x) ^2)) )
assume x in Z ; :: thesis: diff (cot,x) = - (1 / ((sin . x) ^2))
then sin . x <> 0 by A4, FDIFF_8:2;
hence diff (cot,x) = - (1 / ((sin . x) ^2)) by FDIFF_7:47; :: thesis: verum
end;
for x being Real st x in Z holds
((sin (#) cot) `| Z) . x = ((cos . x) * (cot . x)) - (1 / (sin . x))
proof
let x be Real; :: thesis: ( x in Z implies ((sin (#) cot) `| Z) . x = ((cos . x) * (cot . x)) - (1 / (sin . x)) )
assume A8: x in Z ; :: thesis: ((sin (#) cot) `| Z) . x = ((cos . x) * (cot . x)) - (1 / (sin . x))
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 ((sin (#) cot) `| Z) . x = ((cos . x) * (cot . x)) - (1 / (sin . x)) ; :: thesis: verum
end;
hence ( sin (#) cot is_differentiable_on Z & ( for x being Real st x in Z holds
((sin (#) cot) `| Z) . x = ((cos . x) * (cot . x)) - (1 / (sin . x)) ) ) by A2, A5, A6, FDIFF_1:21; :: thesis: verum