let S, E, F, G be RealNormSpace; :: thesis: for Z being Subset of S
for B being Lipschitzian BilinearOperator of E,F,G
for W being PartFunc of S,G
for w being PartFunc of S,[:E,F:]
for u being PartFunc of S,E
for v being PartFunc of S,F st u is_differentiable_on Z & v is_differentiable_on Z & W = B * w & w = <:u,v:> holds
( W is_differentiable_on Z & ( for x being Point of S st x in Z holds
for ds being Point of S holds ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds))) ) )

let Z be Subset of S; :: thesis: for B being Lipschitzian BilinearOperator of E,F,G
for W being PartFunc of S,G
for w being PartFunc of S,[:E,F:]
for u being PartFunc of S,E
for v being PartFunc of S,F st u is_differentiable_on Z & v is_differentiable_on Z & W = B * w & w = <:u,v:> holds
( W is_differentiable_on Z & ( for x being Point of S st x in Z holds
for ds being Point of S holds ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds))) ) )

let B be Lipschitzian BilinearOperator of E,F,G; :: thesis: for W being PartFunc of S,G
for w being PartFunc of S,[:E,F:]
for u being PartFunc of S,E
for v being PartFunc of S,F st u is_differentiable_on Z & v is_differentiable_on Z & W = B * w & w = <:u,v:> holds
( W is_differentiable_on Z & ( for x being Point of S st x in Z holds
for ds being Point of S holds ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds))) ) )

let W be PartFunc of S,G; :: thesis: for w being PartFunc of S,[:E,F:]
for u being PartFunc of S,E
for v being PartFunc of S,F st u is_differentiable_on Z & v is_differentiable_on Z & W = B * w & w = <:u,v:> holds
( W is_differentiable_on Z & ( for x being Point of S st x in Z holds
for ds being Point of S holds ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds))) ) )

let w be PartFunc of S,[:E,F:]; :: thesis: for u being PartFunc of S,E
for v being PartFunc of S,F st u is_differentiable_on Z & v is_differentiable_on Z & W = B * w & w = <:u,v:> holds
( W is_differentiable_on Z & ( for x being Point of S st x in Z holds
for ds being Point of S holds ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds))) ) )

let u be PartFunc of S,E; :: thesis: for v being PartFunc of S,F st u is_differentiable_on Z & v is_differentiable_on Z & W = B * w & w = <:u,v:> holds
( W is_differentiable_on Z & ( for x being Point of S st x in Z holds
for ds being Point of S holds ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds))) ) )

let v be PartFunc of S,F; :: thesis: ( u is_differentiable_on Z & v is_differentiable_on Z & W = B * w & w = <:u,v:> implies ( W is_differentiable_on Z & ( for x being Point of S st x in Z holds
for ds being Point of S holds ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds))) ) ) )

assume that
A1: u is_differentiable_on Z and
A2: v is_differentiable_on Z and
A3: ( W = B * w & w = <:u,v:> ) ; :: thesis: ( W is_differentiable_on Z & ( for x being Point of S st x in Z holds
for ds being Point of S holds ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds))) ) )

A4: ( w is_differentiable_on Z & ( for x being Point of S st x in Z holds
(w `| Z) /. x = <:((u `| Z) /. x),((v `| Z) /. x):> ) & ( for x being Point of S st x in Z holds
for dx being Point of S holds ((w `| Z) /. x) . dx = [(((u `| Z) /. x) . dx),(((v `| Z) /. x) . dx)] ) ) by A1, A2, A3, Th28;
A5: B is_differentiable_on [#] [:E,F:] by NDIFF12:14;
w .: Z c= [#] [:E,F:] ;
hence A6: W is_differentiable_on Z by A3, A4, A5, Th19; :: thesis: for x being Point of S st x in Z holds
for ds being Point of S holds ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds)))

A7: Z is open by NDIFF_1:32, A1;
thus for x being Point of S st x in Z holds
for ds being Point of S holds ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds))) :: thesis: verum
proof
let x be Point of S; :: thesis: ( x in Z implies for ds being Point of S holds ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds))) )
assume A8: x in Z ; :: thesis: for ds being Point of S holds ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds)))
then A9: u is_differentiable_in x by A1, A7, NDIFF_1:31;
A10: v is_differentiable_in x by A2, A7, A8, NDIFF_1:31;
let ds be Point of S; :: thesis: ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds)))
A11: (diff (W,x)) . ds = (B . (((diff (u,x)) . ds),(v /. x))) + (B . ((u /. x),((diff (v,x)) . ds))) by A3, A4, A8, A9, A10, Th34;
A12: (W `| Z) /. x = diff (W,x) by A6, A8, NDIFF_1:def 9;
(u `| Z) /. x = diff (u,x) by A1, A8, NDIFF_1:def 9;
hence ((W `| Z) /. x) . ds = (B . ((((u `| Z) /. x) . ds),(v /. x))) + (B . ((u /. x),(((v `| Z) /. x) . ds))) by A2, A8, A11, A12, NDIFF_1:def 9; :: thesis: verum
end;