reserve F for RealNormSpace;
reserve G for RealNormSpace;
reserve y,X for set;
reserve x,x0,x1,x2,g,g1,g2,r,r1,s,p,p1,p2 for Real;
reserve i,m,k for Element of NAT;
reserve n,k for non zero Element of NAT;
reserve Y for Subset of REAL;
reserve Z for open Subset of REAL;
reserve s1,s3 for Real_Sequence;
reserve seq,seq1 for sequence of G;
reserve f,f1,f2 for PartFunc of REAL,REAL n;
reserve g,g1,g2 for PartFunc of REAL,REAL-NS n;
reserve h for 0-convergent non-zero Real_Sequence;
reserve c for constant Real_Sequence;
reserve GR,R for RestFunc of REAL-NS n;
reserve DFG,L for LinearFunc of REAL-NS n;

theorem Th30:
for g be PartFunc of REAL,REAL-NS n holds
g is_differentiable_on X iff
(for i be Element of NAT st 1<=i & i <=n holds
      Proj(i,n)*g is_differentiable_on X)
proof
  let g be PartFunc of REAL,REAL-NS n;
  thus g is_differentiable_on X implies
  (for i be Element of NAT st 1<=i & i <=n holds
        Proj(i,n)*g is_differentiable_on X) by Th28;
    assume A1: for i be Element of NAT st 1<=i & i <=n holds
               Proj(i,n)*g is_differentiable_on X;
    1 <=n by NAT_1:14;
    then
A2: Proj(1,n)*g is_differentiable_on X by A1;
    then
A3: X is open Subset of REAL by NDIFF_3:9,11;
A4:dom(Proj(1,n)) = the carrier of REAL-NS n by FUNCT_2:def 1;
A5: rng g c= the carrier of REAL-NS n;
    X c= dom (Proj(1,n)*g) by A2,A3,NDIFF_3:10;
     then
A6: X c= dom g by A5,A4,RELAT_1:27;
      now let x;
        assume  A7: x in X;
        now let i be Element of NAT;
          assume 1<=i & i <=n;
          then Proj(i,n)*g is_differentiable_on X by A1;
          hence Proj(i,n)*g is_differentiable_in x by A7,A3,NDIFF_3:10;
        end;
        hence g is_differentiable_in x by Th25;
      end;
      hence thesis by A3,A6,NDIFF_3:10;
    end;
