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

assume A1: Z c= dom (cosec * cos) ; :: thesis: ( cosec * cos is_differentiable_on Z & ( for x being Real st x in Z holds
((cosec * cos) `| Z) . x = ((sin . x) * (cos . (cos . x))) / ((sin . (cos . x)) ^2) ) )

A2: for x being Real st x in Z holds
sin . (cos . x) <> 0
proof
let x be Real; :: thesis: ( x in Z implies sin . (cos . x) <> 0 )
assume x in Z ; :: thesis: sin . (cos . x) <> 0
then cos . x in dom cosec by A1, FUNCT_1:11;
hence sin . (cos . x) <> 0 by RFUNCT_1:3; :: thesis: verum
end;
A3: for x being Real st x in Z holds
cosec * cos is_differentiable_in x
proof end;
then A4: cosec * cos is_differentiable_on Z by A1, FDIFF_1:9;
for x being Real st x in Z holds
((cosec * cos) `| Z) . x = ((sin . x) * (cos . (cos . x))) / ((sin . (cos . x)) ^2)
proof
let x be Real; :: thesis: ( x in Z implies ((cosec * cos) `| Z) . x = ((sin . x) * (cos . (cos . x))) / ((sin . (cos . x)) ^2) )
assume A5: x in Z ; :: thesis: ((cosec * cos) `| Z) . x = ((sin . x) * (cos . (cos . x))) / ((sin . (cos . x)) ^2)
then A6: sin . (cos . x) <> 0 by A2;
then ( cos is_differentiable_in x & cosec is_differentiable_in cos . x ) by Th2, SIN_COS:63;
then diff ((cosec * cos),x) = (diff (cosec,(cos . x))) * (diff (cos,x)) by FDIFF_2:13
.= (- ((cos . (cos . x)) / ((sin . (cos . x)) ^2))) * (diff (cos,x)) by A6, Th2
.= (- (sin . x)) * (- ((cos . (cos . x)) / ((sin . (cos . x)) ^2))) by SIN_COS:63 ;
hence ((cosec * cos) `| Z) . x = ((sin . x) * (cos . (cos . x))) / ((sin . (cos . x)) ^2) by A4, A5, FDIFF_1:def 7; :: thesis: verum
end;
hence ( cosec * cos is_differentiable_on Z & ( for x being Real st x in Z holds
((cosec * cos) `| Z) . x = ((sin . x) * (cos . (cos . x))) / ((sin . (cos . x)) ^2) ) ) by A1, A3, FDIFF_1:9; :: thesis: verum