let S, T, U be RealNormSpace; :: thesis: for Z being Subset of S
for u being PartFunc of S,T
for v being PartFunc of S,U
for w being PartFunc of S,[:T,U:] st u is_differentiable_on Z & v is_differentiable_on Z & w = <:u,v:> holds
( 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)] ) )

let Z be Subset of S; :: thesis: for u being PartFunc of S,T
for v being PartFunc of S,U
for w being PartFunc of S,[:T,U:] st u is_differentiable_on Z & v is_differentiable_on Z & w = <:u,v:> holds
( 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)] ) )

let u be PartFunc of S,T; :: thesis: for v being PartFunc of S,U
for w being PartFunc of S,[:T,U:] st u is_differentiable_on Z & v is_differentiable_on Z & w = <:u,v:> holds
( 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)] ) )

let v be PartFunc of S,U; :: thesis: for w being PartFunc of S,[:T,U:] st u is_differentiable_on Z & v is_differentiable_on Z & w = <:u,v:> holds
( 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)] ) )

let w be PartFunc of S,[:T,U:]; :: thesis: ( u is_differentiable_on Z & v is_differentiable_on Z & w = <:u,v:> implies ( 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)] ) ) )

assume A1: ( u is_differentiable_on Z & v is_differentiable_on Z & w = <:u,v:> ) ; :: thesis: ( 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)] ) )

A2: dom w = (dom u) /\ (dom v) by A1, FUNCT_3:def 7;
A3: Z is open by A1, NDIFF_1:32;
A4: Z c= dom w by A1, A2, XBOOLE_1:19;
for x being Point of S st x in Z holds
w is_differentiable_in x
proof end;
hence A7: w is_differentiable_on Z by A3, A4, NDIFF_1:31; :: thesis: ( ( 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)] ) )

thus for x being Point of S st x in Z holds
(w `| Z) /. x = <:((u `| Z) /. x),((v `| Z) /. x):> :: thesis: 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)]
proof
let x be Point of S; :: thesis: ( x in Z implies (w `| Z) /. x = <:((u `| Z) /. x),((v `| Z) /. x):> )
assume A8: x in Z ; :: thesis: (w `| Z) /. x = <:((u `| Z) /. x),((v `| Z) /. x):>
then A9: u is_differentiable_in x by A1, A3, NDIFF_1:31;
A10: v is_differentiable_in x by A1, A3, A8, NDIFF_1:31;
thus (w `| Z) /. x = diff (w,x) by A7, A8, NDIFF_1:def 9
.= <:(diff (u,x)),(diff (v,x)):> by A1, A9, A10, Th27
.= <:((u `| Z) /. x),(diff (v,x)):> by A1, A8, NDIFF_1:def 9
.= <:((u `| Z) /. x),((v `| Z) /. x):> by A1, A8, NDIFF_1:def 9 ; :: thesis: verum
end;
thus 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)] :: thesis: verum
proof
let x be Point of S; :: thesis: ( x in Z implies for dx being Point of S holds ((w `| Z) /. x) . dx = [(((u `| Z) /. x) . dx),(((v `| Z) /. x) . dx)] )
assume A11: x in Z ; :: thesis: for dx being Point of S holds ((w `| Z) /. x) . dx = [(((u `| Z) /. x) . dx),(((v `| Z) /. x) . dx)]
let dx be Point of S; :: thesis: ((w `| Z) /. x) . dx = [(((u `| Z) /. x) . dx),(((v `| Z) /. x) . dx)]
A12: u is_differentiable_in x by A1, A3, A11, NDIFF_1:31;
A13: v is_differentiable_in x by A1, A3, A11, NDIFF_1:31;
thus ((w `| Z) /. x) . dx = (diff (w,x)) . dx by A7, A11, NDIFF_1:def 9
.= [((diff (u,x)) . dx),((diff (v,x)) . dx)] by A1, A12, A13, Th27
.= [(((u `| Z) /. x) . dx),((diff (v,x)) . dx)] by A1, A11, NDIFF_1:def 9
.= [(((u `| Z) /. x) . dx),(((v `| Z) /. x) . dx)] by A1, A11, NDIFF_1:def 9 ; :: thesis: verum
end;