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

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

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