
theorem Th18:
  for m, n be non zero Nat
  for f be PartFunc of REAL m,REAL n
  for x be Element of REAL m
  holds
    f is_differentiable_in x
      iff
    for i be Nat st 1 <= i <= n
    holds
    ex fi be PartFunc of REAL m,REAL 1
    st fi = Proj(i,n) * f
     & fi is_differentiable_in x
proof
  let m, n be non zero Nat;
  let f be PartFunc of REAL m,REAL n;
  let x be Element of REAL m;

  A1: the carrier of REAL-NS m = REAL m
    & the carrier of REAL-NS n = REAL n by REAL_NS1:def 4;
  A2: the carrier of REAL-NS 1 = REAL 1 by REAL_NS1:def 4;

  reconsider f0 = f as PartFunc of REAL-NS m,REAL-NS n by A1;
  reconsider x0 = x as Point of REAL-NS m by REAL_NS1:def 4;

  hereby
    assume
    A3: f is_differentiable_in x;
    thus
    for i be Nat st 1 <= i <= n
    holds
    ex fi be PartFunc of REAL m,REAL 1
    st fi = Proj(i,n) * f
      & fi is_differentiable_in x
    proof
      let i be Nat;
      assume
      A4: 1 <= i <= n;
      reconsider fi = Proj(i,n) * f0 as PartFunc of REAL m,REAL 1
        by A2,REAL_NS1:def 4;
      take fi;
      thus fi = Proj(i,n) * f;
      thus fi is_differentiable_in x by A3,A4,PDIFF_6:29;
    end;
  end;

  assume
  A5: for i be Nat st 1 <= i <= n
      holds
      ex fi be PartFunc of REAL m,REAL 1
      st fi = Proj(i,n) * f
        & fi is_differentiable_in x;

  for i be Nat st 1 <= i <= n
  holds Proj(i,n) * f0 is_differentiable_in x0
  proof
    let i be Nat;
    assume 1 <= i <= n;
    then consider fi be PartFunc of REAL m,REAL 1 such that
    A6: fi = Proj(i,n) * f
      & fi is_differentiable_in x by A5;

    thus Proj(i,n) * f0 is_differentiable_in x0 by A6;
  end;
  hence f is_differentiable_in x by PDIFF_6:29;
end;
