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

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