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

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