let G be non-trivial RealNormSpace-Sequence; :: thesis: for T being non trivial RealNormSpace
for i being set
for Z being Subset of (product G)
for f being PartFunc of (product G),T st Z is open holds
( f is_partial_differentiable_on Z,i iff ( Z c= dom f & ( for x being Point of (product G) st x in Z holds
f is_partial_differentiable_in x,i ) ) )

let T be non trivial RealNormSpace; :: thesis: for i being set
for Z being Subset of (product G)
for f being PartFunc of (product G),T st Z is open holds
( f is_partial_differentiable_on Z,i iff ( Z c= dom f & ( for x being Point of (product G) st x in Z holds
f is_partial_differentiable_in x,i ) ) )

let i0 be set ; :: thesis: for Z being Subset of (product G)
for f being PartFunc of (product G),T st Z is open holds
( f is_partial_differentiable_on Z,i0 iff ( Z c= dom f & ( for x being Point of (product G) st x in Z holds
f is_partial_differentiable_in x,i0 ) ) )

let Z be Subset of (product G); :: thesis: for f being PartFunc of (product G),T st Z is open holds
( f is_partial_differentiable_on Z,i0 iff ( Z c= dom f & ( for x being Point of (product G) st x in Z holds
f is_partial_differentiable_in x,i0 ) ) )

let f be PartFunc of (product G),T; :: thesis: ( Z is open implies ( f is_partial_differentiable_on Z,i0 iff ( Z c= dom f & ( for x being Point of (product G) st x in Z holds
f is_partial_differentiable_in x,i0 ) ) ) )

assume A1: Z is open ; :: thesis: ( f is_partial_differentiable_on Z,i0 iff ( Z c= dom f & ( for x being Point of (product G) st x in Z holds
f is_partial_differentiable_in x,i0 ) ) )

set i = modetrans (G,i0);
set S = G . (modetrans (G,i0));
set RNS = R_NormSpace_of_BoundedLinearOperators ((G . (modetrans (G,i0))),T);
hereby :: thesis: ( Z c= dom f & ( for x being Point of (product G) st x in Z holds
f is_partial_differentiable_in x,i0 ) implies f is_partial_differentiable_on Z,i0 )
assume A3: f is_partial_differentiable_on Z,i0 ; :: thesis: ( Z c= dom f & ( for nx0 being Point of (product G) st nx0 in Z holds
f is_partial_differentiable_in nx0,i0 ) )

hence A4: Z c= dom f by Def19; :: thesis: for nx0 being Point of (product G) st nx0 in Z holds
f is_partial_differentiable_in nx0,i0

let nx0 be Point of (product G); :: thesis: ( nx0 in Z implies f is_partial_differentiable_in nx0,i0 )
reconsider x0 = (proj (modetrans (G,i0))) . nx0 as Point of (G . (modetrans (G,i0))) ;
assume A5: nx0 in Z ; :: thesis: f is_partial_differentiable_in nx0,i0
then f | Z is_partial_differentiable_in nx0,i0 by A3, Def19;
then (f | Z) * (reproj ((modetrans (G,i0)),nx0)) is_differentiable_in x0 by Def9;
then consider N0 being Neighbourhood of x0 such that
A6: N0 c= dom ((f | Z) * (reproj ((modetrans (G,i0)),nx0))) and
A7: ex L being Point of (R_NormSpace_of_BoundedLinearOperators ((G . (modetrans (G,i0))),T)) ex R being REST of (G . (modetrans (G,i0))),T st
for x being Point of (G . (modetrans (G,i0))) st x in N0 holds
(((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x) - (((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x0) = (L . (x - x0)) + (R /. (x - x0)) by NDIFF_1:def 6;
consider L being Point of (R_NormSpace_of_BoundedLinearOperators ((G . (modetrans (G,i0))),T)), R being REST of (G . (modetrans (G,i0))),T such that
A8: for x being Point of (G . (modetrans (G,i0))) st x in N0 holds
(((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x) - (((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x0) = (L . (x - x0)) + (R /. (x - x0)) by A7;
consider N1 being Neighbourhood of x0 such that
A9: for x being Point of (G . (modetrans (G,i0))) st x in N1 holds
(reproj ((modetrans (G,i0)),nx0)) . x in Z by A1, A5, XLm5;
A10: now
let x be Point of (G . (modetrans (G,i0))); :: thesis: ( x in N1 implies (reproj ((modetrans (G,i0)),nx0)) . x in dom (f | Z) )
assume x in N1 ; :: thesis: (reproj ((modetrans (G,i0)),nx0)) . x in dom (f | Z)
then (reproj ((modetrans (G,i0)),nx0)) . x in Z by A9;
then (reproj ((modetrans (G,i0)),nx0)) . x in (dom f) /\ Z by A4, XBOOLE_0:def 4;
hence (reproj ((modetrans (G,i0)),nx0)) . x in dom (f | Z) by RELAT_1:61; :: thesis: verum
end;
reconsider N = N0 /\ N1 as Neighbourhood of x0 by Lm1;
(f | Z) * (reproj ((modetrans (G,i0)),nx0)) c= f * (reproj ((modetrans (G,i0)),nx0)) by RELAT_1:29, RELAT_1:59;
then A11: dom ((f | Z) * (reproj ((modetrans (G,i0)),nx0))) c= dom (f * (reproj ((modetrans (G,i0)),nx0))) by RELAT_1:11;
N c= N0 by XBOOLE_1:17;
then N c= dom ((f | Z) * (reproj ((modetrans (G,i0)),nx0))) by A6, XBOOLE_1:1;
then A12: N c= dom (f * (reproj ((modetrans (G,i0)),nx0))) by A11, XBOOLE_1:1;
A15: dom (reproj ((modetrans (G,i0)),nx0)) = the carrier of (G . (modetrans (G,i0))) by FUNCT_2:def 1;
now
let x be Point of (G . (modetrans (G,i0))); :: thesis: ( x in N implies ((f * (reproj ((modetrans (G,i0)),nx0))) /. x) - ((f * (reproj ((modetrans (G,i0)),nx0))) /. x0) = (L . (x - x0)) + (R /. (x - x0)) )
assume x in N ; :: thesis: ((f * (reproj ((modetrans (G,i0)),nx0))) /. x) - ((f * (reproj ((modetrans (G,i0)),nx0))) /. x0) = (L . (x - x0)) + (R /. (x - x0))
then A14: ( x in N0 & x in N1 ) by XBOOLE_0:def 4;
then A16: (reproj ((modetrans (G,i0)),nx0)) . x in dom (f | Z) by A10;
then A17: ( (reproj ((modetrans (G,i0)),nx0)) . x in dom f & (reproj ((modetrans (G,i0)),nx0)) . x in Z ) by RELAT_1:57;
A18: (reproj ((modetrans (G,i0)),nx0)) . x0 in dom (f | Z) by A10, NFCONT_1:4;
then A19: ( (reproj ((modetrans (G,i0)),nx0)) . x0 in dom f & (reproj ((modetrans (G,i0)),nx0)) . x0 in Z ) by RELAT_1:57;
A20: ((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x = (f | Z) /. ((reproj ((modetrans (G,i0)),nx0)) /. x) by A16, A15, PARTFUN2:4
.= f /. ((reproj ((modetrans (G,i0)),nx0)) /. x) by A17, PARTFUN2:17
.= (f * (reproj ((modetrans (G,i0)),nx0))) /. x by A15, A17, PARTFUN2:4 ;
((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x0 = (f | Z) /. ((reproj ((modetrans (G,i0)),nx0)) /. x0) by A15, A18, PARTFUN2:4
.= f /. ((reproj ((modetrans (G,i0)),nx0)) /. x0) by A19, PARTFUN2:17
.= (f * (reproj ((modetrans (G,i0)),nx0))) /. x0 by A15, A19, PARTFUN2:4 ;
hence ((f * (reproj ((modetrans (G,i0)),nx0))) /. x) - ((f * (reproj ((modetrans (G,i0)),nx0))) /. x0) = (L . (x - x0)) + (R /. (x - x0)) by A8, A14, A20; :: thesis: verum
end;
then f * (reproj ((modetrans (G,i0)),nx0)) is_differentiable_in x0 by A12, NDIFF_1:def 6;
hence f is_partial_differentiable_in nx0,i0 by Def9; :: thesis: verum
end;
assume that
A21: Z c= dom f and
A22: for nx being Point of (product G) st nx in Z holds
f is_partial_differentiable_in nx,i0 ; :: thesis: f is_partial_differentiable_on Z,i0
now
let nx0 be Point of (product G); :: thesis: ( nx0 in Z implies f | Z is_partial_differentiable_in nx0,i0 )
assume A23: nx0 in Z ; :: thesis: f | Z is_partial_differentiable_in nx0,i0
then A24: f is_partial_differentiable_in nx0,i0 by A22;
reconsider x0 = (proj (modetrans (G,i0))) . nx0 as Point of (G . (modetrans (G,i0))) ;
f * (reproj ((modetrans (G,i0)),nx0)) is_differentiable_in x0 by A24, Def9;
then consider N0 being Neighbourhood of x0 such that
N0 c= dom (f * (reproj ((modetrans (G,i0)),nx0))) and
A25: ex L being Point of (R_NormSpace_of_BoundedLinearOperators ((G . (modetrans (G,i0))),T)) ex R being REST of (G . (modetrans (G,i0))),T st
for x being Point of (G . (modetrans (G,i0))) st x in N0 holds
((f * (reproj ((modetrans (G,i0)),nx0))) /. x) - ((f * (reproj ((modetrans (G,i0)),nx0))) /. x0) = (L . (x - x0)) + (R /. (x - x0)) by NDIFF_1:def 6;
consider N1 being Neighbourhood of x0 such that
A26: for x being Point of (G . (modetrans (G,i0))) st x in N1 holds
(reproj ((modetrans (G,i0)),nx0)) . x in Z by A1, A23, XLm5;
A27: now
let x be Point of (G . (modetrans (G,i0))); :: thesis: ( x in N1 implies (reproj ((modetrans (G,i0)),nx0)) . x in dom (f | Z) )
assume x in N1 ; :: thesis: (reproj ((modetrans (G,i0)),nx0)) . x in dom (f | Z)
then (reproj ((modetrans (G,i0)),nx0)) . x in Z by A26;
then (reproj ((modetrans (G,i0)),nx0)) . x in (dom f) /\ Z by A21, XBOOLE_0:def 4;
hence (reproj ((modetrans (G,i0)),nx0)) . x in dom (f | Z) by RELAT_1:61; :: thesis: verum
end;
A28: N1 c= dom ((f | Z) * (reproj ((modetrans (G,i0)),nx0)))
proof
let z be set ; :: according to TARSKI:def 3 :: thesis: ( not z in N1 or z in dom ((f | Z) * (reproj ((modetrans (G,i0)),nx0))) )
assume A29: z in N1 ; :: thesis: z in dom ((f | Z) * (reproj ((modetrans (G,i0)),nx0)))
then z in the carrier of (G . (modetrans (G,i0))) ;
then A30: z in dom (reproj ((modetrans (G,i0)),nx0)) by FUNCT_2:def 1;
reconsider x = z as Point of (G . (modetrans (G,i0))) by A29;
(reproj ((modetrans (G,i0)),nx0)) . x in dom (f | Z) by A29, A27;
hence z in dom ((f | Z) * (reproj ((modetrans (G,i0)),nx0))) by A30, FUNCT_1:11; :: thesis: verum
end;
reconsider N = N0 /\ N1 as Neighbourhood of x0 by Lm1;
N c= N1 by XBOOLE_1:17;
then A32: N c= dom ((f | Z) * (reproj ((modetrans (G,i0)),nx0))) by A28, XBOOLE_1:1;
consider L being Point of (R_NormSpace_of_BoundedLinearOperators ((G . (modetrans (G,i0))),T)), R being REST of (G . (modetrans (G,i0))),T such that
A33: for x being Point of (G . (modetrans (G,i0))) st x in N0 holds
((f * (reproj ((modetrans (G,i0)),nx0))) /. x) - ((f * (reproj ((modetrans (G,i0)),nx0))) /. x0) = (L . (x - x0)) + (R /. (x - x0)) by A25;
now
let x be Point of (G . (modetrans (G,i0))); :: thesis: ( x in N implies (((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x) - (((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x0) = (L . (x - x0)) + (R /. (x - x0)) )
assume A34: x in N ; :: thesis: (((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x) - (((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x0) = (L . (x - x0)) + (R /. (x - x0))
then A35: x in N0 by XBOOLE_0:def 4;
A36: dom (reproj ((modetrans (G,i0)),nx0)) = the carrier of (G . (modetrans (G,i0))) by FUNCT_2:def 1;
x in N1 by A34, XBOOLE_0:def 4;
then A37: (reproj ((modetrans (G,i0)),nx0)) . x in dom (f | Z) by A27;
then A38: (reproj ((modetrans (G,i0)),nx0)) . x in (dom f) /\ Z by RELAT_1:61;
then A39: (reproj ((modetrans (G,i0)),nx0)) . x in dom f by XBOOLE_0:def 4;
A40: (reproj ((modetrans (G,i0)),nx0)) . x0 in dom (f | Z) by A27, NFCONT_1:4;
then A41: (reproj ((modetrans (G,i0)),nx0)) . x0 in (dom f) /\ Z by RELAT_1:61;
then A42: (reproj ((modetrans (G,i0)),nx0)) . x0 in dom f by XBOOLE_0:def 4;
A43: ((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x = (f | Z) /. ((reproj ((modetrans (G,i0)),nx0)) /. x) by A37, A36, PARTFUN2:4
.= f /. ((reproj ((modetrans (G,i0)),nx0)) /. x) by A38, PARTFUN2:16
.= (f * (reproj ((modetrans (G,i0)),nx0))) /. x by A36, A39, PARTFUN2:4 ;
((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x0 = (f | Z) /. ((reproj ((modetrans (G,i0)),nx0)) /. x0) by A36, A40, PARTFUN2:4
.= f /. ((reproj ((modetrans (G,i0)),nx0)) /. x0) by A41, PARTFUN2:16
.= (f * (reproj ((modetrans (G,i0)),nx0))) /. x0 by A36, A42, PARTFUN2:4 ;
hence (((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x) - (((f | Z) * (reproj ((modetrans (G,i0)),nx0))) /. x0) = (L . (x - x0)) + (R /. (x - x0)) by A43, A35, A33; :: thesis: verum
end;
then (f | Z) * (reproj ((modetrans (G,i0)),nx0)) is_differentiable_in x0 by A32, NDIFF_1:def 6;
hence f | Z is_partial_differentiable_in nx0,i0 by Def9; :: thesis: verum
end;
hence f is_partial_differentiable_on Z,i0 by A21, Def19; :: thesis: verum