let Z be open Subset of REAL; :: thesis: ( not 0 in Z & Z c= dom (arccot * ((id Z) ^)) & ( for x being Real st x in Z holds
( ((id Z) ^) . x > - 1 & ((id Z) ^) . x < 1 ) ) implies ( 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)) ) ) )

set f = id Z;
assume that
A1: not 0 in Z and
A2: Z c= dom (arccot * ((id Z) ^)) and
A3: for x being Real st x in Z holds
( ((id Z) ^) . x > - 1 & ((id Z) ^) . x < 1 ) ; :: thesis: ( 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)) ) )

dom (arccot * ((id Z) ^)) c= dom ((id Z) ^) by RELAT_1:25;
then A4: Z c= dom ((id Z) ^) by A2, XBOOLE_1:1;
A5: (id Z) ^ is_differentiable_on Z by A1, FDIFF_5:4;
A6: for x being Real st x in Z holds
arccot * ((id Z) ^) is_differentiable_in x
proof
let x be Real; :: thesis: ( x in Z implies arccot * ((id Z) ^) is_differentiable_in x )
assume A7: x in Z ; :: thesis: arccot * ((id Z) ^) is_differentiable_in x
then A8: ((id Z) ^) . x > - 1 by A3;
A9: ((id Z) ^) . x < 1 by A3, A7;
(id Z) ^ is_differentiable_in x by A5, A7, FDIFF_1:9;
hence arccot * ((id Z) ^) is_differentiable_in x by A8, A9, Th86; :: thesis: verum
end;
then A10: arccot * ((id Z) ^) is_differentiable_on Z by A2, FDIFF_1:9;
for x being Real st x in Z holds
((arccot * ((id Z) ^)) `| Z) . x = 1 / (1 + (x ^2))
proof
let x be Real; :: thesis: ( x in Z implies ((arccot * ((id Z) ^)) `| Z) . x = 1 / (1 + (x ^2)) )
assume A11: x in Z ; :: thesis: ((arccot * ((id Z) ^)) `| Z) . x = 1 / (1 + (x ^2))
then A12: (id Z) ^ is_differentiable_in x by A5, FDIFF_1:9;
A13: ((id Z) ^) . x < 1 by A3, A11;
A14: ((id Z) ^) . x > - 1 by A3, A11;
(id Z) . x = x by A11, FUNCT_1:18;
then x <> 0 by A4, A11, RFUNCT_1:3;
then A15: x ^2 <> 0 by SQUARE_1:12;
((arccot * ((id Z) ^)) `| Z) . x = diff ((arccot * ((id Z) ^)),x) by A10, A11, FDIFF_1:def 7
.= - ((diff (((id Z) ^),x)) / (1 + ((((id Z) ^) . x) ^2))) by A12, A14, A13, Th86
.= - (((((id Z) ^) `| Z) . x) / (1 + ((((id Z) ^) . x) ^2))) by A5, A11, FDIFF_1:def 7
.= - ((- (1 / (x ^2))) / (1 + ((((id Z) ^) . x) ^2))) by A1, A11, FDIFF_5:4
.= - ((- (1 / (x ^2))) / (1 + ((((id Z) . x) ") ^2))) by A4, A11, RFUNCT_1:def 2
.= - ((- (1 / (x ^2))) / (1 + ((1 / x) ^2))) by A11, FUNCT_1:18
.= (1 / (x ^2)) / (1 + ((1 / x) ^2))
.= 1 / ((x ^2) * (1 + ((1 / x) ^2))) by XCMPLX_1:78
.= 1 / (((x ^2) * 1) + ((x ^2) * ((1 / x) ^2)))
.= 1 / ((x ^2) + ((x ^2) * (1 / (x * x)))) by XCMPLX_1:102
.= 1 / ((x ^2) + (((x ^2) * 1) / (x ^2)))
.= 1 / (1 + (x ^2)) by A15, XCMPLX_1:60 ;
hence ((arccot * ((id Z) ^)) `| Z) . x = 1 / (1 + (x ^2)) ; :: thesis: verum
end;
hence ( 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, A6, FDIFF_1:9; :: thesis: verum