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

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

A2: for x being Real st x in Z holds
cos . (cot . x) <> 0
proof
let x be Real; :: thesis: ( x in Z implies cos . (cot . x) <> 0 )
assume x in Z ; :: thesis: cos . (cot . x) <> 0
then cot . x in dom tan by ;
hence cos . (cot . x) <> 0 by FDIFF_8:1; :: thesis: verum
end;
A3: for x being Real st x in Z holds
sin . x <> 0
proof
let x be Real; :: thesis: ( x in Z implies sin . x <> 0 )
assume x in Z ; :: thesis:
then x in dom () by ;
hence sin . x <> 0 by FDIFF_8:2; :: thesis: verum
end;
A4: for x being Real st x in Z holds
tan * cot is_differentiable_in x
proof end;
then A7: tan * cot is_differentiable_on Z by ;
for x being Real st x in Z holds
(() `| Z) . x = (1 / ((cos . (cot . x)) ^2)) * (- (1 / ((sin . x) ^2)))
proof
let x be Real; :: thesis: ( x in Z implies (() `| Z) . x = (1 / ((cos . (cot . x)) ^2)) * (- (1 / ((sin . x) ^2))) )
assume A8: x in Z ; :: thesis: (() `| Z) . x = (1 / ((cos . (cot . x)) ^2)) * (- (1 / ((sin . x) ^2)))
then A9: cos . (cot . x) <> 0 by A2;
then A10: tan is_differentiable_in cot . x by FDIFF_7:46;
A11: sin . x <> 0 by A3, A8;
then cot is_differentiable_in x by FDIFF_7:47;
then diff ((),x) = (diff (tan,(cot . x))) * (diff (cot,x)) by
.= (1 / ((cos . (cot . x)) ^2)) * (diff (cot,x)) by
.= (1 / ((cos . (cot . x)) ^2)) * (- (1 / ((sin . x) ^2))) by ;
hence ((tan * cot) `| Z) . x = (1 / ((cos . (cot . x)) ^2)) * (- (1 / ((sin . x) ^2))) by ; :: thesis: verum
end;
hence ( tan * cot is_differentiable_on Z & ( for x being Real st x in Z holds
(() `| Z) . x = (1 / ((cos . (cot . x)) ^2)) * (- (1 / ((sin . x) ^2))) ) ) by ; :: thesis: verum