 reserve j for set;
 reserve p,r for Real;
 reserve S,T,F for RealNormSpace;
 reserve x0 for Point of S;
 reserve g for PartFunc of S,T;
 reserve c for constant sequence of S;
 reserve R for RestFunc of S,T;
 reserve G for RealNormSpace-Sequence;
 reserve i for Element of dom G;
 reserve f for PartFunc of product G,F;
 reserve x for Element of product G;
reserve G for RealNormSpace-Sequence;
reserve F for RealNormSpace;
reserve i for Element of dom G;
reserve f,f1,f2 for PartFunc of product G, F;
reserve x for Point of product G;
reserve X for set;

theorem Th32:
for G be RealNormSpace-Sequence,
    T be RealNormSpace,
    i be set,
    Z be Subset of product G,
    f be PartFunc of product G,T
      st Z is open holds
  f is_partial_differentiable_on Z,i
      iff
  Z c=dom f &
  for x be Point of product G st x in Z holds
    f is_partial_differentiable_in x,i
proof
   let G be RealNormSpace-Sequence,
       T be RealNormSpace,
       i0 be set,
       Z be Subset of product G,
       f be PartFunc of product G,T;
   assume
A1: Z is open;
   set i = In(i0,dom G);
   set S=G.i;
   set RNS= R_NormSpace_of_BoundedLinearOperators(S,T);
   hereby
    assume A2: f is_partial_differentiable_on Z,i0;
    hence Z c=dom f;
    let nx0 be Point of product G;
    reconsider x0=proj(i).nx0 as Point of S;
    assume A4: nx0 in Z; then
    f|Z is_partial_differentiable_in nx0,i0 by A2; then
    consider N0 being Neighbourhood of x0 such that
A5:  N0 c= dom((f|Z)*reproj(i,nx0)) and
A6:  ex L be Point of RNS,R be RestFunc of S,T st
      for x be Point of S st x in N0 holds
       ((f|Z)*reproj(i,nx0))/.x-((f|Z)*reproj(i,nx0))/.x0
         = L .( x-x0)+R/.(x-x0) by NDIFF_1:def 6;
    consider L be Point of RNS,R be RestFunc of S,T such that
A7:  for x be Point of S st x in N0 holds
      ((f|Z)*reproj(i,nx0))/.x - ((f|Z)*reproj(i,nx0))/.x0
        = L.(x-x0) + R/.(x-x0) by A6;

    consider N1 being Neighbourhood of x0 such that
A8:  for x be Point of S st x in N1 holds
      (reproj(i,nx0)).x in Z by A1,A4,Th23;

A9:now let x be Point of S;
     assume x in N1; then
     (reproj(i,nx0)).x in Z by A8; then
     (reproj(i,nx0)).x in (dom f) /\ Z by A2,XBOOLE_0:def 4;
     hence (reproj(i,nx0)).x in dom(f|Z) by RELAT_1:61;
    end;
    reconsider N = N0 /\ N1 as Neighbourhood of x0 by Th8;
    (f|Z)*reproj(i,nx0) c= f*reproj(i,nx0) by RELAT_1:29,59; then
A10:dom((f|Z)*reproj(i,nx0)) c= dom(f*reproj(i,nx0)) by RELAT_1:11;
    N c= N0 by XBOOLE_1:17; then
A11:N c= dom(f*reproj(i,nx0)) by A5,A10;
A12:dom(reproj(i,nx0)) = the carrier of G.i by FUNCT_2:def 1;
    now let x be Point of S;
     assume x in N; then
A13: x in N0 & x in N1 by XBOOLE_0:def 4; then
A14: (reproj(i,nx0)).x in dom(f|Z) by A9; then
A15: (reproj(i,nx0)).x in dom f & (reproj(i,nx0)).x in Z by RELAT_1:57;
A16: (reproj(i,nx0)).x0 in dom(f|Z) by A9,NFCONT_1:4; then
A17: (reproj(i,nx0)).x0 in dom f & (reproj(i,nx0)).x0 in Z by RELAT_1:57;
A18: ((f|Z)*reproj(i,nx0))/.x
       = (f|Z)/.(reproj(i,nx0)/.x) by A14,A12,PARTFUN2:4
      .= f/.(reproj(i,nx0)/.x) by A15,PARTFUN2:17
      .= (f*reproj(i,nx0))/.x by A12,A15,PARTFUN2:4;

      ((f|Z)*reproj(i,nx0))/.x0
       = (f|Z)/.(reproj(i,nx0)/.x0) by A12,A16,PARTFUN2:4
      .= f/.(reproj(i,nx0)/.x0) by A17,PARTFUN2:17
      .= (f*reproj(i,nx0))/.x0 by A12,A17,PARTFUN2:4;
     hence (f*reproj(i,nx0))/.x-(f*reproj(i,nx0))/.x0 =L.(x-x0)+R/.(x-x0)
       by A7,A13,A18;
    end;
    hence f is_partial_differentiable_in nx0,i0 by A11,NDIFF_1:def 6;
   end;
   assume that
A19:Z c=dom f and
A20:for nx be Point of product G  st nx in Z holds
      f is_partial_differentiable_in nx,i0;
   now let nx0 be Point of product G;
    assume A21: nx0 in Z; then
A22:f is_partial_differentiable_in nx0,i0 by A20;
    reconsider x0=proj(i).nx0 as Point of S;
    consider N0 being Neighbourhood of x0 such that
     N0 c= dom (f*reproj(i,nx0)) and
A23: ex L be Point of RNS,R be RestFunc of S,T st
      for x be Point of S st x in N0 holds
       (f*reproj(i,nx0))/.x-(f*reproj(i,nx0))/.x0
         = L.(x-x0)+R /.(x-x0) by A22,NDIFF_1:def 6;
    consider N1 being Neighbourhood of x0 such that
A24: for x be Point of S st x in N1 holds
      (reproj(i,nx0)).x in Z by A1,A21,Th23;

A25:now let x be Point of S;
     assume x in N1; then
     (reproj(i,nx0)).x in Z by A24; then
     (reproj(i,nx0)).x in (dom f) /\ Z by A19,XBOOLE_0:def 4;
     hence (reproj(i,nx0)).x in dom(f|Z) by RELAT_1:61;
    end;
A26:N1 c= dom((f|Z)*reproj(i,nx0))
    proof
     let z be object;
     assume A27:z in N1; then
     z in the carrier of S; then
A28: z in dom (reproj(i,nx0)) by FUNCT_2:def 1;
     reconsider x=z as Point of S by A27;
     (reproj(i,nx0)).x in dom(f|Z) by A27,A25;
     hence z in dom((f|Z)*reproj(i,nx0)) by A28,FUNCT_1:11;
    end;
    reconsider N=N0 /\ N1 as Neighbourhood of x0 by Th8;
    N c= N1 by XBOOLE_1:17; then
A29:N c= dom((f|Z)*reproj(i,nx0)) by A26;
    consider L be Point of RNS,R be RestFunc of S,T such that
A30: for x be Point of S st x in N0 holds
      (f*reproj(i,nx0))/.x-(f*reproj(i,nx0))/.x0=L.(x-x0)+R/.(x-x0) by A23;
    now let x be Point of S;
     assume A31: x in N; then
A32: x in N0 by XBOOLE_0:def 4;
A33: dom (reproj(i,nx0)) = the carrier of G.i by FUNCT_2:def 1;
     x in N1 by A31,XBOOLE_0:def 4; then
A34: (reproj(i,nx0)).x in dom(f|Z) by A25; then
A35: (reproj(i,nx0)).x in dom f /\ Z by RELAT_1:61; then
A36: (reproj(i,nx0)).x in dom f by XBOOLE_0:def 4;
A37: (reproj(i,nx0)).x0 in dom(f|Z) by A25,NFCONT_1:4; then
A38: (reproj(i,nx0)).x0 in dom f /\ Z by RELAT_1:61; then
A39: (reproj(i,nx0)).x0 in dom f by XBOOLE_0:def 4;
A40: ((f|Z)*reproj(i,nx0))/.x
       = (f|Z)/. (reproj(i,nx0)/.x ) by A34,A33,PARTFUN2:4
      .= f/. (reproj(i,nx0)/.x) by A35,PARTFUN2:16
      .= (f*reproj(i,nx0))/.x by A33,A36,PARTFUN2:4;
     ((f|Z)*reproj(i,nx0))/.x0
       = (f|Z)/. (reproj(i,nx0)/.x0 ) by A33,A37,PARTFUN2:4
      .= f/. (reproj(i,nx0)/.x0) by A38,PARTFUN2:16
      .= (f*reproj(i,nx0))/.x0 by A33,A39,PARTFUN2:4;
     hence ((f|Z)*reproj(i,nx0))/.x -((f|Z)*reproj(i,nx0))/.x0
             = L.(x-x0)+R/.(x-x0) by A40,A32,A30;
    end;
    hence (f|Z) is_partial_differentiable_in nx0,i0 by A29,NDIFF_1:def 6;
   end;
   hence thesis by A19;
end;
