reserve E, F, G,S,T,W,Y for RealNormSpace;
reserve f,f1,f2 for PartFunc of S,T;
reserve Z for Subset of S;
reserve i,n for Nat;

theorem Th61:
  for S,E,F be RealNormSpace,
      u be PartFunc of S,E,
      v be PartFunc of S,F,
      w be PartFunc of S,[:E,F:],
      Z be Subset of S,
      i be Nat
   st w = <:u,v:>
    & u is_differentiable_on i+1,Z
    & diff(u,i+1,Z) is_continuous_on Z
    & v is_differentiable_on i+1,Z
    & diff(v,i+1,Z) is_continuous_on Z
  holds
    w is_differentiable_on i+1,Z
  & diff(w,i+1,Z) is_continuous_on Z
proof
  let S,E,F be RealNormSpace,
      u be PartFunc of S,E,
      v be PartFunc of S,F,
      w be PartFunc of S,[:E,F:],
      Z be Subset of S,
      i be Nat;
  assume
  A1: w = <:u,v:>;
  assume
  A2: u is_differentiable_on i+1,Z
    & diff(u,i+1,Z) is_continuous_on Z
    & v is_differentiable_on i+1,Z
    & diff(v,i+1,Z) is_continuous_on Z;

  consider T be Lipschitzian LinearOperator
    of [:diff_SP(i+1,S,E),diff_SP(i+1,S,F):],diff_SP(i+1,S,[:E,F:])
  such that
  A3: diff(w,i+1,Z) = T * <:diff(u,i+1,Z),diff(v,i+1,Z):> by A1,A2,Th60;

  set E1 = diff_SP(i+1,S,E);
  set F1 = diff_SP(i+1,S,F);
  set u1 = diff(u,i+1,Z);
  set v1 = diff(v,i+1,Z);
  set G = <:u1,v1:>;

  A4: diff(u,i,Z) is_differentiable_on Z
    & diff(v,i,Z) is_differentiable_on Z by A2,NDIFF_6:14;

  diff(u,i+1,Z) = diff(u,i,Z) `| Z by NDIFF_6:13;
  then A5: dom diff(u,i+1,Z) = Z by A4,NDIFF_1:def 9;
  diff(v,i+1,Z) = diff(v,i,Z) `| Z by NDIFF_6:13;
  then A6: dom diff(v,i+1,Z) = Z by A4,NDIFF_1:def 9;

  A7: dom G
   = dom(u1) /\ dom(v1) by FUNCT_3:def 7
  .= Z by A5,A6;

  A8: [:rng u1, rng v1:] c= [#] [:E1,F1:] by ZFMISC_1:96;
  rng G c= [:rng u1, rng v1:] by FUNCT_3:51;
  then rng G c= [#][:E1,F1:] by A8,XBOOLE_1:1;
  then reconsider G as PartFunc of S,[:E1,F1:] by A7,RELSET_1:4;

  for x0 be Point of S
  for r be Real st x0 in Z & 0 < r
  holds
    ex s be Real
    st 0 < s
      & for x1 be Point of S st x1 in Z & ||.x1 - x0.|| < s
        holds ||.G/.x1 - G/.x0.|| < r
  proof
    let z0 be Point of S;
    let r0 be Real;
    assume A9: z0 in Z & 0 < r0;
    set r = r0/2;

    A10: for z be Point of S st z in Z holds G/.z = [u1/.z, v1/.z]
    proof
      let z be Point of S;
      assume A11: z in Z;
      hence G/.z = G.z by A7,PARTFUN1:def 6
      .= [u1.z, v1.z] by A7,A11,FUNCT_3:def 7
      .= [u1/.z, v1.z] by A5,A11,PARTFUN1:def 6
      .= [u1/.z, v1/.z] by A6,A11,PARTFUN1:def 6;
    end;

    consider d1 be Real such that
    A12: d1 > 0
       & for z be Point of S st z in Z & ||.z - z0.|| < d1
         holds ||.u1/.z - u1/.z0.|| < r by A2,A9,NFCONT_1:19,XREAL_1:215;

    consider d2 be Real such that
    A13: d2 > 0
       & for z be Point of S st z in Z & ||.z - z0.|| < d2
         holds ||.v1/.z - v1/.z0.|| < r by A2,A9,NFCONT_1:19,XREAL_1:215;

    reconsider d = min(d1,d2) as Real;
    take d;
    thus 0 < d by A12,A13,XXREAL_0:15;

    let z be Point of S;
    assume A14: z in Z & ||.z - z0.|| < d;

    d <= d1 by XXREAL_0:17;
    then ||.z - z0.|| < d1 by A14,XXREAL_0:2;
    then A15: ||.u1/.z - u1/.z0.|| < r by A12,A14;

    d <= d2 by XXREAL_0:17;
    then ||.z - z0.|| < d2 by A14,XXREAL_0:2;
    then A16: ||.v1/.z - v1/.z0.|| < r by A13,A14;
    A17: G/.z = [u1/.z,v1/.z] by A10,A14;
    G/.z0 = [u1/.z0,v1/.z0] by A9,A10;
    then -G/.z0 = [-(u1/.z0),-(v1/.z0)] by PRVECT_3:18;
    then G/.z + -G/.z0 = [u1/.z + -u1/.z0, v1/.z + -v1/.z0] by A17,PRVECT_3:18;
    then
    A18: ||.G/.z - G/.z0.||
      <= ||.u1/.z - u1/.z0.|| + ||.v1/.z - v1/.z0.|| by Th17;

    ||.u1/.z - u1/.z0.|| + ||.v1/.z - v1/.z0.|| < r + r by A15,A16,XREAL_1:8;
    hence ||.G/.z - G/.z0.|| < r0 by A18,XXREAL_0:2;
  end;
  then A19: G is_continuous_on Z by A7,NFCONT_1:19;
  A20: G.:Z c= [#][:diff_SP(i+1,S,E),diff_SP(i+1,S,F):];
  T is_continuous_on [#][:diff_SP(i+1,S,E),diff_SP(i+1,S,F):]
    by NDIFF_1:45,Th20;
  hence thesis by A1,A2,A3,A19,A20,Th16,Th60;
end;
