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 tan by XBOOLE_1:18;
A5: Z c= dom f by A3, XBOOLE_1:18;
then A6: f is_differentiable_on Z by A2, FDIFF_1:23;
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 A4, 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 A4, FDIFF_1:9;
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:21
.= ((tan . x) * ((f `| Z) . x)) + ((f . x) * (diff (tan,x))) by A6, A9, FDIFF_1:def 7
.= ((tan . x) * a) + ((f . x) * (diff (tan,x))) by A2, A5, A9, FDIFF_1:23
.= ((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 A4, A9, RFUNCT_1:def 1
.= ((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:21; :: thesis: verum