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

A1: for x being Real st x in Z holds
cos * cos is_differentiable_in x
proof end;
rng cos c= REAL ;
then A3: dom (cos * cos ) = REAL by RELAT_1:46, SIN_COS:27;
then A4: cos * cos is_differentiable_on Z by A1, FDIFF_1:16;
for x being Real st x in Z holds
((cos * cos ) `| Z) . x = (sin . (cos . x)) * (sin . x)
proof
let x be Real; :: thesis: ( x in Z implies ((cos * cos ) `| Z) . x = (sin . (cos . x)) * (sin . x) )
assume A5: x in Z ; :: thesis: ((cos * cos ) `| Z) . x = (sin . (cos . x)) * (sin . x)
A6: cos is_differentiable_in cos . x by SIN_COS:68;
cos is_differentiable_in x by SIN_COS:68;
then diff (cos * cos ),x = (diff cos ,(cos . x)) * (diff cos ,x) by A6, FDIFF_2:13
.= (- (sin . (cos . x))) * (diff cos ,x) by SIN_COS:68
.= (- (sin . (cos . x))) * (- (sin . x)) by SIN_COS:68 ;
hence ((cos * cos ) `| Z) . x = (sin . (cos . x)) * (sin . x) by A4, A5, FDIFF_1:def 8; :: thesis: verum
end;
hence ( cos * cos is_differentiable_on Z & ( for x being Real st x in Z holds
((cos * cos ) `| Z) . x = (sin . (cos . x)) * (sin . x) ) ) by A3, A1, FDIFF_1:16; :: thesis: verum