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

set f = id Z;
assume that
A1: not 0 in Z and
A2: Z c= dom (cot * ((id Z) ^ )) ; :: thesis: ( cot * ((id Z) ^ ) is_differentiable_on Z & ( for x being Real st x in Z holds
((cot * ((id Z) ^ )) `| Z) . x = 1 / ((x ^2 ) * ((sin . (1 / x)) ^2 )) ) )

A3: (id Z) ^ is_differentiable_on Z by A1, FDIFF_5:4;
dom (cot * ((id Z) ^ )) c= dom ((id Z) ^ ) by RELAT_1:44;
then A4: Z c= dom ((id Z) ^ ) by A2, XBOOLE_1:1;
A5: for x being Real st x in Z holds
sin . (((id Z) ^ ) . x) <> 0
proof
let x be Real; :: thesis: ( x in Z implies sin . (((id Z) ^ ) . x) <> 0 )
assume x in Z ; :: thesis: sin . (((id Z) ^ ) . x) <> 0
then ((id Z) ^ ) . x in dom (cos / sin ) by A2, FUNCT_1:21;
hence sin . (((id Z) ^ ) . x) <> 0 by Th2; :: thesis: verum
end;
A6: for x being Real st x in Z holds
cot * ((id Z) ^ ) is_differentiable_in x
proof end;
then A9: cot * ((id Z) ^ ) is_differentiable_on Z by A2, FDIFF_1:16;
for x being Real st x in Z holds
((cot * ((id Z) ^ )) `| Z) . x = 1 / ((x ^2 ) * ((sin . (1 / x)) ^2 ))
proof
let x be Real; :: thesis: ( x in Z implies ((cot * ((id Z) ^ )) `| Z) . x = 1 / ((x ^2 ) * ((sin . (1 / x)) ^2 )) )
assume A10: x in Z ; :: thesis: ((cot * ((id Z) ^ )) `| Z) . x = 1 / ((x ^2 ) * ((sin . (1 / x)) ^2 ))
then A11: (id Z) ^ is_differentiable_in x by A3, FDIFF_1:16;
A12: sin . (((id Z) ^ ) . x) <> 0 by A5, A10;
then cot is_differentiable_in ((id Z) ^ ) . x by FDIFF_7:47;
then diff (cot * ((id Z) ^ )),x = (diff cot ,(((id Z) ^ ) . x)) * (diff ((id Z) ^ ),x) by A11, FDIFF_2:13
.= (- (1 / ((sin . (((id Z) ^ ) . x)) ^2 ))) * (diff ((id Z) ^ ),x) by A12, FDIFF_7:47
.= - ((diff ((id Z) ^ ),x) / ((sin . (((id Z) ^ ) . x)) ^2 ))
.= - ((diff ((id Z) ^ ),x) / ((sin . (((id Z) . x) " )) ^2 )) by A4, A10, RFUNCT_1:def 8
.= - ((diff ((id Z) ^ ),x) / ((sin . (1 * (x " ))) ^2 )) by A10, FUNCT_1:35
.= - (((((id Z) ^ ) `| Z) . x) / ((sin . (1 * (x " ))) ^2 )) by A3, A10, FDIFF_1:def 8
.= - ((- (1 / (x ^2 ))) / ((sin . (1 * (x " ))) ^2 )) by A1, A10, FDIFF_5:4
.= - (((- 1) / (x ^2 )) / ((sin . (1 / x)) ^2 ))
.= - ((- 1) / ((x ^2 ) * ((sin . (1 / x)) ^2 ))) by XCMPLX_1:79
.= 1 / ((x ^2 ) * ((sin . (1 / x)) ^2 )) ;
hence ((cot * ((id Z) ^ )) `| Z) . x = 1 / ((x ^2 ) * ((sin . (1 / x)) ^2 )) by A9, A10, FDIFF_1:def 8; :: thesis: verum
end;
hence ( cot * ((id Z) ^ ) is_differentiable_on Z & ( for x being Real st x in Z holds
((cot * ((id Z) ^ )) `| Z) . x = 1 / ((x ^2 ) * ((sin . (1 / x)) ^2 )) ) ) by A2, A6, FDIFF_1:16; :: thesis: verum