let a, b be Real; :: thesis: for Z being open Subset of REAL
for f being PartFunc of REAL ,REAL st Z c= dom (f (#) tan ) & ( for x being Real st x in Z holds
f . x = (a * x) + b ) holds
( f (#) tan is_differentiable_on Z & ( for x being Real st x in Z holds
((f (#) tan ) `| Z) . x = ((a * (sin . x)) / (cos . x)) + (((a * x) + b) / ((cos . x) ^2 )) ) )

let Z be open Subset of REAL ; :: thesis: for f being PartFunc of REAL ,REAL st Z c= dom (f (#) tan ) & ( for x being Real st x in Z holds
f . x = (a * x) + b ) holds
( f (#) tan is_differentiable_on Z & ( for x being Real st x in Z holds
((f (#) tan ) `| Z) . x = ((a * (sin . x)) / (cos . x)) + (((a * x) + b) / ((cos . x) ^2 )) ) )

let f be PartFunc of REAL ,REAL ; :: thesis: ( Z c= dom (f (#) tan ) & ( for x being Real st x in Z holds
f . x = (a * x) + b ) implies ( f (#) tan is_differentiable_on Z & ( for x being Real st x in Z holds
((f (#) tan ) `| Z) . x = ((a * (sin . x)) / (cos . x)) + (((a * x) + b) / ((cos . x) ^2 )) ) ) )

assume that
A1: Z c= dom (f (#) tan ) and
A2: for x being Real st x in Z holds
f . x = (a * x) + b ; :: thesis: ( f (#) tan is_differentiable_on Z & ( for x being Real st x in Z holds
((f (#) tan ) `| Z) . x = ((a * (sin . x)) / (cos . x)) + (((a * x) + b) / ((cos . x) ^2 )) ) )

A3: Z c= (dom f) /\ (dom tan ) by A1, VALUED_1:def 4;
then A4: Z c= dom f by XBOOLE_1:18;
A5: Z c= dom tan by A3, XBOOLE_1:18;
A6: ( f is_differentiable_on Z & ( for x being Real st x in Z holds
(f `| Z) . x = a ) ) by A2, A4, FDIFF_1:31;
A7: for x being Real st x in Z holds
( tan is_differentiable_in x & diff tan ,x = 1 / ((cos . x) ^2 ) )
proof
let x be Real; :: thesis: ( x in Z implies ( tan is_differentiable_in x & diff tan ,x = 1 / ((cos . x) ^2 ) ) )
assume x in Z ; :: thesis: ( tan is_differentiable_in x & diff tan ,x = 1 / ((cos . x) ^2 ) )
then cos . x <> 0 by A5, Th1;
hence ( tan is_differentiable_in x & diff tan ,x = 1 / ((cos . x) ^2 ) ) by FDIFF_7:46; :: thesis: verum
end;
then for x being Real st x in Z holds
tan is_differentiable_in x ;
then A8: tan is_differentiable_on Z by A5, FDIFF_1:16;
for x being Real st x in Z holds
((f (#) tan ) `| Z) . x = ((a * (sin . x)) / (cos . x)) + (((a * x) + b) / ((cos . x) ^2 ))
proof
let x be Real; :: thesis: ( x in Z implies ((f (#) tan ) `| Z) . x = ((a * (sin . x)) / (cos . x)) + (((a * x) + b) / ((cos . x) ^2 )) )
assume A9: x in Z ; :: thesis: ((f (#) tan ) `| Z) . x = ((a * (sin . x)) / (cos . x)) + (((a * x) + b) / ((cos . x) ^2 ))
then ((f (#) tan ) `| Z) . x = ((tan . x) * (diff f,x)) + ((f . x) * (diff tan ,x)) by A1, A6, A8, FDIFF_1:29
.= ((tan . x) * ((f `| Z) . x)) + ((f . x) * (diff tan ,x)) by A6, A9, FDIFF_1:def 8
.= ((tan . x) * a) + ((f . x) * (diff tan ,x)) by A2, A4, A9, FDIFF_1:31
.= ((tan . x) * a) + (((a * x) + b) * (diff tan ,x)) by A2, A9
.= ((tan . x) * a) + (((a * x) + b) * (1 / ((cos . x) ^2 ))) by A7, A9
.= (((sin . x) / (cos . x)) * (a / 1)) + (((a * x) + b) / ((cos . x) ^2 )) by A5, A9, RFUNCT_1:def 4
.= ((a * (sin . x)) / (cos . x)) + (((a * x) + b) / ((cos . x) ^2 )) ;
hence ((f (#) tan ) `| Z) . x = ((a * (sin . x)) / (cos . x)) + (((a * x) + b) / ((cos . x) ^2 )) ; :: thesis: verum
end;
hence ( f (#) tan is_differentiable_on Z & ( for x being Real st x in Z holds
((f (#) tan ) `| Z) . x = ((a * (sin . x)) / (cos . x)) + (((a * x) + b) / ((cos . x) ^2 )) ) ) by A1, A6, A8, FDIFF_1:29; :: thesis: verum