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

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

Z c= (dom (id Z)) /\ (dom (arccot * ((id Z) ^ ))) by A1, VALUED_1:def 4;
then A3: ( Z c= dom (id Z) & Z c= dom (arccot * ((id Z) ^ )) ) by XBOOLE_1:18;
for y being set st y in Z holds
y in dom ((id Z) ^ ) by A3, FUNCT_1:21;
then A4: Z c= dom ((id Z) ^ ) by TARSKI:def 3;
A5: ( arccot * ((id Z) ^ ) is_differentiable_on Z & ( for x being Real st x in Z holds
((arccot * ((id Z) ^ )) `| Z) . x = 1 / (1 + (x ^2 )) ) ) by A2, A3, SIN_COS9:112, A1;
AA: for x being Real st x in Z holds
(id Z) . x = (1 * x) + 0 by FUNCT_1:35;
then A6: ( id Z is_differentiable_on Z & ( for x being Real st x in Z holds
((id Z) `| Z) . x = 1 ) ) by A3, FDIFF_1:31;
for x being Real st x in Z holds
(((id Z) (#) (arccot * ((id Z) ^ ))) `| Z) . x = (arccot . (1 / x)) + (x / (1 + (x ^2 )))
proof
let x be Real; :: thesis: ( x in Z implies (((id Z) (#) (arccot * ((id Z) ^ ))) `| Z) . x = (arccot . (1 / x)) + (x / (1 + (x ^2 ))) )
assume A8: x in Z ; :: thesis: (((id Z) (#) (arccot * ((id Z) ^ ))) `| Z) . x = (arccot . (1 / x)) + (x / (1 + (x ^2 )))
(((id Z) (#) (arccot * ((id Z) ^ ))) `| Z) . x = (((arccot * ((id Z) ^ )) . x) * (diff (id Z),x)) + (((id Z) . x) * (diff (arccot * ((id Z) ^ )),x)) by A1, A5, A6, A8, FDIFF_1:29
.= (((arccot * ((id Z) ^ )) . x) * (((id Z) `| Z) . x)) + (((id Z) . x) * (diff (arccot * ((id Z) ^ )),x)) by A6, A8, FDIFF_1:def 8
.= (((arccot * ((id Z) ^ )) . x) * 1) + (((id Z) . x) * (diff (arccot * ((id Z) ^ )),x)) by A3, AA, A8, FDIFF_1:31
.= (((arccot * ((id Z) ^ )) . x) * 1) + (x * (diff (arccot * ((id Z) ^ )),x)) by A8, FUNCT_1:35
.= ((arccot * ((id Z) ^ )) . x) + (x * (((arccot * ((id Z) ^ )) `| Z) . x)) by A5, A8, FDIFF_1:def 8
.= ((arccot * ((id Z) ^ )) . x) + (x * (1 / (1 + (x ^2 )))) by A2, A3, A8, SIN_COS9:112, A1
.= (arccot . (((id Z) ^ ) . x)) + (x / (1 + (x ^2 ))) by A3, A8, FUNCT_1:22
.= (arccot . (((id Z) . x) " )) + (x / (1 + (x ^2 ))) by A4, A8, RFUNCT_1:def 8
.= (arccot . (1 / x)) + (x / (1 + (x ^2 ))) by A8, FUNCT_1:35 ;
hence (((id Z) (#) (arccot * ((id Z) ^ ))) `| Z) . x = (arccot . (1 / x)) + (x / (1 + (x ^2 ))) ; :: thesis: verum
end;
hence ( (id Z) (#) (arccot * ((id Z) ^ )) is_differentiable_on Z & ( for x being Real st x in Z holds
(((id Z) (#) (arccot * ((id Z) ^ ))) `| Z) . x = (arccot . (1 / x)) + (x / (1 + (x ^2 ))) ) ) by A1, A5, A6, FDIFF_1:29; :: thesis: verum