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

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

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

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

A3: Z c= (dom (id Z)) /\ (dom (arccot * f)) by A1, VALUED_1:def 4;
then A4: Z c= dom (id Z) by XBOOLE_1:18;
A5: Z c= dom (arccot * f) by A3, XBOOLE_1:18;
for x being Real st x in Z holds
f . x = ((1 / r) * x) + 0
proof
let x be Real; :: thesis: ( x in Z implies f . x = ((1 / r) * x) + 0 )
assume x in Z ; :: thesis: f . x = ((1 / r) * x) + 0
then f . x = x / r by A2;
hence f . x = ((1 / r) * x) + 0 ; :: thesis: verum
end;
then A6: for x being Real st x in Z holds
( f . x = ((1 / r) * x) + 0 & f . x > - 1 & f . x < 1 ) by A2;
then A7: arccot * f is_differentiable_on Z by A5, Th88;
A8: for x being Real st x in Z holds
(id Z) . x = (1 * x) + 0 by FUNCT_1:18;
then A9: id Z is_differentiable_on Z by A4, FDIFF_1:23;
A10: for x being Real st x in Z holds
((arccot * f) `| Z) . x = - (1 / (r * (1 + ((x / r) ^2))))
proof
let x be Real; :: thesis: ( x in Z implies ((arccot * f) `| Z) . x = - (1 / (r * (1 + ((x / r) ^2)))) )
assume x in Z ; :: thesis: ((arccot * f) `| Z) . x = - (1 / (r * (1 + ((x / r) ^2))))
then ((arccot * f) `| Z) . x = - ((1 / r) / (1 + ((((1 / r) * x) + 0) ^2))) by A6, A5, Th88
.= - (1 / (r * (1 + ((x / r) ^2)))) by XCMPLX_1:78 ;
hence ((arccot * f) `| Z) . x = - (1 / (r * (1 + ((x / r) ^2)))) ; :: thesis: verum
end;
for x being Real st x in Z holds
(((id Z) (#) (arccot * f)) `| Z) . x = (arccot . (x / r)) - (x / (r * (1 + ((x / r) ^2))))
proof
let x be Real; :: thesis: ( x in Z implies (((id Z) (#) (arccot * f)) `| Z) . x = (arccot . (x / r)) - (x / (r * (1 + ((x / r) ^2)))) )
assume A11: x in Z ; :: thesis: (((id Z) (#) (arccot * f)) `| Z) . x = (arccot . (x / r)) - (x / (r * (1 + ((x / r) ^2))))
then A12: (arccot * f) . x = arccot . (f . x) by A5, FUNCT_1:12
.= arccot . (x / r) by A2, A11 ;
(((id Z) (#) (arccot * f)) `| Z) . x = (((arccot * f) . x) * (diff ((id Z),x))) + (((id Z) . x) * (diff ((arccot * f),x))) by A1, A9, A7, A11, FDIFF_1:21
.= (((arccot * f) . x) * (((id Z) `| Z) . x)) + (((id Z) . x) * (diff ((arccot * f),x))) by A9, A11, FDIFF_1:def 7
.= (((arccot * f) . x) * 1) + (((id Z) . x) * (diff ((arccot * f),x))) by A4, A8, A11, FDIFF_1:23
.= (((arccot * f) . x) * 1) + (((id Z) . x) * (((arccot * f) `| Z) . x)) by A7, A11, FDIFF_1:def 7
.= ((arccot * f) . x) + (x * (((arccot * f) `| Z) . x)) by A11, FUNCT_1:18
.= (arccot . (x / r)) + (x * (- (1 / (r * (1 + ((x / r) ^2)))))) by A10, A11, A12
.= (arccot . (x / r)) - (x / (r * (1 + ((x / r) ^2)))) ;
hence (((id Z) (#) (arccot * f)) `| Z) . x = (arccot . (x / r)) - (x / (r * (1 + ((x / r) ^2)))) ; :: thesis: verum
end;
hence ( (id Z) (#) (arccot * f) is_differentiable_on Z & ( for x being Real st x in Z holds
(((id Z) (#) (arccot * f)) `| Z) . x = (arccot . (x / r)) - (x / (r * (1 + ((x / r) ^2)))) ) ) by A1, A9, A7, FDIFF_1:21; :: thesis: verum