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

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

A2: for x being Real st x in Z holds
tan . x > 0
proof
let x be Real; :: thesis: ( x in Z implies tan . x > 0 )
assume x in Z ; :: thesis: tan . x > 0
then tan . x in right_open_halfline 0 by A1, FUNCT_1:11, TAYLOR_1:18;
then ex g being Real st
( tan . x = g & 0 < g ) by Lm1;
hence tan . x > 0 ; :: thesis: verum
end;
dom (ln * tan) c= dom tan by RELAT_1:25;
then A3: Z c= dom tan by A1, XBOOLE_1:1;
A4: 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 Th1; :: thesis: verum
end;
A5: for x being Real st x in Z holds
tan is_differentiable_in x
proof end;
A6: for x being Real st x in Z holds
ln * tan is_differentiable_in x
proof end;
then A7: ln * tan is_differentiable_on Z by A1, FDIFF_1:9;
for x being Real st x in Z holds
((ln * tan) `| Z) . x = 1 / ((cos . x) * (sin . x))
proof
let x be Real; :: thesis: ( x in Z implies ((ln * tan) `| Z) . x = 1 / ((cos . x) * (sin . x)) )
assume A8: x in Z ; :: thesis: ((ln * tan) `| Z) . x = 1 / ((cos . x) * (sin . x))
then A9: cos . x <> 0 by A4;
( tan is_differentiable_in x & tan . x > 0 ) by A2, A5, A8;
then diff ((ln * tan),x) = (diff (tan,x)) / (tan . x) by TAYLOR_1:20
.= (1 / ((cos . x) ^2)) / (tan . x) by A9, FDIFF_7:46
.= 1 / (((cos . x) ^2) * (tan . x)) by XCMPLX_1:78
.= 1 / (((cos . x) ^2) * ((sin . x) / (cos . x))) by A3, A8, RFUNCT_1:def 1
.= 1 / ((((cos . x) ^2) * (sin . x)) / (cos . x))
.= (cos . x) / (((cos . x) ^2) * (sin . x)) by XCMPLX_1:57
.= ((cos . x) / ((cos . x) ^2)) / (sin . x) by XCMPLX_1:78
.= (((cos . x) / (cos . x)) / (cos . x)) / (sin . x) by XCMPLX_1:78
.= (1 / (cos . x)) / (sin . x) by A4, A8, XCMPLX_1:60
.= 1 / ((cos . x) * (sin . x)) by XCMPLX_1:78 ;
hence ((ln * tan) `| Z) . x = 1 / ((cos . x) * (sin . x)) by A7, A8, FDIFF_1:def 7; :: thesis: verum
end;
hence ( ln * tan is_differentiable_on Z & ( for x being Real st x in Z holds
((ln * tan) `| Z) . x = 1 / ((cos . x) * (sin . x)) ) ) by A1, A6, FDIFF_1:9; :: thesis: verum