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

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

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

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