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

assume that
A1: Z c= dom cot and
A2: Z c= ].(- 1),1.[ ; :: thesis: ( cot (#) (arctan - arccot ) is_differentiable_on Z & ( for x being Real st x in Z holds
((cot (#) (arctan - arccot )) `| Z) . x = (- (((arctan . x) - (arccot . x)) / ((sin . x) ^2 ))) + ((2 * (cot . x)) / (1 + (x ^2 ))) ) )

A3: arctan - arccot is_differentiable_on Z by A2, Th38;
for x being Real st x in Z holds
cot is_differentiable_in x
proof end;
then A4: cot is_differentiable_on Z by A1, FDIFF_1:16;
A5: ].(- 1),1.[ c= [.(- 1),1.] by XXREAL_1:25;
then ].(- 1),1.[ c= dom arccot by SIN_COS9:24, XBOOLE_1:1;
then A6: Z c= dom arccot by A2, XBOOLE_1:1;
].(- 1),1.[ c= dom arctan by A5, SIN_COS9:23, XBOOLE_1:1;
then Z c= dom arctan by A2, XBOOLE_1:1;
then Z c= (dom arctan ) /\ (dom arccot ) by A6, XBOOLE_1:19;
then A7: Z c= dom (arctan - arccot ) by VALUED_1:12;
then Z c= (dom cot ) /\ (dom (arctan - arccot )) by A1, XBOOLE_1:19;
then A8: Z c= dom (cot (#) (arctan - arccot )) by VALUED_1:def 4;
for x being Real st x in Z holds
((cot (#) (arctan - arccot )) `| Z) . x = (- (((arctan . x) - (arccot . x)) / ((sin . x) ^2 ))) + ((2 * (cot . x)) / (1 + (x ^2 )))
proof
let x be Real; :: thesis: ( x in Z implies ((cot (#) (arctan - arccot )) `| Z) . x = (- (((arctan . x) - (arccot . x)) / ((sin . x) ^2 ))) + ((2 * (cot . x)) / (1 + (x ^2 ))) )
assume A9: x in Z ; :: thesis: ((cot (#) (arctan - arccot )) `| Z) . x = (- (((arctan . x) - (arccot . x)) / ((sin . x) ^2 ))) + ((2 * (cot . x)) / (1 + (x ^2 )))
then A10: sin . x <> 0 by A1, FDIFF_8:2;
((cot (#) (arctan - arccot )) `| Z) . x = (((arctan - arccot ) . x) * (diff cot ,x)) + ((cot . x) * (diff (arctan - arccot ),x)) by A8, A4, A3, A9, FDIFF_1:29
.= (((arctan . x) - (arccot . x)) * (diff cot ,x)) + ((cot . x) * (diff (arctan - arccot ),x)) by A7, A9, VALUED_1:13
.= (((arctan . x) - (arccot . x)) * (- (1 / ((sin . x) ^2 )))) + ((cot . x) * (diff (arctan - arccot ),x)) by A10, FDIFF_7:47
.= (- (((arctan . x) - (arccot . x)) / ((sin . x) ^2 ))) + ((cot . x) * (((arctan - arccot ) `| Z) . x)) by A3, A9, FDIFF_1:def 8
.= (- (((arctan . x) - (arccot . x)) / ((sin . x) ^2 ))) + ((cot . x) * (2 / (1 + (x ^2 )))) by A2, A9, Th38
.= (- (((arctan . x) - (arccot . x)) / ((sin . x) ^2 ))) + ((2 * (cot . x)) / (1 + (x ^2 ))) ;
hence ((cot (#) (arctan - arccot )) `| Z) . x = (- (((arctan . x) - (arccot . x)) / ((sin . x) ^2 ))) + ((2 * (cot . x)) / (1 + (x ^2 ))) ; :: thesis: verum
end;
hence ( cot (#) (arctan - arccot ) is_differentiable_on Z & ( for x being Real st x in Z holds
((cot (#) (arctan - arccot )) `| Z) . x = (- (((arctan . x) - (arccot . x)) / ((sin . x) ^2 ))) + ((2 * (cot . x)) / (1 + (x ^2 ))) ) ) by A8, A4, A3, FDIFF_1:29; :: thesis: verum