NDIFF13

index · ← NEWTON07 · LATWAL_2 →
:: Higher-Order Differentiation and Inverse Function Theorem in Real Normed 
:: Spaces
::  by Kazuhisa Nakasho and Yasunari Shidama
:: 
:: Received December 24, 2024
:: Copyright (c) 2024-2026 Association of Mizar Users
::           (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.

environ

 vocabularies NUMBERS, REAL_1, ZFMISC_1, NORMSP_1, PRE_TOPC, PARTFUN1, FUNCT_1,
      NAT_1, FDIFF_1, SUBSET_1, RELAT_1, LOPBAN_1, RCOMP_1, SQUARE_1, TARSKI,
      ARYTM_3, ALGSTR_0, PRALG_1, FUNCT_2, ARYTM_1, SUPINF_2, FCONT_1,
      STRUCT_0, CARD_1, XXREAL_0, XBOOLE_0, RLVECT_1, CFCONT_1, NDIFF_7,
      MCART_1, METRIC_1, FUNCOP_1, COMPLEX1, NDIFF13, FUNCT_7, LOPBAN_8,
      LOPBAN_9, MSSUBFAM, VALUED_1, SEQ_4, NDIFF_6, LOPBAN13;
 notations TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, RELAT_1, FUNCT_1, RELSET_1,
      PARTFUN1, FUNCT_2, FUNCT_3, BINOP_1, FUNCOP_1, ORDINAL1, NUMBERS,
      XCMPLX_0, XXREAL_0, COMPLEX1, XREAL_0, SQUARE_1, SEQ_4, STRUCT_0,
      PRE_TOPC, RLVECT_1, VECTSP_1, NORMSP_0, NORMSP_1, VFUNCT_1, NDIFF_6,
      LOPBAN_1, NFCONT_1, LOPBAN_5, NDIFF_1, NDIFF_2, PRVECT_3, LOPBAN_8,
      LOPBAN_9, LOPBAN13, NDIFF_7;
 constructors SQUARE_1, VFUNCT_1, NDIFF_1, RELSET_1, RSSPACE3, NDIFF_2,
      NDIFF_6, NDIFF_7, LOPBAN_5, LOPBAN_7, COMPLEX1, LOPBAN_9, LOPBAN13,
      SEQ_4;
 registrations RELSET_1, STRUCT_0, XREAL_0, MEMBERED, FUNCT_1, FUNCT_2, NAT_1,
      INT_1, LOPBAN_1, LOPBAN_2, PRVECT_3, VALUED_0, XTUPLE_0, RELAT_1,
      LOPBAN_9, SQUARE_1, XCMPLX_0, NORMSP_3;
 requirements SUBSET, REAL, BOOLE, ARITHM, NUMERALS;
 definitions NDIFF_1;
 equalities RLVECT_1, LOPBAN_1, PRVECT_3, LOPBAN_9, XBOOLE_0, STRUCT_0,
      SUBSET_1, NDIFF_6, NORMSP_0, NDIFF_2, XCMPLX_0;
 expansions RELAT_1, VECTSP_1, XBOOLE_0, FUNCT_2, NDIFF_1, NDIFF_6;
 theorems TARSKI, XBOOLE_0, XBOOLE_1, RLVECT_1, ZFMISC_1, RELAT_1, FUNCT_1,
      SUBSET_1, NAT_1, NDIFF_2, PARTFUN2, COMPLEX1, INT_1, FUNCT_3, RLVECT_4,
      LOPBAN_5, NDIFF10, VFUNCT_1, FUNCT_2, LOPBAN_1, PARTFUN1, NFCONT_1,
      NDIFF_1, XXREAL_0, NORMSP_0, PRVECT_3, NDIFF_7, FUNCOP_1, LOPBAN_7,
      NDIFF_8, LOPBAN_8, LOPBAN_9, LOPBAN13, NDIFF_9, RELSET_1, BINOP_1,
      XCMPLX_1, NORMSP_1, XREAL_1, SEQ_4, NDIFF_6, NDIFF12, LOPBAN_2;
 schemes FUNCT_2, BINOP_1, NAT_1, RECDEF_1;

begin :: Foundations of Differentiation in Real Normed Spaces

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
  for S, T be RealNormSpace,
      f be PartFunc of S,T,
      Z be Subset of S,
      x be Point of S
    st Z is open & x in Z & Z c= dom f
  holds
    f|Z is_differentiable_in x
      iff
    f is_differentiable_in x
proof
  let S, T be RealNormSpace,
      f be PartFunc of S,T,
      Z be Subset of S,
      x0 be Point of S;
  assume
  A1: Z is open & x0 in Z & Z c= dom f;

  hereby
    assume
    A2: f | Z is_differentiable_in x0;

    thus f is_differentiable_in x0
    proof
      consider N be Neighbourhood of x0 such that
      A3: N c= dom (f | Z)
            and
      A4: ex L be Point of R_NormSpace_of_BoundedLinearOperators(S,T),
              R be RestFunc of S,T
          st for x be Point of S st x in N
             holds (f | Z)/.x - (f | Z)/.x0 = L.(x - x0) + R/.(x - x0) by A2;

      consider L be Point of (R_NormSpace_of_BoundedLinearOperators (S,T)),
                R be RestFunc of S,T such that
      A5: for x be Point of S st x in N
          holds (f | Z)/.x - (f | Z)/.x0
              = L.(x - x0) + R/.(x - x0) by A4;
      take N;
      A6: dom(f | Z) = (dom f) /\ Z by RELAT_1:61;
      then dom(f | Z) c= dom f by XBOOLE_1:17;
      hence N c= dom f by A3,XBOOLE_1:1;
      take L;
      take R;
      let x be Point of S;

      assume
      A7: x in N;
      then (f | Z)/.x - (f | Z)/.x0 = L.(x - x0) + R/.(x - x0) by A5;
      then f/.x - (f | Z)/.x0 = L.(x - x0) + R/.(x - x0)
        by A3,A6,A7,PARTFUN2:16;
      hence f/.x - f/.x0 = L.(x - x0) + R/.(x - x0) by A1,PARTFUN2:17;
    end;
  end;

  thus thesis by A1,NDIFF_9:1;
end;

theorem Th3:
  for S,T be RealNormSpace,
      f be PartFunc of S,T,
      Z be Subset of S
  holds
    f|Z is_differentiable_on Z
      iff
    f is_differentiable_on Z
proof
  let S,T be RealNormSpace,
      f be PartFunc of S,T,
      Z be Subset of S;

  hereby
    assume
    A1: f|Z is_differentiable_on Z;
    dom(f|Z) c= dom f by RELAT_1:60;
    hence f is_differentiable_on Z by A1,XBOOLE_1:1;
  end;

  thus f is_differentiable_on Z
    implies f|Z is_differentiable_on Z by RELAT_1:62;
end;

theorem Th4:
  for S, T be RealNormSpace,
      f be PartFunc of S,T,
      Z be Subset of S
  st f is_differentiable_on Z
  holds (f|Z) `| Z = f `| Z
proof
  let S,T be RealNormSpace,
      f be PartFunc of S,T,
      Z be Subset of S;
  assume
  A1: f is_differentiable_on Z;
  then
  A2: f|Z is_differentiable_on Z by Th3;
  A3: dom(f `| Z) = Z by A1,NDIFF_1:def 9;
  A4: dom((f|Z) `| Z) = Z by A2,NDIFF_1:def 9;
  A5: Z is open by A1,NDIFF_1:32;
  now
    let x be object;
    assume
    A6: x in dom((f|Z) `| Z);
    then reconsider x0 = x as Point of S;
    A7:f is_differentiable_in x0 by A1,A4,A5,A6,NDIFF_1:31;
    thus ((f|Z) `| Z).x
     = ((f|Z) `| Z)/.x0 by A6,PARTFUN1:def 6
    .= diff(f|Z,x0) by A2,A4,A6,NDIFF_1:def 9
    .= diff(f,x0) by A1,A4,A5,A6,A7,NDIFF_9:1
    .= (f `| Z)/.x by A1,A4,A6,NDIFF_1:def 9
    .= (f `| Z).x by A3,A4,A6,PARTFUN1:def 6;
  end;
  hence (f|Z) `| Z = f `| Z by A3,A4,FUNCT_1:2;
end;

theorem Th5:
  for S,T be RealNormSpace,
      f be PartFunc of S,T,
      X,Z be Subset of S
    st Z is open & Z c= X
     & f is_differentiable_on X
  holds f `| Z = (f `| X) | Z
proof
  let S,T be RealNormSpace,
      f be PartFunc of S,T,
      X,Z be Subset of S;
  assume
  A1: Z is open & Z c= X
    & f is_differentiable_on X; then
  A2: f is_differentiable_on Z by NDIFF_1:46;
  then
  A3: dom(f `| Z) = Z by NDIFF_1:def 9;
  A4: dom(f `| X) = X by A1,NDIFF_1:def 9;
  for x be object st x in dom((f`| X) | Z)
  holds ((f`| X) | Z).x = (f `| Z).x
  proof
    let x0 be object;
    assume A5: x0 in dom((f`| X) | Z );
    then A6: x0 in Z;
    then reconsider x = x0 as Point of S;
    thus ((f`| X) | Z ).x0
     = (f`| X).x by A5,FUNCT_1:49
    .= (f`| X)/.x by A1,A4,A6,PARTFUN1:def 6
    .= diff(f,x) by A1,A6,NDIFF_1:def 9
    .= (f `| Z)/.x by A2,A5,NDIFF_1:def 9
    .= (f `| Z).x0 by A3,A5,PARTFUN1:def 6;
  end;
  hence thesis by A1,A3,A4,FUNCT_1:2,RELAT_1:62;
end;

theorem
  for S, T be RealNormSpace,
      f be PartFunc of S,T,
      X,Z be Subset of S
  st Z is open & Z c= X
   & f is_differentiable_on X
   & f `| X is_continuous_on X
  holds f `| Z is_continuous_on Z
proof
  let S,T be RealNormSpace,
      f be PartFunc of S,T,
      X,Z be Subset of S;
  assume
  A1: Z is open
    & Z c= X
    & f is_differentiable_on X
    & f `| X is_continuous_on X;
  then A2: f `| Z = (f`| X) | Z by Th5;
  f `| X is_continuous_on Z by A1,NFCONT_1:23;
  hence thesis by A2,NFCONT_1:21;
end;

theorem Th7:
  for S,T be RealNormSpace,
      f be PartFunc of S,T,
      Z be Subset of S
  holds
    for k be Nat
    st f is_differentiable_on k,Z
    holds
      f|Z is_differentiable_on k,Z
    & diff(f|Z,k,Z) = diff(f,k,Z)
proof
  let S,T be RealNormSpace,
      f be PartFunc of S,T,
      Z be Subset of S;

  defpred P[Nat] means
    f is_differentiable_on $1,Z
  implies
    f|Z is_differentiable_on $1,Z
  & diff(f|Z,$1,Z) = diff(f,$1,Z);

  A1: P[0]
  proof
    assume f is_differentiable_on 0,Z;
    hence f|Z is_differentiable_on 0,Z by RELAT_1:62;

    diff(f|Z,0,Z)
     = (f|Z)|Z by NDIFF_6:11
    .= f|Z;
    hence diff(f|Z,0,Z) = diff(f,0,Z) by NDIFF_6:11;
  end;

  A4: for k be Nat st P[k] holds P[k+1]
  proof
    let k be Nat;
    assume A5: P[k];
    assume A6: f is_differentiable_on k+1,Z;
    then A7: dom(f|Z) = Z by RELAT_1:62;
    A8: k + 0 <= k + 1 by XREAL_1:7;
    for i be Nat st i <= k+1 -1
    holds diff(f|Z,i,Z) is_differentiable_on Z
    proof
      let i be Nat;
      assume A9: i <= k+1 -1;
      per cases;
      suppose i = k;
        hence diff (f|Z,i,Z) is_differentiable_on Z
        by A5,A6,A8,NDIFF_6:14,17;
      end;
      suppose i <> k;
        then i < k by A9,XXREAL_0:1;
        then i+1 <= k by NAT_1:13;
        then i+1 -1 <= k -1 by XREAL_1:13;
        hence diff(f|Z,i,Z) is_differentiable_on Z
          by A5,A6,A8,NDIFF_6:14,17;
      end;
    end;
    hence f|Z is_differentiable_on k+1,Z by A7,NDIFF_6:14;
    thus diff(f|Z,k+1,Z)
     = diff(f,k,Z) `| Z by A5,A6,A8,NDIFF_6:13,17
    .= diff(f,k+1,Z) by NDIFF_6:13;
  end;

  for k be Nat holds P[k] from NAT_1:sch 2(A1,A4);
  hence thesis;
end;

theorem
  for S, T be RealNormSpace,
      f be PartFunc of S,T,
      Z be Subset of S
  holds
    for k be Nat
    st f is_differentiable_on k,Z
     & diff(f,k,Z) is_continuous_on Z
    holds
      f|Z is_differentiable_on k,Z
    & diff(f|Z,k,Z) is_continuous_on Z by Th7;

theorem Th9:
  for S,T be RealNormSpace,
      f be PartFunc of S,T,
      X,Z be Subset of S
   st Z is open & Z c= X
  holds
    for i be Nat
     st f is_differentiable_on i,X
    holds
      f is_differentiable_on i,Z
    & diff(f,i,Z) = diff(f,i,X) | Z
proof
  let S,T be RealNormSpace,
      f be PartFunc of S,T,
      X,Z be Subset of S;

  assume
  A1: Z is open & Z c= X;

  defpred P[Nat] means
    f is_differentiable_on $1,X
      implies
    f is_differentiable_on $1,Z
  & diff(f,$1,Z) = diff(f,$1,X) | Z;

  A2: P[0]
  proof
    assume f is_differentiable_on 0,X;
    hence f is_differentiable_on 0,Z by A1,XBOOLE_1:1;
    A3: (f|X) = diff(f,0,X) by NDIFF_6:11;
    thus diff(f,0,Z)
     = f|Z by NDIFF_6:11
    .= diff(f,0,X) | Z by A1,A3,RELAT_1:74;
  end;

  A4: for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume A5: P[i];
    assume A6: f is_differentiable_on i+1,X;
    A7: 0+i <= i+1 by XREAL_1:7;
    for k be Nat st k <= i+1-1
    holds diff(f,k,Z) is_differentiable_on Z
    proof
      let k be Nat;
      assume A8: k <= i+1 - 1;

      per cases;
      suppose
        A9: k = i;
        diff(f,i,X) is_differentiable_on X by A6,NDIFF_6:14;
        then diff (f,i,X) is_differentiable_on Z by A1,NDIFF_1:46;
        hence diff(f,k,Z) is_differentiable_on Z
          by A5,A6,A7,A9,Th3,NDIFF_6:17;
      end;
      suppose
        k <> i;
        then k < i by A8,XXREAL_0:1;
        then k+1 <= i by NAT_1:13;
        then k+1-1 <= i-1 by XREAL_1:13;
        hence diff(f,k,Z) is_differentiable_on Z by A5,A6,A7,NDIFF_6:14,17;
      end;
    end;
    hence f is_differentiable_on i+1,Z by A1,A6,NDIFF_6:14,XBOOLE_1:1;

    A10: diff (f,i,X) is_differentiable_on X by A6,NDIFF_6:14;
    diff(f,i+1,Z)
     = (diff(f,i,X) | Z ) `| Z by A5,A6,A7,NDIFF_6:13,17
    .= diff(f,i,X) `| Z by A1,A10,Th4,NDIFF_1:46
    .= (diff(f,i,X) `| X) | Z by A1,A10,Th5
    .= diff(f,i+1,X) | Z by NDIFF_6:13;
    hence thesis;
  end;

  for i be Nat holds P[i] from NAT_1:sch 2(A2,A4);
  hence thesis;
end;

theorem Th10:
  for S,T be RealNormSpace,
      f be PartFunc of S,T,
      X,Z be Subset of S
   st Z is open & Z c= X
  holds
    for i be Nat
     st f is_differentiable_on i,X
      & diff(f,i,X) is_continuous_on X
    holds
      f is_differentiable_on i,Z
    & diff(f,i,Z) is_continuous_on Z
proof
  let S,T be RealNormSpace,
      f be PartFunc of S,T,
      X,Z be Subset of S;
  assume A1: Z is open & Z c= X;
  let i be Nat;
  assume
  A2: f is_differentiable_on i,X
    & diff(f,i,X) is_continuous_on X;
  then diff(f,i,X) is_continuous_on Z by A1,NFCONT_1:23;
  then diff(f,i,X) | Z is_continuous_on Z by NFCONT_1:21;
  hence thesis by A1,A2,Th9;
end;

theorem Th11:
  for X, Y be RealNormSpace
  for a be Real
  for v1, v2 be Lipschitzian LinearOperator of X,Y
  for w1, w2 be Point of R_NormSpace_of_BoundedLinearOperators(X,Y)
   st v1 = w1 & v2 = w2
  holds v1 + v2 = w1 + w2 & a(#)v1 = a * w1
proof
  let X, Y be RealNormSpace;
  let a be Real;
  let v1, v2 be Lipschitzian LinearOperator of X,Y;
  let zw1, zw2 be Point of R_NormSpace_of_BoundedLinearOperators(X,Y);
  assume A1: v1 = zw1 & v2 = zw2;

  reconsider zw12 = zw1 + zw2 as Point of
    R_NormSpace_of_BoundedLinearOperators(X,Y);
  zw12 is Lipschitzian LinearOperator of X,Y by LOPBAN_1:def 9;
  then A2: dom zw12 = the carrier of X by FUNCT_2:def 1;
  A3: dom(v1 + v2)
   = (dom v1) /\ (dom v2) by VFUNCT_1:def 1
  .= (the carrier of X) /\ (dom v2) by FUNCT_2:def 1
  .= (the carrier of X) /\ the carrier of X by FUNCT_2:def 1
  .= the carrier of X;

  for s be object st s in dom(v1 + v2)
  holds (v1 + v2).s = zw12.s
  proof
    let s be object;
    assume A4: s in dom (v1 + v2);
    then reconsider d = s as Point of X;
    thus (v1 + v2).s
     = (v1 + v2) /. d by A3,PARTFUN1:def 6
    .= (v1 /. d) + (v2 /. d) by A4,VFUNCT_1:def 1
    .= zw12.s by A1,LOPBAN_1:35;
  end;
  hence v1 + v2 = zw1 + zw2 by A2,A3,FUNCT_1:2;

  reconsider zw12 = a * zw1
    as Point of R_NormSpace_of_BoundedLinearOperators(X,Y);
  zw12 is Lipschitzian LinearOperator of X,Y by LOPBAN_1:def 9;
  then  A5: dom zw12 = the carrier of X by FUNCT_2:def 1;
  A6: dom (a (#) v1)
   = dom v1 by VFUNCT_1:def 4
  .= the carrier of X by FUNCT_2:def 1;

  for s being object st s in dom(a (#) v1)
  holds (a (#) v1).s = zw12.s
  proof
    let s be object;
    assume A7: s in dom(a (#) v1);
    then reconsider d = s as Point of X;
    thus (a (#) v1).s
      = (a (#) v1) /. d by A6,PARTFUN1:def 6
    .= a * (v1 /. d) by A7,VFUNCT_1:def 4
    .= zw12.s by A1,LOPBAN_1:36;
  end;
  hence a (#) v1 = a * zw1 by A5,A6,FUNCT_1:2;
end;

theorem
  for X, Y be RealNormSpace,
      v1, v2, v3 be Lipschitzian LinearOperator of X,Y,
      a,b be Real
  holds v1 + v2 = v2 + v1
      & (v1+v2)+v3 = v1+(v2+v3)
      & a(#)(v1 + v2) = a(#)v1 + a(#)v2
      & (a+b)(#)v1 = a(#)v1 + b(#)v1
      & (a*b)(#)v1 = a(#)(b(#)v1)
proof
  let X, Y be RealNormSpace,
      v1, v2, v3 be Lipschitzian LinearOperator of X,Y,
      a,b be Real;

  reconsider w1=v1, w2=v2, w3=v3 as Point of
    R_NormSpace_of_BoundedLinearOperators(X,Y)
    by LOPBAN_1:def 9;

  A1: v1 + v2 = w1 + w2 by Th11;
  A2: v2 + v3 = w2 + w3 by Th11;
  A3: a(#)v1 = a*w1 by LOPBAN13:30;
  A4: a(#)v2 = a*w2 by LOPBAN13:30;
  A5: b(#)v1 = b*w1 by LOPBAN13:30;

  A6: v1 + v2 is Lipschitzian LinearOperator of X,Y by A1,LOPBAN_1:def 9;
  A7: v2 + v3 is Lipschitzian LinearOperator of X,Y by A2,LOPBAN_1:def 9;
  A8: a(#)v1 is Lipschitzian LinearOperator of X,Y by A3,LOPBAN_1:def 9;
  A9: a(#)v2 is Lipschitzian LinearOperator of X,Y by A4,LOPBAN_1:def 9;
  A10: b(#)v1 is Lipschitzian LinearOperator of X,Y by A5,LOPBAN_1:def 9;

  thus v1 + v2 = v2 + v1;

  thus (v1+v2)+v3
     = (w1+w2)+w3 by A1,A6,Th11
    .= w1+(w2+w3) by RLVECT_1:def 3
    .= v1+(v2+v3) by A2,A7,Th11;

  thus a(#)(v1 + v2)
     = a*(w1 + w2) by A6,Th11,LOPBAN13:30
    .= a*w1 + a*w2 by RLVECT_1:def 5
    .= a(#)v1+ a(#)v2 by A3,A4,A8,A9,Th11;

  thus (a+b)(#)v1
     = (a+b)*w1 by LOPBAN13:30
    .= a*w1 + b*w1 by RLVECT_1:def 6
    .= a(#)v1 + b(#)v1 by A3,A5,A8,A10,Th11;

  thus (a*b)(#)v1
     = (a*b)*w1 by LOPBAN13:30
    .= a*(b*w1) by RLVECT_1:def 7
    .= a(#)(b(#)v1) by A5,A10,LOPBAN13:30;
end;

theorem Th13:
  for X, Y, Z be RealNormSpace,
      v be Lipschitzian LinearOperator of X,Y,
      s be Lipschitzian LinearOperator of Y,Z,
      pv be Point of R_NormSpace_of_BoundedLinearOperators(X,Y),
      ps be Point of R_NormSpace_of_BoundedLinearOperators(Y,Z)
    st v = pv & s=ps
  holds s*v = ps*pv
proof
  let X, Y, Z be RealNormSpace,
      v be Lipschitzian LinearOperator of X,Y,
      s be Lipschitzian LinearOperator of Y,Z,
      pv be Point of R_NormSpace_of_BoundedLinearOperators(X,Y),
      ps be Point of R_NormSpace_of_BoundedLinearOperators (Y,Z);
  assume A1: v = pv & s=ps; then
  modetrans(pv,X,Y) = v by LOPBAN_1:29;
  hence s*v = ps*pv by A1,LOPBAN_1:29;
end;

theorem Th14:
  for X, Y, Z be RealNormSpace,
      v1, v2 be Lipschitzian LinearOperator of X,Y,
      s1, s2 be Lipschitzian LinearOperator of Y,Z,
      a be Real
  holds s1*(v1 + v2) = s1*v1 + s1*v2
      & (s1 + s2)*v1 = s1*v1 + s2*v1
      & s1*(a(#)v1) = a(#)(s1*v1)
proof
  let X, Y, Z be RealNormSpace,
      v1, v2 be Lipschitzian LinearOperator of X,Y,
      s1, s2 be Lipschitzian LinearOperator of Y,Z,
      a be Real;
  reconsider pv1=v1, pv2=v2 as Point of
    R_NormSpace_of_BoundedLinearOperators(X,Y) by LOPBAN_1:def 9;

  reconsider ps1=s1, ps2=s2 as Point of
    R_NormSpace_of_BoundedLinearOperators (Y,Z) by LOPBAN_1:def 9;

  A1: v1 + v2 = pv1 + pv2 by Th11;
  A2: ps1*pv1 = s1*v1 by Th13;
  A3: ps1*pv2 = s1*v2 by Th13;
  A4: ps2*pv1 = s2*v1 by Th13;
  A5: s1 + s2 = ps1 + ps2 by Th11;
  A6: a(#)v1 = a*pv1 by LOPBAN13:30;
  A7: v1 + v2 is Lipschitzian LinearOperator of X,Y by A1,LOPBAN_1:def 9;
  A8: s1*v1 is Lipschitzian LinearOperator of X,Z by A2,LOPBAN_1:def 9;
  A9: s1*v2 is Lipschitzian LinearOperator of X,Z by A3,LOPBAN_1:def 9;
  A10: s1 + s2 is Lipschitzian LinearOperator of Y,Z by A5,LOPBAN_1:def 9;
  A11: s2*v1 is Lipschitzian LinearOperator of X,Z by A4,LOPBAN_1:def 9;
  A12: a(#)v1 is Lipschitzian LinearOperator of X,Y by A6,LOPBAN_1:def 9;

  thus s1*(v1 + v2)
   = ps1*(pv1 + pv2) by A1,A7,Th13
  .= ps1*pv1 + ps1*pv2 by LOPBAN13:19
  .= s1*v1 + s1*v2 by A2,A3,A8,A9,Th11;

  thus (s1 + s2)*v1
   = (ps1 + ps2)*pv1 by A5,Th13,A10
  .= ps1*pv1 + ps2*pv1 by LOPBAN13:20
  .= s1*v1 + s2*v1 by A2,A4,A8,A11,Th11;

  thus s1*(a(#)v1)
   = ps1*(a*pv1) by A6,A12,Th13
  .= (a*ps1)*pv1 by LOPBAN13:28
  .= a*(ps1*pv1) by LOPBAN13:28
  .= a(#)(s1*v1) by A8,Th13,LOPBAN13:30;
end;

theorem
  for S, T,U be RealNormSpace
  for f1 be PartFunc of S,T
  for f2 be PartFunc of T,U
  for x0 be Point of S
   st x0 in dom(f2 * f1)
    & f1 is_continuous_in x0
    & f2 is_continuous_in f1 /. x0
  holds
    f2 * f1 is_continuous_in x0
proof
  let S, T,U be RealNormSpace;
  let f1 be PartFunc of S,T;
  let f2 be PartFunc of T,U;
  let x0 be Point of S;
  assume that
  A1: x0 in dom(f2 * f1) and
  A2: f1 is_continuous_in x0 and
  A3: f2 is_continuous_in f1 /. x0;

  set f = f2*f1;

  for r be Real st 0 < r
  holds
    ex s be Real
    st 0 < s
    & for x1 be Point of S
       st x1 in dom f & ||.x1 - x0.|| < s
      holds ||.(f /. x1) - (f /. x0).|| < r
  proof
    let r be Real;
    assume 0 < r; then
    consider t be Real such that
    A5: 0 < t &
        for y1 be Point of T
         st y1 in dom f2 & ||.y1 - f1/.x0.|| < t
        holds ||.(f2 /. y1) - (f2 /.(f1/.x0)).|| < r by A3,NFCONT_1:7;

    consider s be Real such that
    A6: 0 < s
      & for x1 be Point of S
         st x1 in dom f1 & ||.x1 - x0.|| < s
        holds ||.(f1 /. x1) - (f1/.x0).|| < t
        by A2,A5,NFCONT_1:7;

    take s;
    thus 0 < s by A6;
    let x1 be Point of S;

    assume that
    A7: x1 in dom f and
    A8: ||.x1 - x0.|| < s;

    A9: x1 in dom f1 & f1.x1 in dom f2 by A7,FUNCT_1:11;
    A10: ||.(f1 /. x1) - (f1/.x0).|| < t by A6,A7,A8,FUNCT_1:11;
    f1 /. x1 in dom f2 by A9,PARTFUN1:def 6;
    then A11: ||.(f2 /. (f1 /. x1)) - (f2 /.(f1/.x0)).|| < r by A5,A10;
    f2 /. (f1 /. x1) = f /. x1 by A7,PARTFUN2:3;
    hence ||.(f /. x1) - (f /. x0).|| < r by A1,A11,PARTFUN2:3;
  end;
  hence thesis by A1,NFCONT_1:7;
end;

theorem Th16:
  for E,F,G be RealNormSpace,
      Z be Subset of E,
      T be Subset of F,
      u be PartFunc of E,F,
      v be PartFunc of F,G
   st u.:Z c= T
    & u is_continuous_on Z
    & v is_continuous_on T
  holds
     v*u is_continuous_on Z
proof
  let E,F,G be RealNormSpace,
      Z be Subset of E,
      T be Subset of F,
      u be PartFunc of E,F,
      v be PartFunc of F,G;
  assume that
  A1: u.:Z c= T and
  A2: u is_continuous_on Z and
  A3: v is_continuous_on T;

  set f = v*u;
  A4: Z c= dom u by A2,NFCONT_1:19;
  A5: T c= dom v by A3,NFCONT_1:19;
  A6: now
    let x be object;
    assume A7: x in Z;
    then u.x in u.:Z by A4,FUNCT_1:def 6;
    then u.x in T by A1;
    hence x in dom (v*u) by A4,A5,A7,FUNCT_1:11;
  end;

  for x0 be Point of E
  for r be Real st x0 in Z & 0 < r
  holds
    ex s be Real
    st 0 < s
     & for x1 be Point of E
       st x1 in Z & ||.(x1 - x0).|| < s
       holds ||.((f /. x1) - (f /. x0)).|| < r
  proof
    let x0 be Point of E;
    let r be Real;
    assume A8: x0 in Z & 0 < r;
    then u.x0 in u.:Z by A4,FUNCT_1:def 6;
    then u.x0 in T by A1;
    then u/.x0 in T by A4,A8,PARTFUN1:def 6;
    then consider t be Real such that
    A9: 0 < t
      & for y1 be Point of F
        st y1 in T & ||.y1 - u/.x0.|| < t
        holds ||.(v /. y1) - (v /.(u/.x0)).|| < r
        by A3,A8,NFCONT_1:19;

    consider s be Real such that
    A10: 0 < s
      & for x1 be Point of E
        st x1 in Z & ||.x1 - x0.|| < s
        holds ||.(u /. x1) - (u/.x0).|| < t
        by A2,A8,A9,NFCONT_1:19;

    take s;
    thus 0 < s by A10;
    let x1 be Point of E;

    assume that
    A11: x1 in Z and
    A12: ||.x1 - x0.|| < s;

    A13: ||.(u /. x1) - (u/.x0).|| < t by A10,A11,A12;
    u.x1 in u.:Z by A4,A11,FUNCT_1:def 6;
    then u.x1 in T by A1;
    then u/.x1 in T by A4,A11,PARTFUN1:def 6;
    then A14: ||.(v/.(u/.x1)) - (v/.(u/.x0)).|| < r by A9,A13;

    x1 in dom f by A6,A11;
    then A15: v /. (u /. x1) = f/.x1 by PARTFUN2:3;
    x0 in dom f by A6,A8;
    hence ||.(f /. x1) - (f /. x0).|| < r by A14,A15,PARTFUN2:3;
  end;
  hence thesis by A6,NFCONT_1:19,TARSKI:def 3;
end;

theorem Th17:
  for X, Y be RealNormSpace
  for x be Point of X
  for y be Point of Y
  for z be Point of [:X,Y:] st z = [x,y]
  holds ||.z.|| <= ||.x.|| + ||.y.||
proof
  let X, Y be RealNormSpace;
  let x be Point of X;
  let y be Point of Y;
  let z be Point of [:X,Y:];
  assume z = [x,y];
  then A1: ||.z.|| = sqrt((||.x.|| ^2) + (||.y.|| ^2)) by NDIFF_8:1;

    |. ||.x.|| .| = ||.x.||
  & |. ||.y.|| .| = ||.y.|| by COMPLEX1:43,NORMSP_1:4;
  hence thesis by A1,COMPLEX1:78;
end;

theorem
  for E,F,G be RealNormSpace,
      u be PartFunc of E,F,
      L be Lipschitzian LinearOperator of F,G,
      x be Point of E
  st u is_differentiable_in x
  holds
      L*u is_differentiable_in x
    & diff(L*u,x) = L * diff(u,x)
proof
  let E,F,G be RealNormSpace,
      u be PartFunc of E,F,
      L be Lipschitzian LinearOperator of F,G,
      x be Point of E;
  assume
  A1: u is_differentiable_in x;
  A2: L is_differentiable_in u/.x
    & diff(L,u/.x) = L by NDIFF_7:26;
  then
  A3: L*u is_differentiable_in x
    & diff(L*u,x) = diff(L,u/.x) * diff(u,x) by A1,NDIFF_2:13;
  modetrans(diff(u,x),E,F) = diff(u,x) by LOPBAN_1:def 11;
  hence thesis by A2,A3,LOPBAN_1:def 11;
end;

theorem Th19:
  for E,F,G be RealNormSpace,
      Z be Subset of E,
      T be Subset of F,
      u be PartFunc of E,F,
      v be PartFunc of F,G
   st u.:Z c= T
    & u is_differentiable_on Z
    & v is_differentiable_on T
  holds
    v*u is_differentiable_on Z
  & for x be Point of E st x in Z
    holds ((v*u) `| Z) /. x = ((v`| T) /. (u /. x)) * ((u`| Z)/.x)
proof
  let E,F,G be RealNormSpace,
      Z be Subset of E,
      T be Subset of F,
      u be PartFunc of E,F,
      v be PartFunc of F,G;

  assume that
  A1: u.:Z c= T and
  A2: u is_differentiable_on Z and
  A3: v is_differentiable_on T;

  A4: Z is open by A2,NDIFF_1:32;
  A5: T is open by A3,NDIFF_1:32;

  now
    let x be object;
    assume A6: x in Z;
    then u.x in u.:Z by A2,FUNCT_1:def 6;
    then u.x in T by A1;
    hence x in dom(v*u) by A2,A6,FUNCT_1:11,A3;
  end;
  then
  A7: Z c= dom(v*u) by TARSKI:def 3;
  A8: for x be Point of E st x in Z
      holds
          v*u is_differentiable_in x
        & diff(v*u, x) = diff(v, u/.x) * diff(u,x)
  proof
    let x be Point of E;
    assume A9: x in Z;
    then A10: u is_differentiable_in x by A2,A4,NDIFF_1:31;
    u/.x in u.:Z by A2,A9,PARTFUN2:23;
    then v is_differentiable_in u /. x by A1,A3,A5,NDIFF_1:31;
    hence thesis by A10,NDIFF_2:13;
  end;
  then
  for x be Point of E st x in Z
  holds v*u is_differentiable_in x;
  hence A11: v*u is_differentiable_on Z by A4,A7,NDIFF_1:31;

  for x be Point of E st x in Z
  holds ((v*u) `| Z )/. x = (( v`| T )/.(u /. x)) * (( u`| Z )/.x)
  proof
    let x be Point of E;
    assume A12: x in Z;
    then
    A13: ((v*u) `| Z )/.x
     = diff(v*u, x) by NDIFF_1:def 9,A11
    .= diff(v, u/.x) * diff(u,x) by A8,A12;

    u.x in u.:Z by A2,A12,FUNCT_1:def 6;
    then u.x in T by A1;
    then u/.x in T by A2,A12,PARTFUN1:def 6; then

    diff(v, u/.x) * diff(u,x)
     = ((v`| T)/.(u /. x)) * diff (u,x) by A3,NDIFF_1:def 9
    .= ((v`| T)/.(u /. x)) * ((u`| Z)/.x) by A2,A12,NDIFF_1:def 9;
    hence thesis by A13;
  end;
  hence thesis;
end;

theorem Th20:
  for F,G be RealNormSpace,
      L be Lipschitzian LinearOperator of F,G
  holds
    L is_differentiable_on [#]F
  & L`| [#]F is_continuous_on [#]F
  & for x be Point of F holds (L`| [#]F) /. x = L
proof
  let F,G be RealNormSpace,
      L be Lipschitzian LinearOperator of F,G;
  A1: diff(L,0,[#]F)
     = L | [#]F by NDIFF_6:11
    .= L;
  (diff_SP(F,G)).0 = G by NDIFF_6:7;
  hence
  A3: L is_differentiable_on [#]F
    & L`| [#]F is_continuous_on [#]F by A1,NDIFF12:20;
  let x be Point of F;
  thus (L`| [#]F) /. x
     = diff(L,x) by A3,NDIFF_1:def 9
    .= L by NDIFF_7:26;
end;

theorem Th21:
  for E,F,G be RealNormSpace,
      u be PartFunc of E,F,
      Z be Subset of E,
      L be Lipschitzian LinearOperator of F,G
   st u is_differentiable_on Z
  holds
      L*u is_differentiable_on Z
    & for x be Point of E st x in Z
      holds ((L*u) `| Z) /. x = L * ((u`| Z)/.x)
proof
  let E,F,G be RealNormSpace,
      u be PartFunc of E,F,
      Z be Subset of E,
      L be Lipschitzian LinearOperator of F,G;
  assume
  A1: u is_differentiable_on Z;
  A2: u.:Z c= [#]F;
  A3: L is_differentiable_on [#]F
    & for x be Point of F
      holds (L`| [#]F) /. x = L by Th20;
  hence L*u is_differentiable_on Z by A1,A2,Th19;
  let x be Point of E;

  A4: modetrans((L`| [#]F)/.(u /. x),F,G)
   = (L`| [#]F)/.(u /. x) by LOPBAN_1:def 11
  .= L by Th20;

  assume x in Z;
  then ((L*u) `| Z) /. x
   = ((L`| [#]F)/.(u /. x)) * ((u`| Z)/.x) by A1,A2,A3,Th19
  .= L * ((u`| Z)/.x) by A4,LOPBAN_1:def 11;
  hence thesis;
end;

definition
  let E,F,G be RealNormSpace,
      L be Lipschitzian LinearOperator of F,G;

  func LTRN(L,E) -> Function means
  :Def1:
    dom it = NAT
  & it.0 = L
  & for i be Nat
    ex K be Lipschitzian LinearOperator of diff_SP(i+1,E,F), diff_SP(i+1,E,G),
       M be Lipschitzian LinearOperator of diff_SP(i,E,F), diff_SP(i,E,G)
    st it.(i+1) = K
     & In(it.i,R_NormSpace_of_BoundedLinearOperators(diff_SP(i,E,F),
                                                     diff_SP(i,E,G))) = M
     & for V be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
       holds K.V = M*V;
  existence
  proof
    defpred P1[Nat,object,object] means
    ex K be Lipschitzian LinearOperator of
              diff_SP($1+1,E,F), diff_SP($1+1,E,G),
       M be Lipschitzian LinearOperator of
              diff_SP($1,E,F), diff_SP($1,E,G)
    st $3 = K
     & In($2, R_NormSpace_of_BoundedLinearOperators(diff_SP($1,E,F),
                                                    diff_SP($1,E,G))) = M
     & for V be Lipschitzian LinearOperator of E,diff_SP($1,E,F)
       holds K.V = M*V;

    A1: for i be Nat
        for x be set
        ex y be set st P1[i,x,y]
    proof
      let i be Nat;
      let x be set;
      set N = In(x,R_NormSpace_of_BoundedLinearOperators(diff_SP(i,E,F),
                                                         diff_SP(i,E,G)));
      reconsider M = N as Lipschitzian LinearOperator of
          diff_SP(i,E,F), diff_SP(i,E,G) by LOPBAN_1:def 9;

      defpred P1[object,object] means
      ex V be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
      st $1 = V & $2 = M*V;

      A2: for x be object
           st x in the carrier of diff_SP(i+1,E,F)
          holds
            ex y be object
            st y in the carrier of diff_SP(i+1,E,G)
             & P1[x,y]
      proof
        let x be object;
        assume x in the carrier of diff_SP(i+1,E,F);
        then x in the carrier of
          R_NormSpace_of_BoundedLinearOperators(E,(diff_SP(i,E,F)))
          by NDIFF_6:10;
        then reconsider V = x as Lipschitzian LinearOperator of
          E,diff_SP(i,E,F) by LOPBAN_1:def 9;

        take y = M*V;
        M*V is Lipschitzian LinearOperator of E,diff_SP (i,E,G) by LOPBAN_2:2;
        then M*V in the carrier of
          R_NormSpace_of_BoundedLinearOperators(E,(diff_SP(i,E,G)))
          by LOPBAN_1:def 9;
        hence thesis by NDIFF_6:10;
      end;

      consider K be Function of the carrier of
        diff_SP(i+1,E,F), the carrier of diff_SP(i+1,E,G)
      such that
      A3: for x be object st x in the carrier of diff_SP(i+1,E,F)
          holds P1[x,K.x] from FUNCT_2:sch 1(A2);

      A4: diff_SP(i+1,E,F)
        = R_NormSpace_of_BoundedLinearOperators(E,diff_SP(i,E,F))
        by NDIFF_6:10;

      A5: diff_SP(i+1,E,G)
        = R_NormSpace_of_BoundedLinearOperators(E,diff_SP(i,E,G))
        by NDIFF_6:10;

      reconsider MP = M as Point of
        R_NormSpace_of_BoundedLinearOperators(diff_SP(i,E,F),diff_SP(i,E,G));

      for x, y be Element of diff_SP(i+1,E,F)
      holds K.(x + y) = K.x + K.y
      proof
        let x, y be Element of diff_SP(i+1,E,F);
        consider V1 be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
        such that
        A6: x = V1 & K.x = M*V1 by A3;

        consider V2 be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
        such that
        A7: y = V2 & K.y = M*V2 by A3;

        consider V3 be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
        such that
        A8: x+y = V3 & K.(x+y) = M*V3 by A3;

        reconsider V1P = V1 as Point of
          R_NormSpace_of_BoundedLinearOperators(E,diff_SP(i,E,F))
          by LOPBAN_1:def 9;

        reconsider V2P = V2 as Point of
          R_NormSpace_of_BoundedLinearOperators(E,diff_SP(i,E,F))
          by LOPBAN_1:def 9;

        A9: x + y
         = V1P + V2P by A6,A7,NDIFF_6:10
        .= V1 + V2 by Th11;

        A10: M*V1 is Lipschitzian LinearOperator of E,diff_SP(i,E,G)
          by A5,A6,LOPBAN_1:def 9;
        A11: M*V2 is Lipschitzian LinearOperator of E,diff_SP(i,E,G)
          by A5,A7,LOPBAN_1:def 9;

        thus K.(x + y)
         = M*V1 + M*V2 by A8,A9,Th14
        .= K.x + K.y by A5,A6,A7,A10,A11,Th11;
      end;
      then A12: K is additive;

      for x be VECTOR of diff_SP(i+1,E,F),
          a be Real
      holds K.(a*x) = a * K.x
      proof
        let x be VECTOR of diff_SP(i+1,E,F),
            a be Real;

        consider V1 be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
        such that
        A13: x = V1 & K.x = M*V1 by A3;
        consider V2 be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
        such that
        A14: a*x = V2 & K.(a*x) = M*V2 by A3;

        reconsider V1P = V1 as Point of
          R_NormSpace_of_BoundedLinearOperators(E,diff_SP(i,E,F))
          by LOPBAN_1:def 9;

        A15: a*x
         = a*V1P by A13,NDIFF_6:10
        .= a(#)V1 by LOPBAN13:30;

        A16: M*V1 is Lipschitzian LinearOperator of E,diff_SP(i,E,G)
          by A5,A13,LOPBAN_1:def 9;
        thus K.(a*x)
         = a(#)(M*V1) by A14,A15,Th14
        .= a * K.x by A5,A13,A16,LOPBAN13:30;
      end;
      then reconsider K as LinearOperator of
        diff_SP(i+1,E,F), diff_SP(i+1,E,G) by A12,LOPBAN_1:def 5;

      for x be VECTOR of diff_SP(i+1,E,F)
      holds ||.K.x.|| <= ||.MP.|| * ||.x.||
      proof
        let x be VECTOR of diff_SP(i+1,E,F);
        consider V1 be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
        such that
        A17: x = V1 & K.x= M*V1 by A3;

        reconsider V1P = V1 as Point of
          R_NormSpace_of_BoundedLinearOperators(E,diff_SP(i,E,F))
          by LOPBAN_1:def 9;

        BoundedLinearOperatorsNorm(E,diff_SP(i,E,F)).V1
         = ||.V1P.||
        .= ||.x.|| by A17,NDIFF_6:10;

        hence ||.K.x.|| <= ||.MP.|| * ||.x.|| by A5,A17,LOPBAN_2:2;
      end;
      then reconsider K as Lipschitzian LinearOperator of
              diff_SP(i+1,E,F),diff_SP(i+1,E,G) by NORMSP_1:4,LOPBAN_1:def 8;

      A18: for V be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
           holds K.V = M*V
      proof
        let V be Lipschitzian LinearOperator of E,diff_SP (i,E,F);
        reconsider x = V as Point of diff_SP (i+1,E,F) by A4,LOPBAN_1:def 9;
        consider V1 be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
        such that
        A19: x = V1 & K.x = M*V1 by A3;
        thus thesis by A19;
      end;

      take K;
      thus thesis by A18;
    end;

    consider f be Function such that
    A20: dom f = NAT & f . 0 = L
       & for n be Nat holds P1[n, f.n, f.(n + 1)] from RECDEF_1:sch 1(A1);

    take f;
    thus thesis by A20;
  end;

  uniqueness
  proof
    defpred P1[Nat,object,object]
    means
    ex K be Lipschitzian LinearOperator of
              diff_SP($1+1,E,F),diff_SP($1+1,E,G),
       M be Lipschitzian LinearOperator of
              diff_SP($1,E,F),diff_SP($1,E,G)
    st $3 = K
     & In($2,R_NormSpace_of_BoundedLinearOperators(diff_SP($1,E,F),
                                                   diff_SP($1,E,G))) = M
     & for V be Lipschitzian LinearOperator of E,diff_SP($1,E,F)
       holds K.V = M*V;

    let seq1, seq2 be Function;

    assume that
    A21: dom seq1 = NAT & seq1.0 = L
       & for n be Nat holds P1[n, seq1.n, seq1.(n+1)] and
    A22: dom seq2 = NAT & seq2.0 = L
       & for n be Nat holds P1[n, seq2.n, seq2.(n+1)];

    defpred S1[Nat] means seq1.$1 = seq2.$1;

    A23: for k be Nat st S1[k] holds S1[k+1]
    proof
      let k be Nat;
      assume A24: S1[k];

      consider
      K1 be Lipschitzian LinearOperator of diff_SP(k+1,E,F),diff_SP(k+1,E,G),
      M1 be Lipschitzian LinearOperator of diff_SP(k,E,F),diff_SP(k,E,G)
      such that
      A25: seq1.(k+1) = K1
         & In(seq1.k, R_NormSpace_of_BoundedLinearOperators(diff_SP(k,E,F),
                                                            diff_SP(k,E,G)))
           = M1
         & for V be Lipschitzian LinearOperator of E,diff_SP(k,E,F)
           holds K1.V = M1*V by A21;

      consider
      K2 be Lipschitzian LinearOperator of diff_SP(k+1,E,F),diff_SP(k+1,E,G),
      M2 be Lipschitzian LinearOperator of diff_SP(k,E,F),diff_SP(k,E,G)
      such that
      A26: seq2.(k+1) = K2
         & In(seq2.k, R_NormSpace_of_BoundedLinearOperators(diff_SP(k,E,F),
                                                            diff_SP(k,E,G)))
           = M2
         & for V be Lipschitzian LinearOperator of E,diff_SP(k,E,F)
           holds K2.V = M2*V by A22;

      for x be Element of the carrier of diff_SP(k+1,E,F)
      holds K1.x = K2.x
      proof
        let x be Element of the carrier of diff_SP(k+1,E,F);
        diff_SP(k+1,E,F) =
          R_NormSpace_of_BoundedLinearOperators(E,(diff_SP(k,E,F)))
          by NDIFF_6:10;
        then
        reconsider V = x as Lipschitzian LinearOperator of E,diff_SP(k,E,F)
          by LOPBAN_1:def 9;

        thus K1.x
         = M1*V by A25
        .= K2.x by A24,A25,A26;
      end;
      then K1 = K2;
      hence seq1.(k+1) = seq2.(k+1) by A25,A26;
    end;
    A27: S1[0] by A21,A22;
    for n be Nat holds S1[n] from NAT_1:sch 2(A27, A23);
    then for n be object st n in dom seq1 holds seq1.n = seq2.n by A21;
    hence seq1 = seq2 by A21,A22,FUNCT_1:2;
  end;
end;

Lm1:
  for E,F,G be RealNormSpace,
      L be Lipschitzian LinearOperator of F,G
  holds
    for i be Nat
    holds LTRN(L,E).i is Lipschitzian LinearOperator of
                                diff_SP(i,E,F),diff_SP(i,E,G)
proof
  let E,F,G be RealNormSpace,
      L be Lipschitzian LinearOperator of F,G;

  defpred P[Nat] means
  LTRN(L,E).$1 is Lipschitzian LinearOperator of
                        diff_SP($1,E,F),diff_SP($1,E,G);

  A1: diff_SP(0,E,F) = F by NDIFF_6:7;
  A2: diff_SP(0,E,G) = G by NDIFF_6:7;
  A3: P[0] by A1,A2,Def1;

  A4: for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume P[i];
    ex K be Lipschitzian LinearOperator of
              diff_SP(i+1,E,F),diff_SP(i+1,E,G),
        M be Lipschitzian LinearOperator of
              diff_SP(i,E,F),diff_SP(i,E,G)
    st LTRN(L,E).(i+1) = K
      & In(LTRN(L,E).i,
          R_NormSpace_of_BoundedLinearOperators(diff_SP(i,E,F),
                                                diff_SP(i,E,G)))
        = M
      & for V be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
        holds K.V = M*V by Def1;
    hence P[i+1];
  end;
  for i be Nat holds P[i] from NAT_1:sch 2(A3,A4);
  hence thesis;
end;

definition
  let E,F,G be RealNormSpace,
      L be Lipschitzian LinearOperator of F,G;
  let i be Nat;
  func LTRN(i,L,E) -> Lipschitzian LinearOperator of
                            diff_SP(i,E,F),diff_SP(i,E,G)
  equals LTRN(L,E).i;
  correctness by Lm1;
end;

begin :: Higher-Order Differentiation and Function Composition

theorem Th22:
  for E,F,G be RealNormSpace,
      L be Lipschitzian LinearOperator of F,G
  holds
    LTRN(0,L,E) = L
  & for i be Nat
    holds
      for V be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
      holds LTRN(i+1,L,E).V = LTRN(i,L,E) * V
proof
  let E,F,G be RealNormSpace,
      L be Lipschitzian LinearOperator of F,G;
  thus LTRN(0,L,E) = L by Def1;

  let i be Nat;
  consider
  K be Lipschitzian LinearOperator of diff_SP(i+1,E,F),diff_SP(i+1,E,G),
  M be Lipschitzian LinearOperator of diff_SP(i,E,F),diff_SP(i,E,G)
  such that
  A1: LTRN(L,E).(i+1) = K
    & In(LTRN(L,E).i,
          R_NormSpace_of_BoundedLinearOperators(diff_SP(i,E,F),
                                                diff_SP(i,E,G))) = M
    & for V be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
      holds K.V = M*V by Def1;

  LTRN(i,L,E) in the carrier of
    R_NormSpace_of_BoundedLinearOperators(diff_SP(i,E,F),diff_SP(i,E,G))
    by LOPBAN_1:def 9;

  then
  M = LTRN(i,L,E) by A1,SUBSET_1:def 8;
  hence for V be Lipschitzian LinearOperator of E,diff_SP(i,E,F)
        holds LTRN(i+1,L,E).V = LTRN(i,L,E) * V by A1;
end;

theorem Th23:
  for E,F,G be RealNormSpace,
      Z be Subset of E,
      T be Subset of F,
      u be PartFunc of E,F,
      v be PartFunc of F,G
   st u.:Z c= T
    & u is_differentiable_on Z
    & u `| Z is_continuous_on Z
    & v is_differentiable_on T
    & v `| T is_continuous_on T
  holds
     v*u is_differentiable_on Z
   & v*u `| Z is_continuous_on Z
proof
  let E,F,G be RealNormSpace,
      Z be Subset of E,
      T be Subset of F,
      u be PartFunc of E,F,
      v be PartFunc of F,G;

  assume that
  A1: u.:Z c= T and
  A2: u is_differentiable_on Z
    & u `| Z is_continuous_on Z and
  A3: v is_differentiable_on T
    & v `| T is_continuous_on T;

  A4: u is_continuous_on Z by A2,NDIFF_1:45;

  A5: v*u is_differentiable_on Z
    & for x be Point of E st x in Z
      holds (v*u `| Z)/.x = ((v`| T)/.(u/.x)) * ((u`| Z)/.x)
    by A1,A2,A3,Th19;

  set f = v*u `| Z;
  set g = u`| Z;
  set h = v`| T;

  A6: now
    let x0,x1 be Point of E;
    assume A7: x0 in Z & x1 in Z;

    A8: now
      let dx be Point of E;
      assume
      A9: ||.dx.|| <= 1;

      reconsider gx1 = g/.x1 as Lipschitzian LinearOperator of E,F
        by LOPBAN_1:def 9;
      A10: dom(gx1) = the carrier of E by FUNCT_2:def 1;
      reconsider hux1 = h/.(u/.x1) as Lipschitzian LinearOperator of F,G
        by LOPBAN_1:def 9;
      reconsider hux0 = h/.(u/.x0) as Lipschitzian LinearOperator of F,G
        by LOPBAN_1:def 9;

      A11: modetrans(h/.(u/.x1),F,G) = hux1 by LOPBAN_1:def 11;
      A12: hux0 is additive;
      A13: (f/.x1).dx
       = ((h/.(u/.x1)) * (g/.x1)).dx by A1,A2,A3,A7,Th19
      .= (hux1*gx1).dx by A11,LOPBAN_1:def 11
      .= (h/.(u/.x1)).((g/.x1).dx) by A10,FUNCT_1:13;

      reconsider gx0 = g/.x0 as Lipschitzian LinearOperator of E,F
        by LOPBAN_1:def 9;
      reconsider gx1 = g/.x1 as Lipschitzian LinearOperator of E,F
        by LOPBAN_1:def 9;

      A14: dom(gx0) = the carrier of E by FUNCT_2:def 1;
      A15: modetrans(g/.x0,E,F) = gx0 by LOPBAN_1:def 11;

      A16: (f/.x0).dx
          = ((h/.(u/.x0)) * (g/.x0)).dx by A1,A2,A3,A7,Th19
        .= (hux0 * gx0).dx by A15,LOPBAN_1:def 11
        .= (h/.(u /.x0)).((g/.x0).dx) by A14,FUNCT_1:13;

      A17: (f/.x1 - f/.x0).dx
         = (f/.x1).dx - (f/.x0).dx by LOPBAN_1:40
        .= (h/.(u/.x1)).((g/.x1).dx)
            - (h/.(u/.x0)).((g/.x1).dx)
            + (h/.(u/.x0)).((g/.x1).dx)
            - (h/.(u/.x0)).((g/.x0).dx) by A13,A16,RLVECT_4:1
        .= (h/.(u/.x1)).((g/.x1).dx)
            - (h/.(u/.x0)).((g/.x1).dx)
            + ( (h/.(u/.x0)).((g/.x1).dx)
              - (h/.(u/.x0)).((g/.x0).dx) ) by RLVECT_1:28
        .= (h/.(u/.x1) - h/.(u/.x0)).((g/.x1).dx)
            + ( (h/.(u/.x0)).((g/.x1).dx)
              - (h/.(u/.x0)).((g/.x0).dx) ) by LOPBAN_1:40
        .= (h/.(u/.x1) - h/.(u/.x0)).((g/.x1).dx)
            + ( (h/.(u/.x0)).((g/.x1).dx)
              + (-1)*(h/.(u/.x0)).((g/.x0).dx) ) by RLVECT_1:16
        .= (h/.(u/.x1) - h/.(u/.x0)).((g/.x1).dx)
            + ( hux0.((g/.x1).dx)
              + hux0.((-1)*(g/.x0).dx) ) by LOPBAN_1:def 5
        .= (h/.(u/.x1) - h/.(u/.x0)).((g/.x1).dx)
            + hux0.((g/.x1).dx + (-1)*(g/.x0).dx) by A12
        .= (h/.(u/.x1) - h/.(u/.x0)).((g/.x1).dx)
            + (h/.(u/.x0)).((g/.x1).dx - (g/.x0).dx) by RLVECT_1:16
        .= (h/.(u/.x1) - h/.(u/.x0)).((g/.x1).dx)
            + (h/.(u/.x0)).((g/.x1 - g/.x0).dx) by LOPBAN_1:40;
      reconsider h10 = h/.(u/.x1) - h/.(u/.x0)
        as Lipschitzian LinearOperator of F,G by LOPBAN_1:def 9;
      reconsider g10 = g/.x1 - g/.x0
        as Lipschitzian LinearOperator of E,F by LOPBAN_1:def 9;

      A18: ||. (f/.x1 - f/.x0).dx .||
        <= ||.h10.(gx1.dx).|| + ||.hux0.(g10.dx).|| by A17,NORMSP_1:def 1;

      A19: ||.h10.(gx1.dx).||
        <= ||.(h/.(u/.x1)) - (h/.(u/.x0)).|| * ||.gx1.dx.|| by LOPBAN_1:32;

      0 <= ||.(h/.(u/.x1)) - (h/.(u/.x0)).|| by NORMSP_1:4;

      then ||. h/.(u/.x1) - h/.(u/.x0) .|| * ||. gx1.dx .||
        <= ||. h/.(u/.x1) - h/.(u/.x0) .|| * (||. g/.x1 .|| * ||.dx.||)
          by LOPBAN_1:32,XREAL_1:64;
      then
      A20: ||.h10 .(gx1.dx).||
        <= ||. h/.(u/.x1) - h/.(u/.x0) .|| * ||. g/.x1 .|| * ||.dx.||
          by A19,XXREAL_0:2;

      A21: ||.hux0.(g10.dx).|| <= ||. h/.(u/.x0) .|| * ||.g10.dx.||
          by LOPBAN_1:32;

      0 <= ||. h/.(u/.x0) .|| by NORMSP_1:4;
      then ||. h/.(u/.x0) .|| * ||.g10.dx.||
        <= ||. h/.(u/.x0) .|| * (||.g/.x1 - g/.x0.|| * ||.dx.||)
        by LOPBAN_1:32,XREAL_1:64;
      then ||.hux0.(g10.dx ).||
        <= ||. h/.(u/.x0) .|| * ||.g/.x1 - g/.x0.|| * ||.dx.||
        by A21,XXREAL_0:2;
      then ||.h10.(gx1.dx).|| + ||.hux0.(g10.dx ).||
        <= ||.h/.(u/.x1) - h/.(u/.x0).|| * ||. g/.x1 .|| * ||.dx.||
          + ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.|| * ||.dx.||
        by A20,XREAL_1:7;
      then
      A22: ||. (f/.x1 - f/.x0 ).dx .||
        <= ( ||.h/.(u/.x1) - h/.(u/.x0).|| * ||.g/.x1.||
          + ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.|| ) * ||.dx.||
        by A18,XXREAL_0:2;

        0 <= ||.h/.(u/.x1) - h/.(u/.x0).||
      & 0 <= ||. g/.x1 .|| by NORMSP_1:4;
      then
      A23: 0 * ||. g/.x1 .||
        <= ||.h/.(u/.x1) - h/.(u/.x0).|| * ||. g/.x1 .|| by XREAL_1:64;

      0 <= ||. h/.(u/.x0) .|| & 0 <= ||.g/.x1 - g/.x0.|| by NORMSP_1:4;
      then 0 * ||.g/.x1 - g/.x0.||
        <= ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.|| by XREAL_1:64;
      then 0 + 0
        <= ||.h/.(u/.x1) - h/.(u/.x0).|| * ||.g/.x1 .||
        + ||. h/.(u/.x0) .|| * ||.g/.x1 - g/.x0.|| by A23,XREAL_1:7;
      then ( ||.h/.(u/.x1) - h/.(u/.x0).|| * ||.g/.x1.||
            + ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.|| ) * ||.dx.||
        <= ( ||.h/.(u/.x1) - h/.(u/.x0).|| * ||. g/.x1 .||
            + ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.|| ) * 1 by A9,XREAL_1:64;

      hence ||.(f/.x1 - f/.x0).dx.||
          <= ||.h/.(u/.x1) - h/.(u/.x0).|| * ||.g/.x1.||
          + ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.|| by A22,XXREAL_0:2;
    end;

    set K = ||.h/.(u/.x1) - h/.(u/.x0).|| * ||.g/.x1.||
          + ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.||;

    reconsider f10 = f/.x1 - f/.x0
      as Lipschitzian LinearOperator of E,G
      by LOPBAN_1:def 9;

    A24: (for s be Real st s in PreNorms(f10) holds s <= K)
          implies upper_bound PreNorms(f10) <= K by SEQ_4:45;

    now
      let s be Real;
      assume s in PreNorms(f10);
      then consider dx be VECTOR of E such that
      A25: s = ||.f10.dx.|| & ||.dx.|| <= 1;
      thus s <= K by A8,A25;
    end;

    hence ||.f/.x1 - f/.x0.||
        <= ||.h/.(u/.x1) - h/.(u/.x0).|| * ||.g/.x1.||
        + ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.|| by A24,LOPBAN_1:30;
  end;

  A26: Z = dom f by A5,NDIFF_1:def 9;

  for x0 be Point of E
  for r be Real st x0 in Z & 0 < r
  holds
    ex s be Real
    st 0 < s
     & for x1 be Point of E
        st x1 in Z & ||.x1 - x0.|| < s
       holds ||.f/.x1 - f/.x0.|| < r
  proof
    let x0 be Point of E;
    let r be Real;
    assume A27: x0 in Z & 0 < r;
    set r0 = r/2;
    A28: 0 < r0 & r0 < r by A27,XREAL_1:215,216;
    set r1 = r0/2;
    A29: 0 < r1 & r1 < r0 by A28,XREAL_1:215,216;

    consider s10 be Real such that
    A30: 0 < s10
       & for x1 be Point of E
          st x1 in Z & ||.x1 - x0.|| < s10
         holds ||.g/.x1 - g/.x0.|| < 1 by A2,A27,NFCONT_1:19;

    A31: now
      let x1 be Point of E;
      assume x1 in Z & ||.x1 - x0.|| < s10;
      then A32: ||.g/.x1 - g/.x0.|| < 1 by A30;
      g/.x1 = g/.x1 - g/.x0 + g/.x0 by RLVECT_4:1;
      then A33: ||. g/.x1 .|| <= ||.g/.x1 - g/.x0.|| + ||.g/.x0.||
      by NORMSP_1:def 1;

      ||.g/.x1 - g/.x0.|| + ||.g/.x0.|| <= 1 + ||.g/.x0.|| by A32,XREAL_1:7;
      hence ||.g/.x1.|| <= 1 + ||.g/.x0 .|| by A33,XXREAL_0:2;
    end;
    A34: 0 + 0 < 1 + ||.g/.x0.|| by XREAL_1:8,NORMSP_1:4;
    set r10 = r1 /(1 + ||.g/.x0.|| );
    u.x0 in u.:Z by A2,A27,FUNCT_1:def 6;
    then u.x0 in T by A1;
    then u/.x0 in T by A2,A27,PARTFUN1:def 6;
    then consider d be Real such that
    A35: 0 < d
       & for y1 be Point of F
         st y1 in T & ||.y1 - u/.x0.|| < d
         holds ||.h/.y1 - h/.(u/.x0).|| < r10
      by A3,A29,A34,XREAL_1:139,NFCONT_1:19;

    consider s11 be Real such that
    A36: 0 < s11
       & for x1 be Point of E
         st x1 in Z & ||.x1 - x0.|| < s11
         holds ||.u/.x1 - u/.x0.|| < d
      by A4,A27,A35,NFCONT_1:19;

    A37:
    now
      let x1 be Point of E;
      assume A38: x1 in Z & ||.x1 - x0.|| < s11;
      then A39: ||.u/.x1 - u/.x0.|| < d by A36;
      u.x1 in u.:Z by A2,A38,FUNCT_1:def 6;
      then u.x1 in T by A1;
      then u/.x1 in T by A2,A38,PARTFUN1:def 6;
      hence ||.h/.(u/.x1) - h/.(u/.x0).|| < r10 by A35,A39;
    end;

    reconsider s1=min(s10,s11) as Real;

    A40: 0 < s1
       & for x1 be Point of E
         st x1 in Z & ||.x1 - x0.|| < s1
         holds ||.h/.(u/.x1) - h/.(u/.x0).|| * ||.g/.x1.|| <= r1
    proof
      thus 0 < s1 by A30,A36,XXREAL_0:15;
      let x1 be Point of E;
      assume A41: x1 in Z & ||.x1 - x0.|| < s1;
      s1 <= s10 by XXREAL_0:17;
      then ||.x1 - x0.|| < s10 by A41,XXREAL_0:2;
      then A42: ||.g/.x1.|| <= 1 + ||.g/.x0.|| by A31,A41;
      s1 <= s11 by XXREAL_0:17;
      then ||.x1 - x0.|| < s11 by A41,XXREAL_0:2;
      then A43: ||.h/.(u/.x1) - h/.(u/.x0).|| < r10 by A37,A41;

        0 <= ||.g/.x1 .||
      & 0 <= ||.h/.(u/.x1) - h/.(u/.x0).|| by NORMSP_1:4;
      then ||.h/.(u/.x1) - h/.(u/.x0).|| * ||.g/.x1.||
        <= r10 * (1 + ||.g/.x0.||) by A42,A43,XREAL_1:66;
      hence ||.h/.(u/.x1) - h/.(u/.x0).|| * ||.g/.x1.|| <= r1
        by A34,XCMPLX_1:87;
    end;

    A44: 0 + 0 < 1 + ||.h/.(u/.x0).|| by NORMSP_1:4,XREAL_1:8;
    set r10 = r1 / (1 + ||.h/.(u/.x0).||);
    A45: 0 < r10 by A29,A44,XREAL_1:139;
    consider s2 be Real such that
    A46: 0 < s2
       & for x1 be Point of E
         st x1 in Z & ||.x1 - x0.|| < s2
         holds ||.g/.x1 - g/.x0.|| < r10
       by A2,A27,A29,A44,NFCONT_1:19,XREAL_1:139;

    A47: 0 < s2
       & for x1 be Point of E
         st x1 in Z & ||.x1 - x0.|| < s2
         holds ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.|| <= r1
    proof
      thus 0 < s2 by A46;
      let x1 be Point of E;
      assume x1 in Z & ||.x1 - x0.|| < s2;
      then A48: ||.g/.x1 - g/.x0.|| < r10 by A46;
        0 <= ||.g/.x1 - g/.x0.||
      & 0 <= ||.h/.(u/.x0).|| by NORMSP_1:4;
      then
      A49: ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.||
        <= ||.h/.(u/.x0).|| * r10 by A48,XREAL_1:64;
      0 + ||.h/.(u/.x0).|| <= ||.h/.(u/.x0).|| + 1 by XREAL_1:7;
      then ||.h/.(u/.x0).|| * r10 <= (||.h/.(u/.x0).|| + 1) * r10
        by A45,XREAL_1:64;
      then ||.h/.(u/.x0).|| * r10 <= r1 by A44,XCMPLX_1:87;
      hence ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.|| <= r1 by A49,XXREAL_0:2;
    end;

    reconsider s = min(s1,s2) as Real;
    take s;
    thus 0 < s by A40,A47,XXREAL_0:15;

    let x1 be Point of E;
    assume A50: x1 in Z & ||.x1 - x0.|| < s;
    s <= s1 by XXREAL_0:17;
    then ||.x1 - x0.|| < s1 by A50,XXREAL_0:2;
    then A51: ||.h/.(u/.x1) - h/.(u/.x0).|| * ||.g/.x1.|| <= r1 by A40,A50;
    s <= s2 by XXREAL_0:17;
    then ||.x1 - x0.|| < s2 by A50,XXREAL_0:2;
    then ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.|| <= r1 by A47,A50;
    then
    A52: ||.h/.(u/.x1) - h/.(u/.x0).|| * ||.g/.x1.||
        + ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.|| <= r1 + r1 by A51,XREAL_1:7;

    ||.f/.x1 - f/.x0.|| <= ||.h/.(u/.x1) - h/.(u/.x0).|| * ||.g/.x1.||
        + ||.h/.(u/.x0).|| * ||.g/.x1 - g/.x0.|| by A6,A27,A50;
    then ||.f/.x1 - f/.x0.|| <= r0 by A52,XXREAL_0:2;
    hence ||.f/.x1 - f/.x0.|| < r by A28,XXREAL_0:2;
  end;
  hence thesis by A1,A2,A3,A26,Th19,NFCONT_1:19;
end;

theorem
  for E,F,G be RealNormSpace,
      Z be Subset of E,
      u be PartFunc of E,F,
      L be Lipschitzian LinearOperator of F,G
   st u is_differentiable_on Z
    & u `| Z is_continuous_on Z
  holds
     L*u is_differentiable_on Z
   & L*u `| Z is_continuous_on Z
proof
  let E,F,G be RealNormSpace,
      Z be Subset of E,
      u be PartFunc of E,F,
      L be Lipschitzian LinearOperator of F,G;
  assume
  A1: u is_differentiable_on Z
    & u `| Z is_continuous_on Z;
  A2: u.:Z c= [#]F;

    L is_differentiable_on [#]F
  & L `| [#]F is_continuous_on [#]F by Th20;
  hence thesis by A1,A2,Th23;
end;

theorem Th25:
  for E,F,G be RealNormSpace,
      Z be Subset of E,
      u be PartFunc of E,F,
      L be Lipschitzian LinearOperator of F,G
  holds
    for i be Nat
    st u is_differentiable_on i,Z
    holds L*u is_differentiable_on i,Z
        & diff(L*u,i,Z) = LTRN(i,L,E) * diff(u,i,Z)
proof
  let E,F,G be RealNormSpace,
      Z be Subset of E,
      u be PartFunc of E,F,
      L be Lipschitzian LinearOperator of F,G;

  defpred P[Nat] means
  u is_differentiable_on $1,Z
  implies
    L*u is_differentiable_on $1,Z
  & diff(L*u,$1,Z) = LTRN($1,L,E) * diff(u,$1,Z);

  A1: P[0]
  proof
    assume A2: u is_differentiable_on 0,Z;
    A3: dom L = [#]F by FUNCT_2:def 1;
    then A4: rng u c= dom L;
    then A5: Z c= dom(L*u) by A2,RELAT_1:27;
    A6: dom(u|Z) = Z by A2,RELAT_1:62;

    rng(u|Z) c= dom L by A3;
    then
    A7: dom(L*(u|Z))
      = dom (u|Z) by RELAT_1:27
     .= Z by A2,RELAT_1:62;

    A8: now
      let x be object;
      assume A9: x in dom ((L*u) | Z);
      then A10: x in Z;

      thus ((L*u) | Z).x
       = (L*u).x by A9,FUNCT_1:47
      .= L.(u.x) by A2,A10,FUNCT_1:13
      .= L.((u|Z).x) by A6,A9,FUNCT_1:47
      .= (L*(u|Z)).x by A6,A9,FUNCT_1:13;
    end;
    thus L*u is_differentiable_on 0,Z by A2,A4,RELAT_1:27;

    A11: diff(L*u,0,Z) = (L*u) | Z by NDIFF_6:11;
    LTRN(0,L,E) * diff(u,0,Z)
     = L * diff (u,0,Z) by Th22
    .= L * (u|Z) by NDIFF_6:11;

    hence diff(L*u,0,Z) = LTRN(0,L,E) * diff(u,0,Z)
      by A5,A7,A8,A11,RELAT_1:62,FUNCT_1:2;
  end;

  A12: for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume A13: P[i];
    assume A14: u is_differentiable_on i+1,Z;
    A15: 0 + i <= 1 + i by XREAL_1:7;
    then
    A16: L*u is_differentiable_on i,Z
       & diff(L*u,i,Z) = LTRN(i,L,E) * diff(u,i,Z)
       by A13,A14,NDIFF_6:17;
    A17: diff(u,i,Z) is_differentiable_on Z by A14,NDIFF_6:14;
    then
    A18: LTRN(i,L,E) * diff (u,i,Z) is_differentiable_on Z
       & for x be Point of E st x in Z holds
         ((LTRN(i,L,E) * diff(u,i,Z))`|Z)/.x
         = LTRN(i,L,E) * (diff(u,i,Z)`|Z)/.x by Th21;

    for k be Nat st k <= (i+1)-1
    holds diff(L*u,k,Z) is_differentiable_on Z
    proof
      let k be Nat;
      assume A19: k <= (i+1)-1;

      per cases;
      suppose k = i;
        hence diff(L*u,k,Z) is_differentiable_on Z
          by A13,A14,A15,A17,Th21,NDIFF_6:17;
      end;
      suppose k <> i;
        then k < i by A19,XXREAL_0:1;
        then k + 1 <= i by NAT_1:13;
        then k + 1 - 1 <= i - 1 by XREAL_1:13;
        hence diff(L*u,k,Z) is_differentiable_on Z
          by A13,A14,A15,NDIFF_6:14,17;
      end;
    end;

    hence L*u is_differentiable_on i+1,Z by A16,NDIFF_6:14;

    A20: diff(u,i,Z)`|Z = diff(u,i+1,Z) by NDIFF_6:13;
    A21: dom((LTRN(i,L,E) * diff(u,i,Z))`|Z) = Z by A18,NDIFF_1:def 9;
    A22: dom(diff(u,i,Z) `| Z) = Z by A17,NDIFF_1:def 9;
    A23: dom(diff(u,i+1,Z)) = Z by A17,A20,NDIFF_1:def 9;

    dom LTRN(i+1,L,E) = the carrier of diff_SP(i+1,E,F) by FUNCT_2:def 1;
    then rng diff(u,i+1,Z) c= dom LTRN(i+1,L,E);
    then A24: dom(LTRN(i+1,L,E) * diff(u,i+1,Z)) = Z by A23,RELAT_1:27;

    A25: now
      let x0 be object;
      assume A26: x0 in dom((LTRN(i,L,E) * diff(u,i,Z)) `| Z );
      then reconsider x = x0 as Point of E;
      reconsider V = (diff(u,i,Z)`|Z)/.x
        as Lipschitzian LinearOperator of E,diff_SP(i,E,F) by LOPBAN_1:def 9;

      A27: (diff(u,i,Z)`|Z)/.x
         = (diff(u,i,Z)`|Z).x by A21,A22,A26,PARTFUN1:def 6
        .= (diff(u,i+1,Z)).x by NDIFF_6:13;

      thus ((LTRN(i,L,E) * diff(u,i,Z)) `| Z).x0
         = ((LTRN(i,L,E) * diff(u,i,Z)) `| Z)/.x by A26,PARTFUN1:def 6
        .= LTRN(i,L,E) * (diff (u,i,Z)`| Z)/.x by A17,A21,A26,Th21
        .= LTRN(i+1,L,E).V by Th22
        .= (LTRN(i+1,L,E) * diff(u,i+1,Z)).x0
          by A20,A21,A22,A26,A27,FUNCT_1:13;
    end;
    (LTRN(i,L,E) * diff (u,i,Z)) `| Z = diff(L*u,i+1,Z)
      by A13,A14,A15,NDIFF_6:13,17;
    hence thesis by A25,FUNCT_1:2,A21,A24;
  end;

  for i be Nat holds P[i] from NAT_1:sch 2(A1,A12);
  hence thesis;
end;

theorem
  for E,F,G be RealNormSpace,
      Z be Subset of E,
      u be PartFunc of E,F,
      L be Lipschitzian LinearOperator of F,G
  holds
    for i be Nat
     st u is_differentiable_on i,Z
      & diff(u,i,Z) is_continuous_on Z
    holds L*u is_differentiable_on i,Z
        & diff(L*u,i,Z) is_continuous_on Z
proof
  let E,F,G be RealNormSpace,
      Z be Subset of E,
      u be PartFunc of E,F,
      L be Lipschitzian LinearOperator of F,G;
  let i be Nat;

  assume
  A1: u is_differentiable_on i,Z
    & diff(u,i,Z) is_continuous_on Z;

  hence L*u is_differentiable_on i,Z by Th25;

  A2: L*u is_differentiable_on i,Z
    & diff(L*u,i,Z) = LTRN(i,L,E) * diff(u,i,Z) by A1,Th25;
  A3: diff(u,i,Z) .: Z c= [#] diff_SP(i,E,F);
  LTRN(i,L,E) is_continuous_on [#] diff_SP(i,E,F) by LOPBAN_5:4;
  hence diff(L*u,i,Z) is_continuous_on Z by A1,A2,A3,Th16;
end;

theorem Th27:
  for S,T,U be RealNormSpace,
      x be Point of S,
      u be PartFunc of S,T,
      v be PartFunc of S,U,
      w be PartFunc of S,[:T,U:]
  st u is_differentiable_in x
   & v is_differentiable_in x
   & w = <:u,v:>
  holds
    w is_differentiable_in x
  & diff(w,x) = <:diff(u,x),diff(v,x):>
  & for dx be Point of S
    holds diff(w,x).dx = [diff(u,x).dx, diff(v,x).dx]
proof
  let S,T,U be RealNormSpace,
      x0 be Point of S,
      f1 be PartFunc of S,T,
      f2 be PartFunc of S,U,
      w be PartFunc of S,[:T,U:];
  assume that
  A1: f1 is_differentiable_in x0 and
  A2: f2 is_differentiable_in x0 and
  A3: w = <:f1,f2:>;

  A4: dom w = (dom f1) /\ (dom f2) by A3,FUNCT_3:def 7;
  A5: for t be Point of S
      st t in dom w
      holds w/.t = [f1/.t, f2/.t]
  proof
    let t be Point of S;
    assume
    A6: t in dom w;
    then
    A7: t in dom f1 by A4,XBOOLE_0:def 4;
    A8: t in dom f2 by A4,A6,XBOOLE_0:def 4;
    thus w/.t
     = w.t by A6,PARTFUN1:def 6
    .= [f1.t,f2.t] by A3,A6,FUNCT_3:def 7
    .= [f1/.t,f2.t] by A7,PARTFUN1:def 6
    .= [f1/.t,f2/.t] by A8,PARTFUN1:def 6;
  end;

  consider N1 be Neighbourhood of x0 such that
  A9: N1 c= dom f1 and
  A10: ex L be Point of R_NormSpace_of_BoundedLinearOperators(S,T),
          R be RestFunc of S,T
       st for x be Point of S st x in N1
       holds f1/.x - f1/.x0 = L.(x - x0) + R/.(x - x0) by A1;

  consider L1 be Point of R_NormSpace_of_BoundedLinearOperators(S,T),
  R1 be RestFunc of S,T such that
  A11: for x be Point of S st x in N1
       holds f1/.x - f1/.x0 = L1.(x - x0) + R1/.(x - x0) by A10;

  A12: diff(f1,x0) = L1 by A1,A9,A11,NDIFF_1:def 7;
  consider N2 be Neighbourhood of x0 such that
  A13: N2 c= dom f2 and
  A14: ex L be Point of R_NormSpace_of_BoundedLinearOperators(S,U),
          R be RestFunc of S,U
       st for x be Point of S st x in N2
       holds f2/.x - f2/.x0 = L.(x - x0) + R/.(x - x0) by A2;

  consider L2 be Point of R_NormSpace_of_BoundedLinearOperators(S,U),
           R2 be RestFunc of S,U such that
  A15: for x be Point of S st x in N2
       holds f2/.x - f2/.x0 = L2.(x - x0) + R2/.(x - x0) by A14;

  A16: diff(f2,x0) = L2 by A2,A13,A15,NDIFF_1:def 7;

  deffunc F3(object) = [R1/.$1, R2/.$1];

  A17: for x be object st x in the carrier of S
       holds F3(x) in the carrier of [:T,U:];

  consider R be Function of S,[:T,U:] such that
  A18: for dx be object
       st dx in the carrier of S
       holds R.dx = F3(dx) from FUNCT_2:sch 2(A17);

  A19: for dx be Point of S
       holds R/.dx =[R1/.dx, R2/.dx] by A18;

  for r be Real st r > 0
  holds
    ex d be Real st d > 0
  & for z be Point of S st z <> 0.S & ||.z.|| < d
    holds ||.z.||" * ||.R/.z.|| < r
  proof
    let r0 be Real;
    assume A20: r0 > 0;
    set r = r0/2;
    A21: 0 < r < r0 by A20,XREAL_1:215,216;

    R1 is RestFunc-like;
    then consider d1 be Real such that
    A22: d1 > 0
       & for z be Point of S st z <> 0.S & ||.z.|| < d1
         holds ||.z.||" * ||.R1/.z.|| < r by A21,NDIFF_1:23;

    R2 is RestFunc-like;
    then consider d2 be Real such that
    A23: d2 > 0
       & for z be Point of S st z <> 0.S & ||.z.|| < d2
         holds ||.z.||" * ||.R2/.z.|| < r by A21,NDIFF_1:23;

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

    let z be Point of S;
    assume A24: z <> 0. S & ||.z.|| < d;
    d <= d1 by XXREAL_0:17;
    then ||.z.|| < d1 by A24,XXREAL_0:2;
    then A25: ||.z.||" * ||.R1/.z.|| < r by A22,A24;

    d <= d2 by XXREAL_0:17;
    then ||.z.|| < d2 by A24,XXREAL_0:2;
    then A26: ||.z.||" * ||.R2/.z.|| < r by A23,A24;

    A27: R/.z = [R1/.z, R2/.z] by A18;
    0 <= ||.z.|| by NORMSP_1:4;
    then 0 < ||.z.|| by A24,XXREAL_0:1,NORMSP_0:def 5;
    then 0 < ||.z.||" by XREAL_1:122;
    then
    A28: ||.z.||" * ||.R/.z.||
      <= ||.z.||" * (||.R1/.z.|| + ||.R2/.z.||) by A27,Th17,XREAL_1:64;

    ||.z.||" * ||.R1/.z.|| + ||.z.||" * ||.R2/.z.|| < r + r
      by A25,A26,XREAL_1:8;
    hence ||.z.||" * ||.R/.z.|| < r0 by A28,XXREAL_0:2;
  end;
  then reconsider R as RestFunc of S,[:T,U:] by NDIFF_1:23;

  deffunc F3(object) = [L1.$1,L2.$1];

  A29: for x be object st x in the carrier of S
       holds F3(x) in the carrier of [:T,U:]
  proof
    let x be object;
    assume x in the carrier of S;
    then reconsider y = x as Point of S;
    [L1.y,L2.y] is Point of [:T,U:];
    hence thesis;
  end;

  consider L be Function of S,[:T,U:] such that
  A30: for dx be object
       st dx in the carrier of S
       holds L.dx = F3(dx) from FUNCT_2:sch 2(A29);

  reconsider LL1 = L1 as Lipschitzian LinearOperator of S,T by LOPBAN_1:def 9;
  reconsider LL2 = L2 as Lipschitzian LinearOperator of S,U by LOPBAN_1:def 9;

  for x, y be Element of S holds L.(x + y) = L.x + L.y
  proof
    let x, y be Element of S;
    A31: L.x = [L1.x, L2.x] by A30;
    A32: L.y = [L1.y, L2.y] by A30;
    A33: LL1 is additive & LL2 is additive;
    thus L.(x + y)
     = [LL1.(x + y), LL2.(x + y)] by A30
    .= [LL1.x + LL1.y, LL2.(x + y)] by A33
    .= [LL1.x + LL1.y, LL2.x + LL2.y] by A33
    .= L.x + L.y by A31,A32,PRVECT_3:18;
  end;
  then A34: L is additive;

  for x be VECTOR of S, a be Real holds L.(a*x) = a * L.x
  proof
    let x be VECTOR of S, a be Real;
    A35: L.x = [L1.x, L2.x] by A30;
    thus L.(a*x)
     = [LL1.(a*x), LL2.(a*x) ] by A30
    .= [a * LL1.x, LL2.(a*x) ] by LOPBAN_1:def 5
    .= [a * LL1.x, a * LL2.x ] by LOPBAN_1:def 5
    .= a * L.x by A35,PRVECT_3:18;
  end;
  then reconsider L as LinearOperator of S,[:T,U:] by A34,LOPBAN_1:def 5;

  set K = ||.L1.|| + ||.L2.||;
  0 <= ||.L1.|| & 0 <= ||.L2.|| by NORMSP_1:4;
  then A36: 0 + 0 <= ||.L1.|| + ||.L2.|| by XREAL_1:7;

  for w be VECTOR of S holds ||.L.w.|| <= K * ||.w.||
  proof
    let w be Element of S;
    A37: L.w = [LL1.w, LL2.w] by A30;
    A38: ||.L.w.|| <= ||.LL1.w.|| + ||.LL2.w.|| by A37,Th17;
    A39: ||.LL1.w.|| <= ||.L1.|| * ||.w.|| by LOPBAN_1:32;
    A40: ||.LL2.w.|| <= ||.L2.|| * ||.w.|| by LOPBAN_1:32;
    ||.LL1.w.|| + ||.LL2.w.||
    <= ||.L1.|| * ||.w.|| + ||.L2.|| * ||.w.|| by A39,A40,XREAL_1:7;
    hence ||.L.w.|| <= K * ||.w.|| by A38,XXREAL_0:2;
  end;
  then reconsider L as Lipschitzian LinearOperator of S,[:T,U:]
    by A36,LOPBAN_1:def 8;

  reconsider L as Point of R_NormSpace_of_BoundedLinearOperators(S,[:T,U:])
    by LOPBAN_1:def 9;

  consider N be Neighbourhood of x0 such that
  A41: N c= N1 and
  A42: N c= N2 by NDIFF_1:1;

  A43: N c= dom f2 by A13,A42,XBOOLE_1:1;
  N c= dom f1 by A9,A41,XBOOLE_1:1;
  then N /\ N c= (dom f1) /\ (dom f2) by A43,XBOOLE_1:27;
  then A44: N c= dom w by A3,FUNCT_3:def 7;

  A45: now
    let x be Point of S;
    A46: x0 in N by NFCONT_1:4;
    assume A47: x in N;
    A48: L.(x - x0) = [L1.(x - x0), L2.(x - x0)] by A30;
    A49: R/.(x - x0) = [R1/.(x - x0), R2/.(x - x0)] by A19;

    A50: w/.x = [f1/.x, f2/.x] by A5,A44,A47;
    w/.x0 = [f1/.x0, f2/.x0] by A5,A44,A46;
    then -w/.x0 = [-f1/.x0, -f2/.x0] by PRVECT_3:18;
    hence w/.x - w/.x0
     = [f1/.x - f1/.x0, f2/.x - f2/.x0] by A50,PRVECT_3:18
    .= [L1.(x - x0) + R1/.(x - x0), f2/.x - f2/.x0 ] by A11,A41,A47
    .= [L1.(x - x0) + R1/.(x - x0), L2.(x - x0) + R2/.(x - x0)] by A15,A42,A47
    .= L.(x-x0) + R/.(x-x0) by A48,A49,PRVECT_3:18;
  end;
  hence w is_differentiable_in x0 by A44;
  then A52: diff(w,x0) = L by A44,A45,NDIFF_1:def 7;

  diff(f1,x0) is Lipschitzian LinearOperator of S,T by LOPBAN_1:def 9;
  then A53: dom(diff(f1,x0)) = the carrier of S by FUNCT_2:def 1;

  diff(f2,x0) is Lipschitzian LinearOperator of S,U by LOPBAN_1:def 9;
  then A54: dom(diff(f2,x0)) = the carrier of S by FUNCT_2:def 1;

  A55: diff(w,x0) is Lipschitzian LinearOperator of S,[:T,U:]
    by LOPBAN_1:def 9;
  then A56: dom(diff(w,x0)) = the carrier of S by FUNCT_2:def 1;

  dom(diff(w,x0)) = dom(diff(f1,x0)) /\ dom (diff(f2,x0))
    by A53,A54,A55,FUNCT_2:def 1;
  hence thesis by A12,A16,A30,A52,A56,FUNCT_3:def 7;
end;

theorem Th28:
  for S,T,U be RealNormSpace,
      Z be Subset of S,
      u be PartFunc of S,T,
      v be PartFunc of S,U,
      w be PartFunc of S,[:T,U:]
   st u is_differentiable_on Z
    & v is_differentiable_on Z
    & w = <:u,v:>
  holds
    w is_differentiable_on Z
  & ( for x be Point of S st x in Z
      holds (w`|Z)/.x = <:(u`|Z)/.x, (v`|Z)/.x :> )
  & for x be Point of S st x in Z
    holds
      for dx be Point of S
      holds ((w`|Z)/.x).dx = [((u`|Z)/.x).dx, ((v`|Z)/.x).dx]
proof
  let S,T,U be RealNormSpace,
      Z be Subset of S,
      u be PartFunc of S,T,
      v be PartFunc of S,U,
      w be PartFunc of S,[:T,U:];

  assume
  A1: u is_differentiable_on Z
    & v is_differentiable_on Z
    & w = <:u,v:>;

  A2: dom w = (dom u) /\ (dom v) by A1,FUNCT_3:def 7;
  A3: Z is open by A1,NDIFF_1:32;
  A4: Z c= dom w by A1,A2,XBOOLE_1:19;

  for x be Point of S st x in Z
  holds w is_differentiable_in x
  proof
    let x be Point of S;
    assume A5: x in Z;
    then A6: u is_differentiable_in x by A1,A3,NDIFF_1:31;
    v is_differentiable_in x by A1,A3,A5,NDIFF_1:31;
    hence thesis by A1,A6,Th27;
  end;
  hence A7: w is_differentiable_on Z by A3,A4,NDIFF_1:31;

  thus
  for x be Point of S st x in Z
  holds (w`|Z)/.x = <:(u`|Z)/.x, (v`|Z)/.x:>
  proof
    let x be Point of S;
    assume A8: x in Z;
    then A9: u is_differentiable_in x by A1,A3,NDIFF_1:31;
    A10: v is_differentiable_in x by A1,A3,A8,NDIFF_1:31;
    thus (w`|Z)/.x
     = diff(w,x) by A7,A8,NDIFF_1:def 9
    .= <:diff(u,x),diff(v,x):> by A1,A9,A10,Th27
    .= <:(u`|Z)/.x, diff(v,x):> by A1,A8,NDIFF_1:def 9
    .= <:(u`|Z)/.x, (v`|Z)/.x :> by A1,A8,NDIFF_1:def 9;
  end;
  thus
  for x be Point of S st x in Z
  holds
    for dx be Point of S
    holds ((w`|Z)/.x).dx = [((u`|Z)/.x).dx, ((v`|Z)/.x).dx]
  proof
    let x be Point of S;
    assume A11: x in Z;
    let dx be Point of S;
    A12: u is_differentiable_in x by A1,A3,A11,NDIFF_1:31;
    A13: v is_differentiable_in x by A1,A3,A11,NDIFF_1:31;
    thus ((w`|Z)/.x).dx
     = diff(w,x).dx by A7,A11,NDIFF_1:def 9
    .= [diff(u,x).dx, diff(v,x).dx] by A1,A12,A13,Th27
    .= [((u`|Z)/.x).dx, diff(v,x).dx] by A1,A11,NDIFF_1:def 9
    .= [((u`|Z)/.x).dx,((v`|Z)/.x).dx] by A1,A11,NDIFF_1:def 9;
  end;
end;

theorem Th29:
  for S,T,U be RealNormSpace,
      Z be Subset of S,
      u be PartFunc of S,T,
      v be PartFunc of S,U,
      w be PartFunc of S,[:T,U:]
   st u is_differentiable_on Z
    & u `| Z is_continuous_on Z
    & v is_differentiable_on Z
    & v `| Z is_continuous_on Z
    & w = <:u,v:>
  holds
     w is_differentiable_on Z
   & w `| Z is_continuous_on Z
proof
  let S,T,U be RealNormSpace,
      Z be Subset of S,
      u be PartFunc of S,T,
      v be PartFunc of S,U,
      w be PartFunc of S,[:T,U:];
  assume
  A1: u is_differentiable_on Z
    & u `| Z is_continuous_on Z
    & v is_differentiable_on Z
    & v `| Z is_continuous_on Z
    & w = <:u,v:>;
  then
  A2: w is_differentiable_on Z
    & ( for x be Point of S st x in Z
        holds (w`|Z )/.x = <:(u`|Z)/.x, (v`|Z )/.x:> )
    & for x be Point of S st x in Z
      holds
        for dx be Point of S
        holds ((w`|Z)/.x).dx = [((u`|Z)/.x).dx, ((v`|Z)/.x).dx] by Th28;

  thus w is_differentiable_on Z by A1,Th28;
  A3: Z = dom(w`|Z) by A2,NDIFF_1:def 9;
  set f = w `| Z;
  set g = u `| Z;
  set h = v `| Z;

  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 ||.f/.x1 - f/.x0.|| < r
  proof
    let x0 be Point of S;
    let r0 be Real;
    assume A4: x0 in Z & 0 < r0;
    set rr0 = r0/2;
    A5: 0 < rr0 < r0 by A4,XREAL_1:215,216;

    set r = rr0/2;

    consider s1 be Real such that
    A6: 0 < s1
      & for x1 be Point of S
        st x1 in Z & ||.x1 - x0.|| < s1
        holds ||.g/.x1 - g/.x0.|| < r
        by A1,A4,A5,NFCONT_1:19,XREAL_1:215;

    consider s2 be Real such that
    A7: 0 < s2
      & for x1 be Point of S
        st x1 in Z & ||.x1 - x0.|| < s2
        holds ||.h/.x1 - h/.x0.|| < r
        by A1,A4,A5,NFCONT_1:19,XREAL_1:215;

    reconsider s = min(s1,s2) as Real;
    take s;
    thus 0 < s by A6,A7,XXREAL_0:15;

    let x1 be Point of S;
    assume A8: x1 in Z & ||.x1 - x0.|| < s;

    s <= s1 by XXREAL_0:17;
    then ||.x1 - x0.|| < s1 by A8,XXREAL_0:2;
    then A9: ||.g/.x1 - g/.x0.|| < r by A6,A8;

    s <= s2 by XXREAL_0:17;
    then ||.x1 - x0.|| < s2 by A8,XXREAL_0:2;
    then A10: ||.h/.x1 - h/.x0.|| < r by A7,A8;

    A11: now
      let dx be Point of S;
      A12: (f/.x1 - f/.x0).dx = (f/.x1).dx - (f/.x0) .dx by LOPBAN_1:40;
      A13: (f/.x0).dx = [(g/.x0).dx, (h/.x0).dx] by A1,A4,Th28;
      A14: (f/.x1).dx = [(g/.x1).dx, (h/.x1).dx] by A1,A8,Th28;

      -(f/.x0).dx = [-(g/.x0).dx, -(h/.x0).dx] by A13,PRVECT_3:18;
      then ((f/.x1) - (f/.x0)).dx
       = [(g/.x1).dx - (g/.x0).dx ,(h/.x1).dx - (h/.x0).dx]
         by A12,A14,PRVECT_3:18
      .= [(g/.x1 - g/.x0).dx, (h/.x1).dx - (h/.x0).dx] by LOPBAN_1:40
      .= [(g/.x1 - g/.x0).dx, (h/.x1 - h/.x0).dx] by LOPBAN_1:40;

      then
      A15: ||.(f/.x1 - f/.x0).dx.||
        <= ||.(g/.x1 - g/.x0).dx.|| + ||.(h/.x1 - h/.x0).dx.|| by Th17;

      reconsider g10 = g/.x1 - g/.x0 as Lipschitzian LinearOperator of S,T
        by LOPBAN_1:def 9;
      ||.(g/.x1 - g/.x0).dx.|| = ||.g10.dx.||;
      then A16: ||.(g/.x1 - g/.x0).dx.|| <= ||.g/.x1 - g/.x0.|| * ||.dx.||
        by LOPBAN_1:32;

      0 <= ||.dx.|| by NORMSP_1:4;
      then ||.g/.x1 - g/.x0.|| * ||.dx.|| <= r * ||.dx.|| by A9,XREAL_1:64;
      then A17: ||.(g/.x1 - g/.x0).dx .|| <= r * ||.dx.|| by A16,XXREAL_0:2;

      reconsider h10 = h/.x1 - h/.x0 as Lipschitzian LinearOperator of S,U
        by LOPBAN_1:def 9;
      ||.(h/.x1 - h/.x0).dx.|| = ||.h10.dx.||;
      then
      A18: ||.(h/.x1 - h/.x0).dx .|| <= ||.h/.x1 - h/.x0.|| * ||.dx.||
        by LOPBAN_1:32;
      0 <= ||.dx.|| by NORMSP_1:4;
      then ||.h/.x1 - h/.x0.|| * ||.dx.|| <= r * ||.dx.|| by A10,XREAL_1:64;
      then ||.(h/.x1 - h/.x0).dx.|| <= r * ||.dx.|| by A18,XXREAL_0:2;
      then ||.(g/.x1 - g/.x0).dx.|| + ||.(h/.x1 - h/.x0).dx.||
        <= r * ||.dx.|| + r * ||.dx.|| by A17,XREAL_1:7;
      hence ||.(f/.x1 - f/.x0).dx.|| <= 2 * r * ||.dx.|| by A15,XXREAL_0:2;
    end;

    reconsider f10 = f/.x1 - f/.x0
      as Lipschitzian LinearOperator of S,[:T,U:] by LOPBAN_1:def 9;

    now
      let s be Real;
      assume s in PreNorms f10;
      then consider dx be VECTOR of S such that
      A19: s = ||.f10.dx.|| & ||.dx.|| <= 1;
      A20: s <= rr0 * ||. dx .|| by A19,A11;
      rr0 * ||.dx.|| <= rr0 * 1 by A5,A19,XREAL_1:64;
      hence s <= rr0 by A20,XXREAL_0:2;
    end;

    then upper_bound PreNorms f10 <= rr0 by SEQ_4:45;
    then ||.f/.x1 - f/.x0.|| <= rr0 by LOPBAN_1:30;
    hence ||.f/.x1 - f/.x0.|| < r0 by A5,XXREAL_0:2;
  end;
  hence f is_continuous_on Z by A3,NFCONT_1:19;
end;

theorem Th30:
  for E,F be RealNormSpace,
      i be Nat
  holds
    diff_SP(i + 1,E,F)
  = diff_SP(i,E,R_NormSpace_of_BoundedLinearOperators(E,F))
proof
  let E,F be RealNormSpace;

  defpred P[Nat] means
    diff_SP($1 + 1,E,F)
  = diff_SP($1,E,R_NormSpace_of_BoundedLinearOperators(E,F));

  diff_SP(0 + 1,E,F)
   = R_NormSpace_of_BoundedLinearOperators(E,F) by NDIFF_6:7
  .= diff_SP(0,E,R_NormSpace_of_BoundedLinearOperators(E,F)) by NDIFF_6:7;
  then A1: P[0];

  A2: for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume A3: P[i];
    thus diff_SP((i+1)+1,E,F)
     = R_NormSpace_of_BoundedLinearOperators(E,(diff_SP(i+1,E,F)))
        by NDIFF_6:10
    .= diff_SP(i+1,E,R_NormSpace_of_BoundedLinearOperators(E,F))
        by A3,NDIFF_6:10;
  end;
  for i be Nat holds P[i] from NAT_1:sch 2(A1,A2);
  hence thesis;
end;

theorem Th31:
  for E,F be RealNormSpace,
      Z be Subset of E,
      g be PartFunc of E,F,
      f be PartFunc of E,R_NormSpace_of_BoundedLinearOperators(E,F)
   st (g|Z) `| Z = f|Z
  holds
    for i be Nat holds diff(g,i+1,Z) = diff(f,i,Z)
proof
  let E,F be RealNormSpace,
      Z be Subset of E,
      g be PartFunc of E,F,
      f be PartFunc of E,R_NormSpace_of_BoundedLinearOperators(E,F);
  assume A1: (g|Z) `| Z = f|Z;

  defpred P[Nat] means
  diff(g,$1+1,Z) = diff(f,$1,Z);

  diff(g,0+1,Z)
   = (g|Z) `| Z by NDIFF_6:11
  .= diff(f,0,Z) by A1,NDIFF_6:11;
  then A2: P[0];

  A3: for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume A4: P[i];
    thus diff(g,(i+1)+1,Z)
     = diff(g,i+1,Z) `| Z by NDIFF_6:13
    .= diff(f,i,Z) `| Z by A4,Th30
    .= diff(f,i+1,Z) by NDIFF_6:13;
  end;
  for i be Nat holds P[i] from NAT_1:sch 2(A2,A3);
  hence thesis;
end;

theorem Th32:
  for E,F be RealNormSpace,
      n be Nat,
      Z be Subset of E,
      g be PartFunc of E,F
   st g `| Z is_differentiable_on n,Z
    & g is_differentiable_on Z
  holds g is_differentiable_on n+1,Z
proof
  let E,F be RealNormSpace,
      n be Nat,
      Z be Subset of E,
      g be PartFunc of E,F;
  assume that
  A1: g `| Z is_differentiable_on n,Z and
  A2: g is_differentiable_on Z;

  set f = g `| Z;
  A3: dom(g `| Z) = Z by A2,NDIFF_1:def 9;
  A4: f|Z = (g|Z) `| Z by A2,A3,Th4;

  for i be Nat st i <= n + 1 - 1
  holds diff(g,i,Z) is_differentiable_on Z
  proof
    let i be Nat;
    assume A5: i <= n + 1 - 1;

    per cases;
    suppose
      A6: i = 0;
      A7: diff_SP(i,E,F) = F by A6,NDIFF_6:7;
      diff(g,i,Z) = g|Z by A6,NDIFF_6:11;
      hence diff(g,i,Z) is_differentiable_on Z by A2,A7,RELAT_1:62;
    end;
    suppose
      i <> 0;
      then 1-1 <= i -1 by XREAL_1:9,NAT_1:14;
      then i-1 in NAT by INT_1:3;
      then reconsider j = i-1 as Nat;

      A8: diff(g,j+1,Z) = diff(f,j,Z) by A4,Th31;
      diff(f,j,Z)is_differentiable_on Z by A1,A5,XREAL_1:9,NDIFF_6:14;
      hence diff(g,i,Z) is_differentiable_on Z by A8,Th30;
    end;
  end;
  hence thesis by A2,NDIFF_6:14;
end;

theorem Th33:
  for E,F be RealNormSpace,
      n be Nat,
      Z be Subset of E,
      g be PartFunc of E,F
   st g`|Z is_differentiable_on n,Z
      & g is_differentiable_on Z
      & diff(g`|Z,n,Z) is_continuous_on Z
  holds g is_differentiable_on n+1,Z
     & diff(g,n+1,Z) is_continuous_on Z
proof
  let E,F be RealNormSpace,
      n be Nat,
      Z be Subset of E,
      g be PartFunc of E,F;
  assume
  A1: g`|Z is_differentiable_on n,Z
    & g is_differentiable_on Z
    & diff(g`|Z,n,Z) is_continuous_on Z;
  hence g is_differentiable_on n+1,Z by Th32;

  dom(g`|Z) = Z by A1,NDIFF_1:def 9;
  then A2: (g`|Z) | Z = (g|Z) `| Z by A1,Th4;
  diff(g,n+1,Z) = diff(g`|Z,n,Z) by A2,Th31;
  hence diff(g,n+1,Z) is_continuous_on Z by A1,Th30;
end;

theorem Th34:
  for S,E,F,G be RealNormSpace,
      B be Lipschitzian BilinearOperator of E,F,G,
      W be PartFunc of S,G,
      w be PartFunc of S,[:E,F:],
      u be PartFunc of S,E,
      v be PartFunc of S,F,
      x be Point of S
   st u is_differentiable_in x
    & v is_differentiable_in x
    & x in dom w & W = B * w & w = <:u,v:>
  holds
      W is_differentiable_in x
    & w is_differentiable_in x
    & diff (W,x) = diff (B,[u/.x,v/.x]) * diff(w,x)
    & diff(w,x) = <:diff(u,x),diff(v,x):>
    & for ds be Point of S
      holds diff(W,x).ds = B.(diff(u,x).ds, v/.x) + B.(u/.x, diff(v,x).ds)
proof
  let S,E,F,G be RealNormSpace,
      B be Lipschitzian BilinearOperator of E,F,G,
      W be PartFunc of S,G,
      w be PartFunc of S,[:E,F:],
      u be PartFunc of S,E,
      v be PartFunc of S,F,
      x be Point of S;
  assume that
  A1: u is_differentiable_in x and
  A2: v is_differentiable_in x and
  A3: x in dom w & W = B * w & w = <:u,v:>;

  dom w = (dom u) /\ (dom v) by A3,FUNCT_3:def 7;
  then A4: x in dom u & x in dom v by A3,XBOOLE_0:def 4;
  A5: w/.x
    = w.x by A3,PARTFUN1:def 6
   .= [u.x,v.x] by A3,FUNCT_3:def 7
   .= [u/.x,v.x] by A4,PARTFUN1:def 6
   .= [u/.x,v/.x] by A4,PARTFUN1:def 6;

  A6: w is_differentiable_in x
    & diff(w,x) = <:diff(u,x),diff(v,x) :>
    & for dx be Point of S
      holds diff(w,x).dx = [diff(u,x).dx,diff(v,x).dx]
    by A1,A2,A3,Th27;

  consider K be Real such that
  A7: 0 <= K
    & for z be Point of [:E,F:]
      holds B is_differentiable_in z
    & ( for dx be Point of E, dy be Point of F
        holds diff(B,z).(dx,dy) = B.(dx,z`2) + B.(z`1,dy) )
    & ||.diff(B,z).|| <= K * ||.z.|| by NDIFF12:11;

  A8: B is_differentiable_in w/.x by A7;
  reconsider wx = diff(w,x) as Lipschitzian LinearOperator of S,[:E,F:]
    by LOPBAN_1:def 9;

  A9: dom(wx) = the carrier of S by FUNCT_2:def 1;
  reconsider Bwx = diff(B,w/.x) as Lipschitzian LinearOperator of [:E,F:],G
    by LOPBAN_1:def 9;
  A10: modetrans(diff(w,x),S,[:E,F:]) = wx by LOPBAN_1:def 11;

  now
    let ds be Point of S;
    thus diff(W,x).ds
     = (diff(B, w/.x) * diff(w,x)).ds by A3,A6,A8,NDIFF_2:13
    .= (Bwx * wx).ds by A10,LOPBAN_1:def 11
    .= diff(B, w/.x).(diff(w,x).ds) by A9,FUNCT_1:13
    .= diff(B, w/.x).[diff(u,x).ds, diff(v,x).ds] by A1,A2,A3,Th27
    .= diff(B, w/.x).(diff(u,x).ds, diff(v,x).ds) by BINOP_1:def 1
    .= B.(diff(u,x).ds, (w/.x)`2) + B.((w/.x)`1, diff(v,x).ds) by A7
    .= B.(diff(u,x).ds, v/.x) + B.(u/.x, diff(v,x).ds) by A5;
  end;
  hence thesis by A3,A5,A6,A8,NDIFF_2:13;
end;

theorem Th35:
  for S,E,F,G be RealNormSpace,
      Z be Subset of S,
      B be Lipschitzian BilinearOperator of E,F,G,
      W be PartFunc of S,G,
      w be PartFunc of S,[:E,F:],
      u be PartFunc of S,E,
      v be PartFunc of S,F
   st u is_differentiable_on Z
    & v is_differentiable_on Z
    & W = B * w & w = <:u,v:>
  holds
    W is_differentiable_on Z
  & for x be Point of S st x in Z
    holds
      for ds be Point of S
      holds
        ((W`|Z)/.x).ds
       = B.(((u`|Z)/.x).ds, v/.x) + B.(u/.x, ((v`|Z)/.x).ds)
proof
  let S,E,F,G be RealNormSpace,
      Z be Subset of S,
      B be Lipschitzian BilinearOperator of E,F,G,
      W be PartFunc of S,G,
      w be PartFunc of S,[:E,F:],
      u be PartFunc of S,E,
      v be PartFunc of S,F;

  assume that
  A1: u is_differentiable_on Z and
  A2: v is_differentiable_on Z and
  A3: W = B * w & w = <:u,v:>;

  A4: w is_differentiable_on Z
    & ( for x be Point of S st x in Z
        holds (w`|Z)/.x = <:(u`|Z)/.x, (v`|Z)/.x:> )
    & for x be Point of S st x in Z
      holds
        for dx be Point of S
        holds
          ((w`|Z)/.x).dx
        = [((u`|Z)/.x).dx, ((v`|Z)/.x).dx] by A1,A2,A3,Th28;
  A5: B is_differentiable_on [#][:E,F:] by NDIFF12:14;

  w.:Z c= [#][:E,F:];
  hence A6: W is_differentiable_on Z by A3,A4,A5,Th19;

  A7: Z is open by NDIFF_1:32,A1;

  thus
  for x be Point of S st x in Z
  holds
    for ds be Point of S
    holds
      ((W`|Z )/.x).ds
      = B.(((u`|Z)/.x).ds, v/.x) + B.(u/.x, ((v`|Z)/.x).ds)
  proof
    let x be Point of S;
    assume A8: x in Z;
    then A9: u is_differentiable_in x by A1,A7,NDIFF_1:31;
    A10: v is_differentiable_in x by A2,A7,A8,NDIFF_1:31;

    let ds be Point of S;

    A11: diff(W,x).ds = B.(diff(u,x).ds,v/.x)+ B.(u/.x,diff(v,x).ds)
      by A3,A4,A8,A9,A10,Th34;
    A12: (W`|Z)/.x = diff(W,x) by A6,A8,NDIFF_1:def 9;
    (u`|Z)/.x = diff(u,x) by A1,A8,NDIFF_1:def 9;
    hence thesis by A2,A8,A11,A12,NDIFF_1:def 9;
  end;
end;

theorem Th36:
  for S,E be RealNormSpace,
      Z be Subset of S,
      u be PartFunc of S,E,
      i be Nat
   st u is_differentiable_on i+1,Z
  holds u`|Z is_differentiable_on i,Z
proof
  let S,E be RealNormSpace,
      Z be Subset of S,
      u be PartFunc of S,E;

  defpred P[Nat] means
  u is_differentiable_on $1+1,Z
    implies
  u`|Z is_differentiable_on $1,Z;

  A1: P[0]
  proof
    assume u is_differentiable_on 0+1,Z;
    then A2: Z c= dom u & u|Z is_differentiable_on Z by NDIFF_6:15;
    u is_differentiable_on Z by A2;
    hence u`|Z is_differentiable_on 0,Z by NDIFF_1:def 9;
  end;

  A4: for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume A5: P[i];
    assume A6: u is_differentiable_on (i + 1) + 1,Z;
    A7: 0 + (i + 1) <= (i + 1) + 1 by XREAL_1:7;

    0 <= i by NAT_1:2;
    then 0 + 2 <= i + 2 by XREAL_1:7;
    then A8: u is_differentiable_on 2,Z by A6,NDIFF_6:17;
    A9: Z c= dom u & u|Z is_differentiable_on Z by A8,NDIFF_6:16;
    A10: u is_differentiable_on Z by A9;
    then A11: dom (u`|Z) = Z by NDIFF_1:def 9;

    for k be Nat st k <= (i+1)-1
    holds diff(u`|Z,k,Z) is_differentiable_on Z
    proof
      let k be Nat;
      assume A12: k <= (i+1)-1;

      per cases;
      suppose
        A13: k = i;
        A14: diff_SP(k+1,S,E)
           = diff_SP(k,S,R_NormSpace_of_BoundedLinearOperators(S,E)) by Th30;

        (u|Z)`|Z = (u`|Z)|Z by A10,A11,Th4;
        then diff(u`|Z,k,Z) = diff(u,i+1,Z) by A13,Th31;
        hence diff(u`|Z,k,Z) is_differentiable_on Z by A6,A13,A14,NDIFF_6:14;
      end;
      suppose
        k <> i;
        then k < i by A12,XXREAL_0:1;
        then k + 1 <= i by NAT_1:13;
        then k + 1 - 1 <= i - 1 by XREAL_1:13;
        hence diff(u`|Z,k,Z) is_differentiable_on Z by A5,A6,A7,NDIFF_6:14,17;
      end;
    end;
    hence u`|Z is_differentiable_on i+1,Z by A11,NDIFF_6:14;
  end;
  for i be Nat holds P[i] from NAT_1:sch 2(A1,A4);
  hence thesis;
end;

theorem Th37:
  for S,E be RealNormSpace,
      Z be Subset of S,
      u be PartFunc of S,E,
      i be Nat
   st u is_differentiable_on i+1,Z
    & diff(u,i+1,Z) is_continuous_on Z
  holds
    u`|Z is_differentiable_on i,Z
  & diff(u`|Z,i,Z) is_continuous_on Z
proof
  let S,E be RealNormSpace,
      Z be Subset of S,
      u be PartFunc of S,E,
      i be Nat;

  assume
  A1: u is_differentiable_on i+1,Z
    & diff(u,i+1,Z) is_continuous_on Z;
  hence u`|Z is_differentiable_on i, Z by Th36;

  0 <= i by NAT_1:2;
  then 0 + 1 <= i + 1 by XREAL_1:7;
  then u is_differentiable_on 1 ,Z by A1,NDIFF_6:17;
  then Z c= dom u & u | Z is_differentiable_on Z by NDIFF_6:15;
  then A2: u is_differentiable_on Z;
  then A3: dom(u`|Z) = Z by NDIFF_1:def 9;

  A4: diff_SP(i + 1,S,E)
    = diff_SP(i,S,R_NormSpace_of_BoundedLinearOperators(S,E)) by Th30;

  (u|Z) `| Z = (u`|Z) | Z by A2,A3,Th4;
  hence diff(u`|Z,i,Z) is_continuous_on Z by A1,A4,Th31;
end;

theorem Th38:
  for E,F,G be RealNormSpace
  ex B be Lipschitzian BilinearOperator of
            R_NormSpace_of_BoundedLinearOperators(E,F),
            R_NormSpace_of_BoundedLinearOperators(F,G),
            R_NormSpace_of_BoundedLinearOperators(E,G)
  st for u be Point of R_NormSpace_of_BoundedLinearOperators(E,F),
         v be Point of R_NormSpace_of_BoundedLinearOperators(F,G)
     holds B.(u,v) = v*u
proof
  let E,F,G be RealNormSpace;
  set EF = the carrier of R_NormSpace_of_BoundedLinearOperators(E,F);
  set FG = the carrier of R_NormSpace_of_BoundedLinearOperators(F,G);
  set EG = the carrier of R_NormSpace_of_BoundedLinearOperators(E,G);

  defpred P1[Element of EF, Element of FG,object]means
  $3 = $2 * $1;

  A1: for x be Element of EF
      for y be Element of FG
      ex z be Element of EG st P1[x,y,z];

  consider L be Function of [:EF,FG:],EG such that
  A2: for x be Element of EF
      for y be Element of FG
      holds P1[x,y,L.(x,y)] from BINOP_1:sch 3(A1);

  set LEF = R_NormSpace_of_BoundedLinearOperators(E,F);
  set LFG = R_NormSpace_of_BoundedLinearOperators(F,G);
  set LEG = R_NormSpace_of_BoundedLinearOperators(E,G);

  A3: for x1, x2 be Point of LEF
      for y be Point of LFG
      holds L.(x1 + x2, y) = L.(x1, y) + L.(x2, y)
  proof
    let x1, x2 be Point of LEF;
    let y be Point of LFG;
    thus L . (x1 + x2,y)
     = y * (x1 + x2) by A2
    .= y * x1 + y * x2 by LOPBAN13:19
    .= L.(x1,y) + y * x2 by A2
    .= L.(x1,y) + L.(x2,y) by A2;
  end;

  A4: for x be Point of LEF
      for y be Point of LFG
      for a be Real
      holds L.(a * x, y) = a * L.(x,y)
  proof
    let x be Point of LEF;
    let y be Point of LFG;
    let a be Real;
    thus L.(a*x,y)
     = y * (a*x) by A2
    .= (a*y) * x by LOPBAN13:28
    .= a * (y*x) by LOPBAN13:28
    .= a * L.(x,y) by A2;
  end;

  A5: for x be Point of LEF
      for y1, y2 be Point of LFG
      holds L.(x,y1 + y2) = L.(x,y1) + L.(x,y2)
  proof
    let x be Point of LEF;
    let y1, y2 be Point of LFG;
    thus L.(x,y1 + y2)
     = (y1 + y2) * x by A2
    .= y1*x + y2*x by LOPBAN13:20
    .= L.(x,y1) + y2*x by A2
    .= L.(x,y1) + L.(x,y2) by A2;
  end;

  A6: for x be Point of LEF
      for y be Point of LFG
      for a be Real holds L.(x, a*y) = a * L.(x,y)
  proof
    let x be Point of LEF;
    let y be Point of LFG;
    let a be Real;
    thus L.(x, a*y)
     = (a*y) * x by A2
    .= a * (y*x) by LOPBAN13:28
    .= a * L.(x,y) by A2;
  end;

  reconsider L as BilinearOperator of
    R_NormSpace_of_BoundedLinearOperators(E,F),
    R_NormSpace_of_BoundedLinearOperators(F,G),
    R_NormSpace_of_BoundedLinearOperators(E,G)
    by A3,A4,A5,A6,LOPBAN_8:12;

  set K = 1;

  for x be VECTOR of LEF
  for y be VECTOR of LFG
  holds ||.L.(x,y).|| <= (K * ||.x.||) * ||.y.||
  proof
    let x be VECTOR of LEF;
    let y be VECTOR of LFG;

    reconsider x1 = x as Lipschitzian LinearOperator of E,F
      by LOPBAN_1:def 9;
    reconsider y1 = y as Lipschitzian LinearOperator of F,G
      by LOPBAN_1:def 9;

    A7: modetrans(x,E,F) = x1 by LOPBAN_1:def 11;

    BoundedLinearOperatorsNorm(E,G).(y1 * x1)
    <= (BoundedLinearOperatorsNorm(F,G).y1)
      * (BoundedLinearOperatorsNorm(E,F).x1) by LOPBAN_2:2;
    then ||.y * x.|| <= ||.y.|| * ||.x.|| by A7,LOPBAN_1:def 11;
    hence thesis by A2;
  end;
  then reconsider L
  as Lipschitzian BilinearOperator of
        R_NormSpace_of_BoundedLinearOperators(E,F),
        R_NormSpace_of_BoundedLinearOperators(F,G),
        R_NormSpace_of_BoundedLinearOperators(E,G)
      by LOPBAN_9:def 3;
  take L;
  thus thesis by A2;
end;

theorem Th39:
  for i be Nat,
      S,E,F,G be RealNormSpace,
      Z be Subset of S,
      B be Lipschitzian BilinearOperator of E,F,G,
      u be PartFunc of S,E,
      v be PartFunc of S,F,
      w be PartFunc of S,[:E,F:],
      W be PartFunc of S,G
  st W = B * w & w = <:u,v:>
   & u is_differentiable_on i,Z
   & v is_differentiable_on i,Z
  holds W is_differentiable_on i,Z
proof
  defpred P[Nat] means
  for S,E,F,G be RealNormSpace,
      Z be Subset of S,
      B be Lipschitzian BilinearOperator of E,F,G,
      u be PartFunc of S,E,
      v be PartFunc of S,F,
      w be PartFunc of S,[:E,F:],
      W be PartFunc of S,G
   st W = B * w & w = <:u,v:>
    & u is_differentiable_on $1,Z
    & v is_differentiable_on $1,Z
  holds W is_differentiable_on $1,Z;

  A1: P[0]
  proof
    let S,E,F,G be RealNormSpace,
        Z be Subset of S,
        B be Lipschitzian BilinearOperator of E,F,G,
        u be PartFunc of S,E,
        v be PartFunc of S,F,
        w be PartFunc of S,[:E,F:],
        W be PartFunc of S,G;
    assume
    A2: W = B * w & w = <:u,v:>
      & u is_differentiable_on 0,Z
      & v is_differentiable_on 0,Z;

    dom B = [#][:E,F:] by FUNCT_2:def 1;
    then rng w c= dom B;
    then A3: dom W = dom w by A2,RELAT_1:27;
    dom w = (dom u ) /\ (dom v ) by A2,FUNCT_3:def 7;
    hence W is_differentiable_on 0,Z by A2,A3,XBOOLE_1:19;
  end;

  A4:for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume A5: P[i];
    let S,E,F,G be RealNormSpace,
        Z be Subset of S,
        B be Lipschitzian BilinearOperator of E,F,G,
        u be PartFunc of S,E,
        v be PartFunc of S,F,
        w be PartFunc of S,[:E,F:],
        W be PartFunc of S,G;
    assume
    A6: W = B * w & w = <:u,v:>
      & u is_differentiable_on i+1,Z
      & v is_differentiable_on i+1,Z;

    0 <= i by NAT_1:2;
    then u is_differentiable_on 0+1,Z
       & v is_differentiable_on 0+1,Z by A6,NDIFF_6:17,XREAL_1:7;
    then
    A7: u|Z is_differentiable_on Z
      & v|Z is_differentiable_on Z by NDIFF_6:15;

    A8: u is_differentiable_on Z by A6,A7;
    A9: v is_differentiable_on Z by A6,A7;

    A10: W is_differentiable_on Z
      & for x be Point of S
         st x in Z
        holds
          for ds be Point of S
          holds
            ((W`|Z)/.x).ds
          = B.(((u`|Z)/.x).ds, v/.x)
          + B.(u/.x, ((v`|Z)/.x).ds)
          by A6,A8,A9,Th35;

    A11: u`|Z is_differentiable_on i,Z by A6,Th36;
    A12: v`|Z is_differentiable_on i,Z by A6,Th36;

    set V10 = the Point of E;
    set V20 = the Point of F;

    reconsider BP = B
      as Point of R_NormSpace_of_BoundedBilinearOperators(E,F,G)
        by LOPBAN_9:def 4;

    defpred P1[ object , object ] means
    ex V2 be Point of F
    st V2 = $1 & $2 = B * reproj1([V10,V2]);

    A13: for x be object st x in the carrier of F
          holds
            ex y be object
            st y in the carrier of R_NormSpace_of_BoundedLinearOperators(E,G)
            & P1[x,y]
    proof
      let x be object;
      assume x in the carrier of F;
      then reconsider V2 = x as Point of F;
      A14: B * reproj1([V10,V2]) is Lipschitzian LinearOperator of E,G
        by NDIFF12:2;
      take y = B * reproj1([V10,V2]);
      thus thesis by A14,LOPBAN_1:def 9;
    end;

    consider B2 be Function
      of the carrier of F,
         the carrier of R_NormSpace_of_BoundedLinearOperators(E,G)
    such that
    A15: for x be object st x in the carrier of F
         holds P1[x,B2.x] from FUNCT_2:sch 1(A13);

    A16: for V2 be Point of F holds B2.V2 = B * reproj1([V10,V2])
    proof
      let V2 be Point of F;
      ex V be Point of F
      st V = V2 & B2.V2 = B * reproj1([V10,V]) by A15;
      hence B2.V2 = B * reproj1([V10,V2]);
    end;

    defpred P2[object, object] means
    ex V1 be Point of E
    st V1 = $1 & $2 = B * reproj2([V1,V20]);

    A17: for x be object st x in the carrier of E
         holds
         ex y be object
         st y in the carrier of R_NormSpace_of_BoundedLinearOperators(F,G)
          & P2[x,y]
    proof
      let x be object;
      assume x in the carrier of E;
      then reconsider V1 = x as Point of E;
      A18: B * reproj2([V1,V20]) is Lipschitzian LinearOperator of F,G
        by NDIFF12:2;
      take y = B * reproj2([V1,V20]);
      thus thesis by A18,LOPBAN_1:def 9;
    end;

    consider B1 be Function
      of the carrier of E,
         the carrier of R_NormSpace_of_BoundedLinearOperators(F,G)
    such that
    A19: for x be object st x in the carrier of E
         holds P2[x,B1.x] from FUNCT_2:sch 1(A17);

    A20: for V1 be Point of E holds B1.V1 = B * reproj2([V1,V20])
    proof
      let V1 be Point of E;
      ex V be Point of E
      st V1 = V & B1.V1 = B * reproj2([V,V20]) by A19;
      hence B1.V1 = B * reproj2([V1,V20]);
    end;

    for x, y be Element of F holds B2.(x + y) = B2.x + B2.y
    proof
      let x, y be Element of F;
      A21: B2.y = B * reproj1([V10,y]) by A16;

      set f = B * reproj1([V10,x]);
      set g = B * reproj1([V10,y]);
      set h = B * reproj1([V10,x+y]);

      for s be VECTOR of E holds B2.(x+y).s = (B2.x).s + (B2.y).s
      proof
        let s be VECTOR of E;
        thus B2.(x+y).s
         = h.s by A16
        .= B.((reproj1 [V10,x+y]).s) by FUNCT_2:15
        .= B.([s,[V10,x+y]`2]) by NDIFF_7:def 1
        .= B.(s,x+y) by BINOP_1:def 1
        .= B.(s,x) + B.(s,y) by LOPBAN_8:12
        .= B.[s,x] + B.(s,y) by BINOP_1:def 1
        .= B.[s,[V10,x]`2] + B.[s,y] by BINOP_1:def 1
        .= B.((reproj1 [V10,x]).s) + B.[s,[V10,y]`2] by NDIFF_7:def 1
        .= B.((reproj1 [V10,x]).s) + B.((reproj1 [V10,y]).s) by NDIFF_7:def 1
        .= f.s + B.((reproj1 [V10,y]).s) by FUNCT_2:15
        .= f.s + g.s by FUNCT_2:15
        .= (B2.x).s + (B2.y).s by A16,A21;
      end;
      hence B2.(x+y) = B2.x + B2.y by LOPBAN_1:35;
    end;
    then
    A22: B2 is additive;

    for x be VECTOR of F, a be Real holds B2.(a*x) = a * B2.x
    proof
      let x be VECTOR of F, a be Real;

      set f = B * reproj1([V10,x]);
      set g = B * reproj1([V10,a*x]);

      for s be VECTOR of E holds (B2.(a*x)).s = a * (B2.x).s
      proof
        let s be VECTOR of E;
        thus (B2.(a*x)).s
         = g.s by A16
        .= B.((reproj1 [V10,a*x]).s) by FUNCT_2:15
        .= B.([s,[V10,a*x]`2]) by NDIFF_7:def 1
        .= B.(s,a*x) by BINOP_1:def 1
        .= a * B.(s,x) by LOPBAN_8:12
        .= a * B.[s,[V10,x]`2] by BINOP_1:def 1
        .= a * B.((reproj1 [V10,x]).s) by NDIFF_7:def 1
        .= a * f.s by FUNCT_2:15
        .= a * (B2.x).s by A16;
      end;
      hence B2.(a*x) = a * B2.x by LOPBAN_1:36;
    end;
    then reconsider B2 as LinearOperator
      of F,R_NormSpace_of_BoundedLinearOperators(E,G) by A22,LOPBAN_1:def 5;

    for x, y be Element of E holds B1.(x + y) = B1.x + B1.y
    proof
      let x, y be Element of E;
      A23: B1.y = B * reproj2([y,V20]) by A20;

      set f = B * reproj2([x,V20]);
      set g = B * reproj2([y,V20]);
      set h = B * reproj2([x+y,V20]);

      for s be VECTOR of F holds (B1.(x+y)).s = (B1.x).s + (B1.y).s
      proof
        let s be VECTOR of F;

        thus (B1.(x+y)).s
         = h.s by A20
        .= B.((reproj2 [x+y,V20]).s) by FUNCT_2:15
        .= B.([[x+y,V20]`1,s]) by NDIFF_7:def 2
        .= B.(x+y,s) by BINOP_1:def 1
        .= B.(x,s) + B.(y,s) by LOPBAN_8:12
        .= B.[x,s] + B.(y,s) by BINOP_1:def 1
        .= B.[[x,V20]`1,s] + B.[y,s] by BINOP_1:def 1
        .= B.((reproj2 [x,V20]).s) + B.[[y,V20]`1,s ] by NDIFF_7:def 2
        .= B.((reproj2 [x,V20]).s) + B.((reproj2 [y,V20]).s) by NDIFF_7:def 2
        .= f.s + B.((reproj2 [y,V20]).s) by FUNCT_2:15
        .= f.s + g.s by FUNCT_2:15
        .= (B1.x).s + (B1.y).s by A20,A23;
      end;
      hence B1.(x+y) = B1.x + B1.y by LOPBAN_1:35;
    end;
    then A24: B1 is additive;

    for x be VECTOR of E, a be Real holds B1.(a*x) = a * B1.x
    proof
      let x be VECTOR of E, a be Real;

      set f = B * reproj2([x,V20]);
      set g = B * reproj2([a*x,V20]);

      for s be VECTOR of F holds (B1.(a*x)).s = a * (B1.x).s
      proof
        let s be VECTOR of F;

        thus (B1.(a*x)).s
         = g.s by A20
        .= B.((reproj2 [a*x,V20]).s) by FUNCT_2:15
        .= B.([[a*x,V20]`1,s]) by NDIFF_7:def 2
        .= B.(a*x,s) by BINOP_1:def 1
        .= a * B.(x,s) by LOPBAN_8:12
        .= a * B.[[x,V20]`1,s] by BINOP_1:def 1
        .= a * B.((reproj2 [x,V20]).s) by NDIFF_7:def 2
        .= a * f.s by FUNCT_2:15
        .= a * (B1.x).s by A20;
      end;
      hence B1.(a*x) = a * B1.x by LOPBAN_1:36;
    end;
    then reconsider B1 as LinearOperator of
      E,R_NormSpace_of_BoundedLinearOperators(F,G)
      by A24,LOPBAN_1:def 5;

    now
      let V2 be Point of F;
      A25: B2.V2 = B * reproj1([V10,V2]) by A16;
      set L1 = B * reproj1([V10,V2]);
      set z = [V10,V2];

      consider BP0 be Point of R_NormSpace_of_BoundedBilinearOperators(E,F,G)
      such that
      A26: B = BP0
        & ( for x be VECTOR of E
            holds ||.(B * reproj1(z)).x.|| <= ||.BP0.|| * ||.z`2.|| * ||.x.|| )
        & ( for y be VECTOR of F
            holds ||.(B * reproj2(z)).y.|| <= ||.BP0.|| * ||.z`1.|| * ||.y.|| )
            by NDIFF12:2;

      A27: 0 <= ||.BP0.|| by NORMSP_1:4;

      reconsider LL1 = L1 as Lipschitzian LinearOperator
        of E,G by A25,LOPBAN_1:def 9;

      A28:
      now
        let t be VECTOR of E such that
        A29: ||.t.|| <= 1;

        A30: ||.LL1.t.|| <= ||.BP0.|| * ||.z`2.|| * ||.t.|| by A26;
        0 <= ||.z`2.|| by NORMSP_1:4;
        then 0 <= ||.BP0.|| * ||.z`2.|| by A27,XREAL_1:127;
        then ||.BP0.|| * ||.z`2.|| * ||.t.|| <= ||.BP0.|| * ||.z`2.|| * 1
          by A29,XREAL_1:64;
        hence ||.LL1.t.|| <= ||.BP0.|| * ||.z`2.|| by A30,XXREAL_0:2;
      end;

      now
        let r be Real;
        assume r in PreNorms LL1;
        then ex t be VECTOR of E st r = ||.LL1.t.|| & ||.t.|| <= 1;
        hence r <= ||.BP0.|| * ||.z`2.|| by A28;
      end;
      then upper_bound (PreNorms LL1) <= ||.BP0.|| * ||.z`2.|| by SEQ_4:45;

      hence ||.B2.V2.|| <= ||.BP.|| * ||.V2.|| by A25,A26,LOPBAN_1:30;
    end;
    then reconsider B2 as Lipschitzian LinearOperator
      of F,R_NormSpace_of_BoundedLinearOperators(E,G)
      by LOPBAN_1:def 8,NORMSP_1:4;

    now
      let V1 be Point of E;
      A31: B1.V1 = B * reproj2([V1,V20]) by A20;
      set L1= B * reproj2([V1,V20]);
      set z = [V1,V20];
      consider BP0 be Point of R_NormSpace_of_BoundedBilinearOperators(E,F,G)
      such that
      A32: B = BP0
        & (for x be VECTOR of E
           holds ||.(B * reproj1(z)).x.||  <= ||.BP0.|| * ||.z`2.|| * ||.x.||)
        & (for y be VECTOR of F
           holds ||.(B * reproj2(z)). y.|| <= ||.BP0.|| * ||.z`1.|| * ||.y.||)
           by NDIFF12:2;

      A33: 0 <= ||.BP0.|| by NORMSP_1:4;

      reconsider LL1 = L1 as Lipschitzian LinearOperator of F,G
        by A31,LOPBAN_1:def 9;

      A34: (for s be Real st s in PreNorms LL1
            holds s <= ||.BP0.|| * ||.z`1.||)
              implies
            upper_bound PreNorms LL1 <= ||.BP0.|| * ||.z`1.|| by SEQ_4:45;

      A35:
      now
        let t be VECTOR of F such that
        A36: ||.t.|| <= 1;

        A37: ||.LL1.t.|| <= ||.BP0.|| * ||.z`1.|| * ||.t.|| by A32;
        0 <= ||.z`1.|| by NORMSP_1:4;
        then 0 <= ||.BP0.|| * ||.z`1.|| by A33,XREAL_1:127;
        then ||.BP0.|| * ||.z`1.|| * ||.t.|| <= ||.BP0.|| * ||.z`1.|| * 1
        by A36,XREAL_1:64;
        hence ||.LL1.t.|| <= ||.BP0.|| * ||.z`1.|| by A37,XXREAL_0:2;
      end;
      now
        let r be Real;
        assume r in PreNorms LL1;
        then ex t be VECTOR of F st r = ||.LL1.t.|| & ||.t.|| <= 1;
        hence r <= ||.BP0.|| * ||.z`1.|| by A35;
      end;
      hence ||.B1.V1.|| <= ||.BP.|| * ||.V1.|| by A31,A32,A34,LOPBAN_1:30;
    end;
    then reconsider B1 as Lipschitzian LinearOperator of
      E, R_NormSpace_of_BoundedLinearOperators(F,G)
      by LOPBAN_1:def 8,NORMSP_1:4;

    A38: for x be Point of S st x in Z holds
         for V be Point of E holds ((B2*v)/.x).V = B.(V,v/.x)
    proof
      let x be Point of S;
      assume A39: x in Z;
      v/.x in the carrier of F;
      then v/.x in dom B2 by FUNCT_2:def 1;
      then
      A40: (B2*v)/.x
       = B2/.(v/.x) by A6,A39,PARTFUN2:4
      .= B * (reproj1 [V10,v/.x]) by A16;

      let V be Point of E;
      A41: [V10,v/.x]`2 = v/.x;
      thus ((B2*v)/.x).V
       = B.((reproj1 [V10,v/.x]).V) by A40,FUNCT_2:15
      .= B.[V,v/.x] by A41,NDIFF_7:def 1
      .= B.(V,v/.x) by BINOP_1:def 1;
    end;

    A42: for x be Point of S st x in Z
         holds
            for ds be Point of S holds
            B.(((u`|Z)/.x).ds, v/.x) = ((B2*v)/.x * (u`|Z)/.x).ds
    proof
      let x be Point of S;
      assume A43: x in Z;
      let ds be Point of S;

      reconsider F1 = (B2*v)/.x as Lipschitzian LinearOperator of E,G
        by LOPBAN_1:def 9;
      reconsider F2 = (u`|Z)/.x as Lipschitzian LinearOperator of S,E
        by LOPBAN_1:def 9;

      A44: modetrans(F2,S,E) = F2 by LOPBAN_1:def 11;
      A45: dom F2 = the carrier of S by FUNCT_2:def 1;
      thus ((B2*v)/.x * ((u`|Z)/.x)).ds
       = (F1 * F2).ds by A44,LOPBAN_1:def 11
      .= ((B2*v)/.x ).(((u`|Z)/.x).ds) by A45,FUNCT_1:13
      .= B.(((u`|Z)/.x).ds,v/.x) by A38,A43;
    end;

    A46: for x be Point of S st x in Z
         holds
            for V be Point of F
            holds ((B1*u)/.x).V = B.(u/.x,V)
    proof
      let x be Point of S;
      assume A47: x in Z;
      u/.x in the carrier of E;
      then u/.x in dom B1 by FUNCT_2:def 1;
      then
      A48: (B1*u)/.x
       = B1/.(u/.x) by A6,A47,PARTFUN2:4
      .= B * (reproj2 [u/.x,V20]) by A20;

      let V be Point of F;
      A49: [u/.x,V20]`1 = u/.x;
      thus ((B1*u)/.x).V
       = B.((reproj2 [u/.x,V20]).V) by A48,FUNCT_2:15
      .= B.[u/.x,V] by A49,NDIFF_7:def 2
      .= B.(u/.x,V) by BINOP_1:def 1;
    end;

    A50: for x be Point of S st x in Z
         holds
          for ds be Point of S
          holds B.(u/.x,((v`|Z)/.x).ds) = ((B1*u)/.x * (v`|Z)/.x).ds
    proof
      let x be Point of S;
      assume A51: x in Z;
      let ds be Point of S;

      reconsider F1 = (B1*u)/.x as Lipschitzian LinearOperator of F,G
        by LOPBAN_1:def 9;

      reconsider F2 = (v`|Z)/.x as Lipschitzian LinearOperator of S,F
        by LOPBAN_1:def 9;

      A52: modetrans(F2,S,F) = F2 by LOPBAN_1:def 11;
      A53: dom F2 = the carrier of S by FUNCT_2:def 1;

      thus ((B1*u)/.x * (v`|Z)/.x).ds
       = (F1*F2).ds by A52,LOPBAN_1:def 11
      .= ((B1*u)/.x).(((v`|Z)/.x).ds) by A53,FUNCT_1:13
      .= B.(u/.x,((v`|Z)/.x).ds) by A46,A51;
    end;

    A54: for x be Point of S st x in Z
         holds
          for ds be Point of S
          holds ((W`|Z)/.x).ds = ((B2*v)/.x * (u`|Z)/.x).ds
                               + ((B1*u)/.x * (v`|Z)/.x).ds
    proof
      let x be Point of S;
      assume A55: x in Z;
      let ds be Point of S;

      A56: B.(((u`|Z)/.x).ds, v/.x) = ((B2*v)/.x * (u`|Z)/.x).ds by A42,A55;
      thus ((W`|Z)/.x).ds
        = B.(((u`|Z)/.x).ds, v/.x)
        + B.(u/.x, ((v`|Z)/.x).ds) by A6,A8,A9,A55,Th35
       .= ((B2*v)/.x * (u`|Z)/.x).ds
        + ((B1*u)/.x * (v`|Z)/.x).ds by A50,A55,A56;
    end;

    A57: for x be Point of S st x in Z
         holds (W`|Z)/.x = (B2*v)/.x * (u`|Z)/.x + (B1*u)/.x * (v`|Z)/.x
    proof
      let x be Point of S;
      assume x in Z;
      then
      for ds be Point of S
      holds ((W`|Z)/.x).ds = ((B2*v)/.x * (u`|Z)/.x).ds
                           + ((B1*u)/.x * (v`|Z)/.x).ds by A54;

      hence (W`|Z)/.x = (B2*v)/.x * (u`|Z)/.x
                      + (B1*u)/.x * (v`|Z)/.x by LOPBAN_1:35;
    end;

    0 + i <= i + 1 by XREAL_1:7;
    then u is_differentiable_on i,Z
       & v is_differentiable_on i,Z by A6,NDIFF_6:17;
    then
    A58: B1*u is_differentiable_on i,Z
       & B2*v is_differentiable_on i,Z by Th25;

    consider BX1 be Lipschitzian BilinearOperator of
                      R_NormSpace_of_BoundedLinearOperators(S,E),
                      R_NormSpace_of_BoundedLinearOperators(E,G),
                      R_NormSpace_of_BoundedLinearOperators(S,G)
    such that
    A59: for u be Point of R_NormSpace_of_BoundedLinearOperators(S,E),
             v be Point of R_NormSpace_of_BoundedLinearOperators(E,G)
         holds BX1.(u,v) = v * u by Th38;

    set w1 = <:u`|Z, B2*v:>;

    A60: dom w1
     = dom(u`|Z) /\ dom (B2*v) by FUNCT_3:def 7
    .= Z /\ dom(B2*v) by A8,NDIFF_1:def 9
    .= Z by A58,XBOOLE_1:28;
    A61: rng w1 c= [:rng(u`|Z), rng(B2*v):] by FUNCT_3:51;

    [:rng (u`|Z), rng(B2*v):] c= the carrier of
        [:R_NormSpace_of_BoundedLinearOperators(S,E),
          R_NormSpace_of_BoundedLinearOperators(E,G):] by ZFMISC_1:96;

    then rng w1 c= the carrier of
        [:R_NormSpace_of_BoundedLinearOperators(S,E),
          R_NormSpace_of_BoundedLinearOperators(E,G):] by A61,XBOOLE_1:1;

    then reconsider w1 as PartFunc of S,
        [:R_NormSpace_of_BoundedLinearOperators(S,E),
          R_NormSpace_of_BoundedLinearOperators(E,G):] by A60,RELSET_1:4;

    set W1 = BX1 * w1;
    A62: W1 is_differentiable_on i,Z by A5,A11,A58;

    dom BX1 = the carrier of
        [:R_NormSpace_of_BoundedLinearOperators(S,E),
          R_NormSpace_of_BoundedLinearOperators(E,G):] by FUNCT_2:def 1;
    then rng w1 c=dom BX1;
    then A63: dom W1 = Z by A60,RELAT_1:27;

    consider BX2 be Lipschitzian BilinearOperator of
        R_NormSpace_of_BoundedLinearOperators(S,F),
        R_NormSpace_of_BoundedLinearOperators(F,G),
        R_NormSpace_of_BoundedLinearOperators(S,G)
    such that
    A64: for u be Point of R_NormSpace_of_BoundedLinearOperators(S,F),
             v be Point of R_NormSpace_of_BoundedLinearOperators(F,G)
         holds BX2.(u,v) = v * u by Th38;

    set w2 = <:v`|Z, B1*u:>;

    A65: dom w2
     = dom(v`|Z) /\ dom(B1*u) by FUNCT_3:def 7
    .= Z /\ dom(B1*u) by A9,NDIFF_1:def 9
    .= Z by A58,XBOOLE_1:28;

    A66: rng w2 c= [:rng(v`|Z), rng(B1*u):] by FUNCT_3:51;

    [:rng (v`|Z), rng(B1*u):]
    c= [:the carrier of R_NormSpace_of_BoundedLinearOperators(S,F),
         the carrier of R_NormSpace_of_BoundedLinearOperators(F,G):]
        by ZFMISC_1:96;
    then rng w2 c= the carrier of
            [:R_NormSpace_of_BoundedLinearOperators(S,F),
              R_NormSpace_of_BoundedLinearOperators(F,G):]
      by A66,XBOOLE_1:1;
    then reconsider w2 as PartFunc of S,
            [:R_NormSpace_of_BoundedLinearOperators(S,F),
              R_NormSpace_of_BoundedLinearOperators(F,G):]
      by A65,RELSET_1:4;

    set W2 = BX2 * w2;
    A67: W2 is_differentiable_on i,Z by A5,A12,A58;

    dom BX2 = the carrier of
        [:R_NormSpace_of_BoundedLinearOperators(S,F),
          R_NormSpace_of_BoundedLinearOperators(F,G):]
      by FUNCT_2:def 1;
    then rng w2 c= dom BX2;
    then
    A68: dom W2 = Z by A65,RELAT_1:27;
    A69: dom(W`|Z) = Z by A10,NDIFF_1:def 9;
    A70: dom(W1) /\ dom (W2) = Z by A63,A68;

    for c be Element of S st c in dom (W`|Z)
    holds (W`|Z)/.c = W1/.c + W2/.c
    proof
      let x be Element of S;
      assume A71: x in dom (W `| Z);
      A72: dom (u `| Z) = Z by A8,NDIFF_1:def 9;
      A73: W1/.x
       = W1.x by A63,A69,A71,PARTFUN1:def 6
      .= BX1.(w1.x) by A60,A69,A71,FUNCT_1:13
      .= BX1.[(u`|Z).x, (B2*v).x] by A60,A69,A71,FUNCT_3:def 7
      .= BX1.[(u`|Z)/.x, (B2*v).x] by A69,A71,A72,PARTFUN1:def 6
      .= BX1.[(u`|Z)/.x, (B2*v)/.x] by A58,A69,A71,PARTFUN1:def 6
      .= BX1.((u`|Z)/.x, (B2*v)/.x) by BINOP_1:def 1
      .= (B2*v)/.x * (u`|Z)/.x by A59;

      A74: dom (v`|Z) = Z by A9,NDIFF_1:def 9;

      W2/.x
       = W2.x by A68,A69,A71,PARTFUN1:def 6
      .= BX2.(w2.x) by A65,A69,A71,FUNCT_1:13
      .= BX2.[(v`|Z).x, (B1*u).x] by A65,A69,A71,FUNCT_3:def 7
      .= BX2.[(v`|Z)/.x, (B1*u).x] by A69,A71,A74,PARTFUN1:def 6
      .= BX2.[(v`|Z)/.x, (B1*u)/.x] by A58,A69,A71,PARTFUN1:def 6
      .= BX2.((v`|Z)/.x, (B1*u)/.x) by BINOP_1:def 1
      .= (B1*u)/.x * (v`|Z)/.x by A64;
      hence thesis by A57,A69,A71,A73;
    end;

    then A75: W`|Z = W1 + W2 by A69,A70,VFUNCT_1:def 1;

    W `| Z is_differentiable_on i,Z
    proof
      per cases;
      suppose
        i = 0;
        hence W`|Z is_differentiable_on i,Z by A10,NDIFF_1:def 9;
      end;
      suppose
        i <> 0;
        hence W`|Z is_differentiable_on i,Z
          by A62,A67,A75,NDIFF_6:21,NAT_1:14;
      end;
    end;
    hence thesis by A10,Th32;
  end;
  for i be Nat holds P[i] from NAT_1:sch 2(A1,A4);
  hence thesis;
end;

theorem
  for S,E,F,G be RealNormSpace,
      Z be Subset of S,
      B be Lipschitzian BilinearOperator of E,F,G,
      W be PartFunc of S,G,
      w be PartFunc of S,[:E,F:],
      u be PartFunc of S,E,
      v be PartFunc of S,F
   st u is_differentiable_on Z
    & u `| Z is_continuous_on Z
    & v is_differentiable_on Z
    & v `| Z is_continuous_on Z
    & W = B * w & w = <:u,v:>
  holds
     W is_differentiable_on Z
   & W `| Z is_continuous_on Z
proof
  let S,E,F,G be RealNormSpace,
      Z be Subset of S,
      B be Lipschitzian BilinearOperator of E,F,G,
      W be PartFunc of S,G,
      w be PartFunc of S,[:E,F:],
      u be PartFunc of S,E,
      v be PartFunc of S,F;

  assume that
  A1: u is_differentiable_on Z & u `| Z is_continuous_on Z and
  A2: v is_differentiable_on Z & v `| Z is_continuous_on Z and
  A3: W = B * w & w = <:u,v:>;
  A4: w is_differentiable_on Z
    & w `| Z is_continuous_on Z by A1,A2,A3,Th29;
  A5: B is_differentiable_on [#][:E,F:]
    & B `| [#][:E,F:] is_continuous_on [#][:E,F:] by NDIFF12:14;
  w.:Z c= [#][:E,F:];
  hence W is_differentiable_on Z & W `| Z is_continuous_on Z
    by A3,A4,A5,Th23;
end;

theorem Th41:
  for S,E,F,G be RealNormSpace,
      Z be Subset of S,
      u be PartFunc of S,E,
      v be PartFunc of S,F,
      w be PartFunc of S,[:E,F:]
   st w = <:u,v:>
    & u is_continuous_on Z
    & v is_continuous_on Z
  holds w is_continuous_on Z
proof
  let S,E,F,G be RealNormSpace,
      Z be Subset of S,
      u be PartFunc of S,E,
      v be PartFunc of S,F,
      w be PartFunc of S,[:E,F:];

  assume
  A1: w = <:u,v:>
    & u is_continuous_on Z
    & v is_continuous_on Z;

  A2: Z c= dom u & Z c= dom v by A1,NFCONT_1:19;
  A3: dom w = (dom u) /\ (dom v) by A1,FUNCT_3:def 7;
  then A4: Z c= dom w by A2,XBOOLE_1:19;

  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 ||.w/.x1 - w/.x0.|| < r
  proof
    let x0 be Point of S;
    let r0 be Real;
    assume A5: x0 in Z & 0 < r0;
    set rr0 = r0/2;
    A6: 0 < rr0 & rr0 < r0 by A5,XREAL_1:215,216;

    set r = rr0/2;

    consider s1 be Real such that
    A7: 0 < s1
      & for x1 be Point of S
        st x1 in Z & ||.x1 - x0.|| < s1
        holds ||.u/.x1 - u/.x0.|| < r
        by A1,A5,A6,NFCONT_1:19,XREAL_1:215;

    consider s2 be Real such that
    A8: 0 < s2
      & for x1 be Point of S
        st x1 in Z & ||.x1 - x0.|| < s2
        holds ||.v/.x1 - v/.x0.|| < r
        by A1,A5,A6,NFCONT_1:19,XREAL_1:215;

    reconsider s = min(s1,s2) as Real;
    take s;
    thus 0 < s by A7,A8,XXREAL_0:15;

    let x1 be Point of S;
    assume A9: x1 in Z & ||.x1 - x0.|| < s;

    s <= s1 by XXREAL_0:17;
    then ||.x1 - x0.|| < s1 by A9,XXREAL_0:2;
    then A10: ||.u/.x1 - u/.x0.|| < r by A7,A9;

    s <= s2 by XXREAL_0:17;
    then ||.x1 - x0.|| < s2 by A9,XXREAL_0:2;
    then A11: ||.v/.x1 - v/.x0.|| < r by A8,A9;

    A12: w/.x1
     = w.x1 by A4,A9,PARTFUN1:def 6
    .= [u.x1, v.x1] by A1,A4,A9,FUNCT_3:def 7
    .= [u/.x1, v.x1] by A2,A9,PARTFUN1:def 6
    .= [u/.x1, v/.x1] by A2,A9,PARTFUN1:def 6;

    w/.x0
     = w.x0 by A4,A5,PARTFUN1:def 6
    .= [u.x0, v.x0] by A1,A4,A5,FUNCT_3:def 7
    .= [u/.x0, v.x0] by A2,A5,PARTFUN1:def 6
    .= [u/.x0, v/.x0] by A2,A5,PARTFUN1:def 6;
    then - w/.x0 = [-u/.x0, -v/.x0] by PRVECT_3:18;
    then w/.x1 - w/.x0 = [u/.x1 - u/.x0, v/.x1 - v/.x0] by A12,PRVECT_3:18;
    then
    A13: ||.w/.x1 - w/.x0.||
      <= ||.u/.x1 - u/.x0.|| + ||.v/.x1 - v/.x0.|| by Th17;
    ||.u/.x1 - u/.x0.|| + ||.v/.x1 - v/.x0.|| <= r + r by A10,A11,XREAL_1:7;
    then ||.w/.x1 - w/.x0 .|| <= rr0 by A13,XXREAL_0:2;
    hence ||.w/.x1 - w/.x0.|| < r0 by A6,XXREAL_0:2;
  end;
  hence w is_continuous_on Z by A2,A3,NFCONT_1:19,XBOOLE_1:19;
end;

theorem Th42:
  for i be Nat,
      S,E,F,G be RealNormSpace,
      Z be Subset of S,
      B be Lipschitzian BilinearOperator of E,F,G,
      u be PartFunc of S,E,
      v be PartFunc of S,F,
      w be PartFunc of S,[:E,F:],
      W be PartFunc of S,G
   st W = B * w & w = <:u,v:>
    & u is_differentiable_on i,Z
    & diff(u,i,Z) is_continuous_on Z
    & v is_differentiable_on i,Z
    & diff(v,i,Z) is_continuous_on Z
  holds
    W is_differentiable_on i,Z
  & diff(W,i,Z) is_continuous_on Z
proof
  defpred P[Nat] means
  for S,E,F,G be RealNormSpace,
      Z be Subset of S,
      B be Lipschitzian BilinearOperator of E,F,G,
      u be PartFunc of S,E,
      v be PartFunc of S,F,
      w be PartFunc of S,[:E,F:],
      W be PartFunc of S,G
  st W = B * w & w = <:u,v:>
    & u is_differentiable_on $1,Z
    & diff(u,$1,Z) is_continuous_on Z
    & v is_differentiable_on $1,Z
    & diff(v,$1,Z) is_continuous_on Z
  holds
    W is_differentiable_on $1,Z
  & diff(W,$1,Z) is_continuous_on Z;

  A1: P[0]
  proof
    let S,E,F,G be RealNormSpace,
        Z be Subset of S,
        B be Lipschitzian BilinearOperator of E,F,G,
        u be PartFunc of S,E,
        v be PartFunc of S,F,
        w be PartFunc of S,[:E,F:],
        W be PartFunc of S,G;

    assume
    A2: W = B * w & w = <:u,v:>
      & u is_differentiable_on 0,Z
      & diff(u,0,Z) is_continuous_on Z
      & v is_differentiable_on 0,Z
      & diff(v,0,Z) is_continuous_on Z;

    dom B = [#][:E,F:] by FUNCT_2:def 1;
    then rng w c= dom B;
    then A3: dom W = dom w by A2,RELAT_1:27;

    dom w = (dom u ) /\ (dom v) by A2,FUNCT_3:def 7;
    hence W is_differentiable_on 0,Z by A2,A3,XBOOLE_1:19;

    A4: diff_SP(0,S,E) = E by NDIFF_6:7;
    A5: diff_SP(0,S,F) = F by NDIFF_6:7;
    A6: diff_SP(0,S,G) = G by NDIFF_6:7;
    A7: diff(u,0,Z) = u|Z by NDIFF_6:11;
    A8: diff(v,0,Z) = v|Z by NDIFF_6:11;
    A9: diff(W,0,Z) = W|Z by NDIFF_6:11;

    A10: u is_continuous_on Z by A2,A4,A7,NFCONT_1:21;
    A11: v is_continuous_on Z by A2,A5,A8,NFCONT_1:21;
    A12: w is_continuous_on Z by A2,A10,A11,Th41;
    A13: w.:Z c=[#][:E,F:];

    B is_continuous_on [#][:E,F:] by NDIFF_1:45,NDIFF12:14;
    then W is_continuous_on Z by A2,A13,A12,Th16;
    hence diff(W,0,Z) is_continuous_on Z by A6,A9,NFCONT_1:21;
  end;

  A14: for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume A15: P[i];

    let S,E,F,G be RealNormSpace,
        Z be Subset of S,
        B be Lipschitzian BilinearOperator of E,F,G,
        u be PartFunc of S,E,
        v be PartFunc of S,F,
        w be PartFunc of S,[:E,F:],
        W be PartFunc of S,G;

    assume
    A16: W = B * w & 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;

    0 <= i by NAT_1:2;
    then u is_differentiable_on 0+1,Z
       & v is_differentiable_on 0+1,Z by A16,NDIFF_6:17,XREAL_1:7;
    then
    A17: u | Z is_differentiable_on Z
       & v | Z is_differentiable_on Z by NDIFF_6:15;

    A18: u is_differentiable_on Z by A16,A17;
    A19: v is_differentiable_on Z by A16,A17;

    A20: W is_differentiable_on Z
      & for x be Point of S st x in Z holds
        for ds be Point of S holds
        ((W`|Z)/.x).ds = B.(((u`|Z )/.x).ds, v/.x)
                       + B.(u/.x, ((v`|Z)/.x).ds) by A16,A18,A19,Th35;

    A21: u`|Z is_differentiable_on i,Z by A16,Th36;
    A22: v`|Z is_differentiable_on i,Z by A16,Th36;

    set V10 = the Point of E;
    set V20 = the Point of F;

    reconsider BP = B
      as Point of R_NormSpace_of_BoundedBilinearOperators(E,F,G)
      by LOPBAN_9:def 4;

    defpred P1[object, object] means
    ex V2 be Point of F
    st V2 = $1 & $2 = B * (reproj1 [V10,V2]);

    A23: for x be object st x in the carrier of F
         holds
          ex y be object
          st y in the carrier of R_NormSpace_of_BoundedLinearOperators(E,G)
           & P1[x,y]
    proof
      let x be object;
      assume x in the carrier of F;
      then reconsider V2 = x as Point of F;
      take y = B * (reproj1 [V10,V2]);
      B * (reproj1 [V10,V2]) is Lipschitzian LinearOperator of E,G
        by NDIFF12:2;
      hence thesis by LOPBAN_1:def 9;
    end;

    consider B2 be Function of
      the carrier of F,
      the carrier of R_NormSpace_of_BoundedLinearOperators(E,G)
    such that
    A24: for x be object st x in the carrier of F
         holds P1[x,B2.x] from FUNCT_2:sch 1(A23);

    A25: for V2 be Point of F holds B2.V2 = B * (reproj1 [V10,V2])
    proof
      let V2 be Point of F;
      ex V be Point of F
      st V = V2 & B2.V2 = B * (reproj1 [V10,V]) by A24;
      hence B2.V2 = B * (reproj1 [V10,V2]);
    end;

    defpred P2[object, object] means
    ex V1 be Point of E
    st V1 = $1 & $2 = B * (reproj2 [V1,V20]);

    A26: for x be object st x in the carrier of E
         holds
          ex y be object
          st y in the carrier of R_NormSpace_of_BoundedLinearOperators(F,G)
            & P2[x,y]
    proof
      let x be object;
      assume x in the carrier of E;
      then reconsider V1 = x as Point of E;
      take y = B * (reproj2 [V1,V20]);

      B * (reproj2 [V1,V20]) is Lipschitzian LinearOperator of F,G
        by NDIFF12:2;
      hence thesis by LOPBAN_1:def 9;
    end;

    consider B1 be Function of
        the carrier of E,
        the carrier of R_NormSpace_of_BoundedLinearOperators(F,G)
    such that
    A27: for x be object st x in the carrier of E
         holds P2[x, B1.x] from FUNCT_2:sch 1(A26);

    A28: for V1 be Point of E
         holds B1.V1 = B * (reproj2 [V1,V20])
    proof
      let V1 be Point of E;
      ex V be Point of E
      st V1 = V & B1.V1 = B * (reproj2 [V,V20]) by A27;
      hence B1.V1 = B * (reproj2 [V1,V20]);
    end;

    for x, y be Element of F
    holds B2.(x + y) = B2.x + B2.y
    proof
      let x, y be Element of F;
      A29: B2.y = B * (reproj1 [V10,y]) by A25;

      set f = B * (reproj1 [V10, x]);
      set g = B * (reproj1 [V10, y]);
      set h = B * (reproj1 [V10, x + y]);

      for s be VECTOR of E
      holds (B2.(x+y)).s = (B2.x).s + (B2.y).s
      proof
        let s be VECTOR of E;
        thus B2.(x+y).s
         = h.s by A25
        .= B.((reproj1 [V10,x+y]).s) by FUNCT_2:15
        .= B.([s,[V10,x+y]`2]) by NDIFF_7:def 1
        .= B.(s,x+y) by BINOP_1:def 1
        .= B.(s,x) + B.(s,y) by LOPBAN_8:12
        .= B.[s,x] + B.(s,y) by BINOP_1:def 1
        .= B.[s,[V10,x]`2] + B.[s,y] by BINOP_1:def 1
        .= B.((reproj1 [V10,x]).s) + B.[s,[V10,y]`2] by NDIFF_7:def 1
        .= B.((reproj1 [V10,x]).s) + B.((reproj1 [V10,y]).s) by NDIFF_7:def 1
        .= f.s + B.((reproj1 [V10,y]).s) by FUNCT_2:15
        .= f.s + g.s by FUNCT_2:15
        .= (B2.x).s + (B2.y).s by A25,A29;
      end;
      hence B2.(x+y) = B2.x + B2.y by LOPBAN_1:35;
    end;
    then A30: B2 is additive;

    for x be VECTOR of F, a be Real holds B2.(a*x) = a * B2.x
    proof
      let x be VECTOR of F, a be Real;

      set f = B * (reproj1 [V10,x]);
      set g = B * (reproj1 [V10,a*x]);

      for s be VECTOR of E holds (B2.(a*x)).s = a * (B2.x).s
      proof
        let s be VECTOR of E;
        thus (B2.(a*x)).s
         = g.s by A25
        .= B.((reproj1 [V10,a*x]).s) by FUNCT_2:15
        .= B.([s,[V10,a*x]`2]) by NDIFF_7:def 1
        .= B.(s,a*x) by BINOP_1:def 1
        .= a * B.(s,x) by LOPBAN_8:12
        .= a * B.[s,[V10,x]`2] by BINOP_1:def 1
        .= a * B.((reproj1 [V10,x]).s) by NDIFF_7:def 1
        .= a * f.s by FUNCT_2:15
        .= a * (B2.x).s by A25;
      end;
      hence B2.(a*x) = a * B2.x by LOPBAN_1:36;
    end;
    then reconsider B2 as LinearOperator of
      F, R_NormSpace_of_BoundedLinearOperators(E,G)
      by A30,LOPBAN_1:def 5;

    for x, y be Element of E holds B1.(x + y) = B1.x + B1.y
    proof
      let x, y be Element of E;
      A31: B1.y = B * (reproj2 [y,V20]) by A28;
      set f = B * (reproj2 [x,V20]);
      set g = B * (reproj2 [y,V20]);
      set h = B * (reproj2 [x+y,V20]);

      for s be VECTOR of F holds (B1.(x+y)).s = (B1.x).s + (B1.y).s
      proof
        let s be VECTOR of F;

        thus (B1.(x+y)).s
         = h.s by A28
        .= B.((reproj2 [x+y,V20]).s) by FUNCT_2:15
        .= B.([[x+y,V20]`1,s]) by NDIFF_7:def 2
        .= B.(x+y,s) by BINOP_1:def 1
        .= B.(x,s) + B.(y,s) by LOPBAN_8:12
        .= B.[x,s] + B.(y,s) by BINOP_1:def 1
        .= B.[[x,V20]`1,s] + B.[y,s] by BINOP_1:def 1
        .= B.((reproj2 [x,V20]).s) + B.[[y,V20]`1,s] by NDIFF_7:def 2
        .= B.((reproj2 [x,V20]).s) + B.((reproj2 [y,V20]).s) by NDIFF_7:def 2
        .= f.s + B.((reproj2 [y,V20]).s) by FUNCT_2:15
        .= f.s + g.s by FUNCT_2:15
        .= (B1.x).s + (B1.y).s by A28,A31;
      end;
      hence B1.(x+y) = B1.x + B1.y by LOPBAN_1:35;
    end;
    then A32: B1 is additive;

    for x be VECTOR of E, a be Real holds B1.(a*x) = a * B1.x
    proof
      let x be VECTOR of E, a be Real;
      set f = B * (reproj2 [x,V20]);
      set g = B * (reproj2 [a*x,V20]);

      for s be VECTOR of F holds (B1.(a*x)).s = a * (B1.x).s
      proof
        let s be VECTOR of F;

        thus (B1.(a*x)).s
         = g.s by A28
        .= B.((reproj2 [a*x,V20]).s) by FUNCT_2:15
        .= B.([[a*x,V20]`1,s]) by NDIFF_7:def 2
        .= B.(a*x,s) by BINOP_1:def 1
        .= a * B.(x,s) by LOPBAN_8:12
        .= a * B.[[x,V20]`1,s] by BINOP_1:def 1
        .= a * B.((reproj2 [x,V20]).s) by NDIFF_7:def 2
        .= a * f.s by FUNCT_2:15
        .= a * (B1.x).s by A28;
      end;
      hence B1.(a*x) = a * B1.x by LOPBAN_1:36;
    end;
    then
    reconsider B1 as LinearOperator of
      E, R_NormSpace_of_BoundedLinearOperators(F,G)
      by A32,LOPBAN_1:def 5;

    now
      let V2 be Point of F;
      A33: B2.V2 = B * (reproj1 [V10,V2]) by A25;
      set L1 = B * (reproj1 [V10,V2]);
      set z = [V10,V2];

      consider BP0 be Point of R_NormSpace_of_BoundedBilinearOperators(E,F,G)
      such that
      A34: B = BP0
        & ( for x be VECTOR of E
            holds ||.(B * (reproj1 z)).x.|| <= ||.BP0.|| * ||.z`2.|| * ||.x.||)
        & ( for y be VECTOR of F
            holds ||.(B * (reproj2 z)).y.|| <= ||.BP0.|| * ||.z`1.|| * ||.y.||)
        by NDIFF12:2;

      A35: 0 <= ||.BP0.|| by NORMSP_1:4;

      reconsider LL1 = L1 as Lipschitzian LinearOperator of E,G
        by A33,LOPBAN_1:def 9;

      A36: now
        let t be VECTOR of E such that
        A37: ||.t.|| <= 1;

        A38: ||.LL1.t.|| <= ||.BP0.|| * ||.z`2.|| * ||.t.|| by A34;
        0 <= ||.z`2.|| by NORMSP_1:4;
        then 0 <= ||.BP0.|| * ||.z`2.|| by A35,XREAL_1:127;
        then ||.BP0.|| * ||.z`2.|| * ||.t.|| <= ||.BP0.|| * ||.z`2.|| * 1
          by A37,XREAL_1:64;
        hence ||.LL1.t.|| <= ||.BP0.|| * ||.z`2.|| by A38,XXREAL_0:2;
      end;

      now
        let r be Real;
        assume r in PreNorms LL1;
        then ex t be VECTOR of E st r = ||.LL1.t.|| & ||.t.|| <= 1;
        hence r <= ||.BP0.|| * ||.z`2.|| by A36;
      end;
      then upper_bound(PreNorms LL1) <= ||.BP0.|| * ||.z`2.|| by SEQ_4:45;
      hence ||.B2.V2.|| <= ||.BP.|| * ||.V2.|| by A33,A34,LOPBAN_1:30;
    end;
    then reconsider B2 as Lipschitzian LinearOperator of
      F, R_NormSpace_of_BoundedLinearOperators(E,G)
      by LOPBAN_1:def 8,NORMSP_1:4;

    now
      let V1 be Point of E;
      A39: B1.V1 = B * (reproj2 [V1,V20]) by A28;
      set L1= B * (reproj2 [V1,V20]);
      set z = [V1,V20];
      consider BP0 be Point of R_NormSpace_of_BoundedBilinearOperators(E,F,G)
      such that
      A40: B = BP0
        & (for x be VECTOR of E
           holds ||.(B * (reproj1 z)).x.|| <= ||.BP0.|| * ||.z`2.|| * ||.x.||)
        & (for y be VECTOR of F
           holds ||.(B * (reproj2 z)).y.|| <= ||.BP0.|| * ||.z`1.|| * ||.y.||)
        by NDIFF12:2;

      A41: 0 <= ||.BP0.|| by NORMSP_1:4;

      reconsider LL1 = L1 as Lipschitzian LinearOperator of F,G
        by A39,LOPBAN_1:def 9;

      A42: now
        let t be VECTOR of F such that
        A43: ||.t.|| <= 1;

        A44: ||.LL1.t.|| <= ||.BP0.|| * ||.z`1.|| * ||.t.|| by A40;
        0 <= ||.z`1.|| by NORMSP_1:4;
        then 0 <= ||.BP0.|| * ||.z`1.|| by A41,XREAL_1:127;
        then ||.BP0.|| * ||.z`1.|| * ||.t.|| <= ||.BP0.|| * ||.z`1.|| * 1
          by A43,XREAL_1:64;
        hence ||.LL1.t.|| <= ||.BP0.|| * ||.z`1.|| by A44,XXREAL_0:2;
      end;

      now
        let r be Real;
        assume r in PreNorms LL1;
        then ex t be VECTOR of F st r = ||.LL1.t.|| & ||.t.|| <= 1;
        hence r <= ||.BP0.|| * ||.z`1.|| by A42;
      end;
      then upper_bound(PreNorms LL1) <= ||.BP0.|| * ||.z`1.|| by SEQ_4:45;
      hence ||.B1.V1.|| <= ||.BP.|| * ||.V1.|| by A39,A40,LOPBAN_1:30;
    end;
    then reconsider B1 as Lipschitzian LinearOperator of
      E, R_NormSpace_of_BoundedLinearOperators(F,G)
      by LOPBAN_1:def 8,NORMSP_1:4;

    A45: for x be Point of S st x in Z holds
         for V be Point of E holds ((B2*v)/.x).V = B.(V,v/.x)
    proof
      let x be Point of S;
      assume A46: x in Z;
      v/.x in the carrier of F;
      then v/.x in dom B2 by FUNCT_2:def 1;
      then
      A47: (B2*v)/.x
       = B2/.(v/.x) by A16,A46,PARTFUN2:4
      .= B * (reproj1 [V10,v/.x]) by A25;

      let V be Point of E;
      A48: [V10,v/.x] `2 = v/.x;
      thus ((B2*v)/.x).V
       = B.((reproj1 [V10,v/.x]).V) by A47,FUNCT_2:15
      .= B.[V,v/.x] by A48,NDIFF_7:def 1
      .= B.(V,v/.x) by BINOP_1:def 1;
    end;

    A49: for x be Point of S st x in Z holds
         for ds be Point of S holds
         B.(((u`|Z)/.x).ds,v/.x) = (((B2*v)/.x)*((u`|Z)/.x)).ds
    proof
      let x be Point of S;
      assume A50: x in Z;
      let ds be Point of S;

      reconsider F1 = (B2*v)/.x as Lipschitzian LinearOperator of E,G
        by LOPBAN_1:def 9;
      reconsider F2 = (u`|Z)/.x as Lipschitzian LinearOperator of S,E
        by LOPBAN_1:def 9;

      A51: modetrans (F1,E,G) = F1 by LOPBAN_1:def 11;
      A52: dom F2 = the carrier of S by FUNCT_2:def 1;
      thus ((B2*v)/.x * (u`|Z)/.x).ds
         = (F1*F2).ds by A51,LOPBAN_1:def 11
        .= ((B2*v)/.x).(((u`|Z)/.x).ds) by A52,FUNCT_1:13
        .= B.(((u`|Z)/.x).ds, v/.x) by A45,A50;
    end;

    A53: for x be Point of S st x in Z holds
         for V be Point of F holds ((B1*u)/.x).V = B.(u/.x,V)
    proof
      let x be Point of S;
      assume A54: x in Z;
      u/.x in the carrier of E;
      then u/.x in dom B1 by FUNCT_2:def 1;
      then
      A55: (B1*u)/.x
       = B1/.(u/.x) by A16,A54,PARTFUN2:4
      .= B * (reproj2 [u/.x,V20]) by A28;

      let V be Point of F;
      A56: [u/.x,V20] `1 = u/.x;

      thus ((B1*u)/.x).V
       = B.((reproj2 [u/.x,V20]).V) by A55,FUNCT_2:15
      .= B.[u/.x,V] by A56,NDIFF_7:def 2
      .= B.(u/.x,V) by BINOP_1:def 1;
    end;

    A57: for x be Point of S st x in Z holds
         for ds be Point of S holds
         B.(u/.x, ((v`|Z)/.x).ds) = ((B1*u)/.x * (v`|Z)/.x).ds
    proof
      let x be Point of S;
      assume A58: x in Z;
      let ds be Point of S;

      reconsider F1 = (B1*u)/.x as Lipschitzian LinearOperator of F,G
        by LOPBAN_1:def 9;
      reconsider F2 = (v`|Z)/.x as Lipschitzian LinearOperator of S,F
        by LOPBAN_1:def 9;

      A59: modetrans(F1,F,G) = F1 by LOPBAN_1:def 11;
      A60: dom F2 = the carrier of S by FUNCT_2:def 1;

      thus ((B1*u)/.x * (v`|Z)/.x).ds
       = (F1*F2).ds by A59,LOPBAN_1:def 11
      .= ((B1*u)/.x).(((v`|Z)/.x).ds) by A60,FUNCT_1:13
      .= B.(u/.x, ((v`|Z)/.x).ds) by A53,A58;
    end;

    A61: for x be Point of S st x in Z holds
         for ds be Point of S
         holds ((W`|Z)/.x).ds = ((B2*v)/.x * (u`|Z)/.x).ds
             + ((B1*u)/.x * (v`|Z)/.x).ds
    proof
      let x be Point of S;
      assume A62: x in Z;
      let ds be Point of S;

      A63: B.(((u`|Z)/.x).ds, v/.x) = ((B2*v)/.x * (u`|Z)/.x).ds by A49,A62;
      thus ((W`|Z)/.x).ds
        = B.(((u`|Z)/.x).ds, v/.x) + B.(u/.x, ((v`|Z)/.x).ds)
          by A16,A18,A19,A62,Th35
       .= ((B2*v)/.x * (u`|Z)/.x).ds + ((B1*u)/.x * (v`|Z)/.x).ds
          by A57,A62,A63;
    end;

    A64: for x be Point of S st x in Z holds
         (W`|Z)/.x = (B2*v)/.x * (u`|Z)/.x + (B1*u)/.x * (v`|Z)/.x
    proof
      let x be Point of S;
      assume x in Z;
      then for ds be Point of S holds
           ((W`|Z)/.x).ds = ((B2*v)/.x * (u`|Z)/.x).ds
            + ((B1*u)/.x * (v`|Z)/.x).ds by A61;
      hence (W`|Z)/.x = (B2*v)/.x * (u`|Z)/.x
            + (B1*u)/.x * (v`|Z)/.x by LOPBAN_1:35;
    end;

    0 + i <= i + 1 by XREAL_1:7;
    then u is_differentiable_on i,Z
       & v is_differentiable_on i,Z by A16,NDIFF_6:17;
    then
    A65: B1*u is_differentiable_on i,Z
       & B2*v is_differentiable_on i,Z by Th25;

    A66: B1*u is_differentiable_on i+1,Z
       & B2*v is_differentiable_on i+1,Z by A16,Th25;

    consider BX1 be Lipschitzian BilinearOperator of
        R_NormSpace_of_BoundedLinearOperators(S,E),
        R_NormSpace_of_BoundedLinearOperators(E,G),
        R_NormSpace_of_BoundedLinearOperators(S,G)
    such that
    A67: for u be Point of R_NormSpace_of_BoundedLinearOperators(S,E),
             v be Point of R_NormSpace_of_BoundedLinearOperators(E,G)
         holds BX1.(u,v) = v*u by Th38;

    set w1 = <: u`|Z, B2*v :>;

    A68: dom w1
     = dom(u`|Z) /\ dom(B2*v) by FUNCT_3:def 7
    .= Z /\ dom(B2*v) by A18,NDIFF_1:def 9
    .= Z by A65,XBOOLE_1:28;
    A69: rng w1 c= [:rng(u`|Z), rng(B2*v):] by FUNCT_3:51;

    [:rng(u`|Z), rng(B2*v):]
      c= [:the carrier of R_NormSpace_of_BoundedLinearOperators(S,E),
           the carrier of R_NormSpace_of_BoundedLinearOperators(E,G):]
          by ZFMISC_1:96;
    then
    rng w1 c= the carrier of
        [:R_NormSpace_of_BoundedLinearOperators(S,E),
          R_NormSpace_of_BoundedLinearOperators(E,G):]
        by A69,XBOOLE_1:1;

    then reconsider w1 as PartFunc of S,
          [:R_NormSpace_of_BoundedLinearOperators(S,E),
            R_NormSpace_of_BoundedLinearOperators(E,G):]
            by A68,RELSET_1:4;

    A70: diff(u`|Z,i,Z) is_continuous_on Z by A16,Th37;
    A71: diff(B2*v,i,Z) is_continuous_on Z by A66,NDIFF_1:45,NDIFF_6:14;

    set W1 = BX1*w1;
    A72: W1 is_differentiable_on i,Z
       & diff(W1,i,Z) is_continuous_on Z by A15,A21,A65,A70,A71;

    dom BX1 = the carrier of
      [:R_NormSpace_of_BoundedLinearOperators(S,E),
        R_NormSpace_of_BoundedLinearOperators(E,G):]
      by FUNCT_2:def 1;
    then rng w1 c= dom BX1;
    then
    A73: dom W1 = Z by A68,RELAT_1:27;

    consider BX2 be Lipschitzian BilinearOperator of
        R_NormSpace_of_BoundedLinearOperators(S,F),
        R_NormSpace_of_BoundedLinearOperators(F,G),
        R_NormSpace_of_BoundedLinearOperators(S,G)
    such that
    A74: for u be Point of R_NormSpace_of_BoundedLinearOperators(S,F),
             v be Point of R_NormSpace_of_BoundedLinearOperators(F,G)
          holds BX2.(u,v) = v*u by Th38;

    set w2 = <:v `| Z,B1*u:>;
    A75: dom w2
     = dom(v`|Z) /\ dom(B1*u) by FUNCT_3:def 7
    .= Z /\ dom(B1*u) by A19,NDIFF_1:def 9
    .= Z by A65,XBOOLE_1:28;
    A76: rng w2 c= [:rng(v`|Z), rng(B1*u):] by FUNCT_3:51;

    [:rng(v`|Z), rng(B1*u):]
      c= [:the carrier of R_NormSpace_of_BoundedLinearOperators(S,F),
           the carrier of R_NormSpace_of_BoundedLinearOperators(F,G):]
            by ZFMISC_1:96;
    then rng w2 c= the carrier of
          [:R_NormSpace_of_BoundedLinearOperators(S,F),
            R_NormSpace_of_BoundedLinearOperators(F,G):]
          by A76,XBOOLE_1:1;

    then reconsider w2 as PartFunc of S,
          [:R_NormSpace_of_BoundedLinearOperators(S,F),
            R_NormSpace_of_BoundedLinearOperators(F,G):]
          by RELSET_1:4,A75;

    A77: diff(v`|Z,i,Z) is_continuous_on Z by A16,Th37;
    A78: diff(B1*u,i,Z) is_continuous_on Z by A66,NDIFF_1:45,NDIFF_6:14;

    set W2 = BX2 * w2;

    A79: W2 is_differentiable_on i,Z
      & diff(W2,i,Z) is_continuous_on Z by A15,A22,A65,A77,A78;

    dom BX2 = the carrier of
      [:R_NormSpace_of_BoundedLinearOperators(S,F),
        R_NormSpace_of_BoundedLinearOperators(F,G):]
        by FUNCT_2:def 1;
    then rng w2 c= dom BX2;
    then A80: dom W2 = Z by A75,RELAT_1:27;
    A81: dom(W`|Z) = Z by A20,NDIFF_1:def 9;
    A82: dom(W1) /\ dom(W2) = Z by A73,A80;

    A83: for c be Element of S st c in dom(W`|Z)
         holds (W`|Z)/.c = W1/.c + W2/.c
    proof
      let x be Element of S;
      assume x in dom(W`|Z);
      then A84: x in Z by A20,NDIFF_1:def 9;

      A85: dom(u`|Z) = Z by A18,NDIFF_1:def 9;
      A86: W1/.x
       = W1.x by A73,A84,PARTFUN1:def 6
      .= BX1.(w1.x) by A68,A84,FUNCT_1:13
      .= BX1.[(u`|Z).x, (B2*v).x] by A68,A84,FUNCT_3:def 7
      .= BX1.[(u`|Z)/.x, (B2*v).x] by A84,A85,PARTFUN1:def 6
      .= BX1.[(u`|Z)/.x, (B2*v)/.x] by A65,A84,PARTFUN1:def 6
      .= BX1.((u`|Z)/.x, (B2*v)/.x) by BINOP_1:def 1
      .= (B2*v)/.x * (u`|Z)/.x by A67;

      A87: dom(v`|Z) = Z by A19,NDIFF_1:def 9;

      W2/.x
       = W2.x by A80,A84,PARTFUN1:def 6
      .= BX2.(w2.x) by A75,A84,FUNCT_1:13
      .= BX2.[(v`|Z).x, (B1*u).x] by A75,A84,FUNCT_3:def 7
      .= BX2.[(v`|Z)/.x, (B1*u).x] by A84,A87,PARTFUN1:def 6
      .= BX2.[(v`|Z)/.x, (B1*u)/.x] by A65,A84,PARTFUN1:def 6
      .= BX2.((v`|Z)/.x, (B1*u)/.x) by BINOP_1:def 1
      .= (B1*u)/.x * (v`|Z)/.x by A74;
      hence thesis by A64,A84,A86;
    end;

    then
    A88: W`|Z = W1 + W2 by A81,A82,VFUNCT_1:def 1;

    A89: W1 is_continuous_on Z
    proof
      per cases;
      suppose
        A90: i = 0;
        then
        A91: diff_SP(i,S,R_NormSpace_of_BoundedLinearOperators(S,G))
           = R_NormSpace_of_BoundedLinearOperators(S,G) by NDIFF_6:7;
        diff(W1,i,Z)
         = W1 | Z by A90,NDIFF_6:11
        .= W1 by A73;
        hence W1 is_continuous_on Z by A15,A21,A65,A70,A71,A91;
      end;
      suppose
        i <> 0;
        then W1 is_differentiable_on 1,Z by A72,NDIFF_6:17,NAT_1:14;
        then W1|Z is_differentiable_on Z by NDIFF_6:15;
        hence W1 is_continuous_on Z by Th3,NDIFF_1:45;
      end;
    end;

    A92: W2 is_continuous_on Z
    proof
      per cases;
      suppose
        A93: i = 0;
        then
        A94: diff_SP(i,S,R_NormSpace_of_BoundedLinearOperators(S,G))
           = R_NormSpace_of_BoundedLinearOperators(S,G) by NDIFF_6:7;

        diff(W2,i,Z)
         = W2 | Z by A93,NDIFF_6:11
        .= W2 by A80;
        hence W2 is_continuous_on Z by A15,A22,A65,A77,A78,A94;
      end;
      suppose i <> 0;
        then W2 is_differentiable_on 1,Z by A79,NDIFF_6:17,NAT_1:14;
        then W2|Z is_differentiable_on Z by NDIFF_6:15;
        hence W2 is_continuous_on Z by Th3,NDIFF_1:45;
      end;
    end;

    A95: diff(W`|Z,i,Z) is_continuous_on Z
    proof
      per cases;
      suppose
        A96: i = 0;
        then
        A97: diff_SP(i,S,R_NormSpace_of_BoundedLinearOperators(S,G))
           = R_NormSpace_of_BoundedLinearOperators(S,G) by NDIFF_6:7;

        diff(W`|Z,i,Z)
         = (W`|Z) | Z by A96,NDIFF_6:11
        .= W1 + W2 by A81,A82,A83,VFUNCT_1:def 1;
        hence diff(W`|Z,i,Z) is_continuous_on Z by A89,A92,A97,NFCONT_1:25;
      end;
      suppose
        i <> 0;
        then
        A98: 1 <= i by NAT_1:14;
        diff(W`|Z,i,Z)
         = diff(W1 + W2,i,Z) by A81,A82,A83,VFUNCT_1:def 1
        .= diff(W1,i,Z) + diff(W2,i,Z) by A72,A79,A98,NDIFF_6:20;
        hence diff(W`|Z,i,Z) is_continuous_on Z by A72,A79,NFCONT_1:25;
      end;
    end;

    W`|Z is_differentiable_on i,Z
    proof
      per cases;
      suppose
        i = 0;
        hence W`|Z is_differentiable_on i,Z by A20,NDIFF_1:def 9;
      end;
      suppose
        i <> 0;
        hence W `| Z is_differentiable_on i,Z
          by A72,A79,A88,NDIFF_6:21,NAT_1:14;
      end;
    end;
    hence thesis by A20,A95,Th33;
  end;
  for i be Nat holds P[i] from NAT_1:sch 2(A1,A14);
  hence thesis;
end;

theorem Th43:
  for i be Nat,
      E,F,G be RealNormSpace,
      Z be Subset of E,
      T be Subset of F,
      u be PartFunc of E,F,
      v be PartFunc of F,G
   st u.:Z c= T
    & u is_differentiable_on i,Z
    & v is_differentiable_on i,T
  holds v*u is_differentiable_on i,Z
proof
  defpred P[Nat] means
  for E,F,G be RealNormSpace,
      Z be Subset of E,
      T be Subset of F,
      u be PartFunc of E,F,
      v be PartFunc of F,G
  st u.:Z c= T
   & u is_differentiable_on $1,Z
   & v is_differentiable_on $1,T
  holds v*u is_differentiable_on $1,Z;

  A1: P[0]
  proof
    let E,F,G be RealNormSpace,
        Z be Subset of E,
        T be Subset of F,
        u be PartFunc of E,F,
        v be PartFunc of F,G;

    assume
    A2: u.:Z c= T
      & u is_differentiable_on 0,Z
      & v is_differentiable_on 0,T;

    for x be object st x in Z holds x in dom(v*u)
    proof
      let x be object;
      assume A3: x in Z; then
      u.x in u.:Z by A2,FUNCT_1:def 6;
      then u.x in T by A2;
      hence x in dom(v*u) by A2,A3,FUNCT_1:11;
    end;
    hence v*u is_differentiable_on 0,Z by TARSKI:def 3;
  end;

  A4:for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume A5: P[i];

    let E,F,G be RealNormSpace,
        Z be Subset of E,
        T be Subset of F,
        u be PartFunc of E,F,
        v be PartFunc of F,G;

    assume
    A6: u.:Z c= T
      & u is_differentiable_on i+1,Z
      & v is_differentiable_on i+1,T;

    0 + i <= i + 1 by XREAL_1:7;
    then
    A7: u is_differentiable_on i,Z
      & v is_differentiable_on i,T by A6,NDIFF_6:17;

    0 <= i by NAT_1:2;
    then
    A8: u is_differentiable_on 0+1,Z
      & v is_differentiable_on 0+1,T by A6,NDIFF_6:17,XREAL_1:7;
    then A9: u is_differentiable_on Z by Th3,NDIFF_6:15;
    A10: v is_differentiable_on T by A8,Th3,NDIFF_6:15;
    then
    A11: v*u is_differentiable_on Z
       & for x be Point of E st x in Z
         holds ((v*u)`|Z)/.x = (v`|T)/.(u/.x) * (u`|Z)/.x by A6,A9,Th19;

    A12: u `| Z is_differentiable_on i,Z by A6,Th36;
    A13: v `| T is_differentiable_on i,T by A6,Th36;

    set t = (v`|T) * u;
    A14: t is_differentiable_on i,Z by A5,A6,A7,A13;

    consider B be Lipschitzian BilinearOperator of
        R_NormSpace_of_BoundedLinearOperators (E,F),
        R_NormSpace_of_BoundedLinearOperators (F,G),
        R_NormSpace_of_BoundedLinearOperators (E,G)
    such that
    A15: for u be Point of R_NormSpace_of_BoundedLinearOperators(E,F),
             v be Point of R_NormSpace_of_BoundedLinearOperators(F,G)
         holds B.(u,v) = v*u by Th38;

    set w2 = <:u`|Z,t:>;
    A16: dom w2
     = dom(u`|Z) /\ dom t by FUNCT_3:def 7
    .= Z /\ dom t by A9,NDIFF_1:def 9
    .= Z by A14,XBOOLE_1:28;

    A17: rng w2 c= [:rng(u `| Z), rng t:] by FUNCT_3:51;
    [:rng (u`|Z), rng t:] c= the carrier of
      [:R_NormSpace_of_BoundedLinearOperators(E,F),
        R_NormSpace_of_BoundedLinearOperators(F,G):] by ZFMISC_1:96;
    then
    rng w2 c= the carrier of
      [:R_NormSpace_of_BoundedLinearOperators(E,F),
        R_NormSpace_of_BoundedLinearOperators(F,G):] by A17,XBOOLE_1:1;
    then
    reconsider w2 as PartFunc of E,
      [:R_NormSpace_of_BoundedLinearOperators(E,F),
        R_NormSpace_of_BoundedLinearOperators(F,G):] by A16,RELSET_1:4;

    reconsider W = B * w2
      as PartFunc of E,R_NormSpace_of_BoundedLinearOperators(E,G);

    A18: W is_differentiable_on i,Z by A12,A14,Th39;

    dom B = the carrier of
      [:R_NormSpace_of_BoundedLinearOperators(E,F),
        R_NormSpace_of_BoundedLinearOperators(F,G):] by FUNCT_2:def 1;

    then rng w2 c= dom B;
    then A19: dom W = Z by A16,RELAT_1:27;
    A20: dom((v*u)`|Z) = Z by A11,NDIFF_1:def 9;

    for x0 be object st x0 in dom((v*u)`|Z) holds ((v*u)`|Z).x0 = W.x0
    proof
      let x0 be object;
      assume A21: x0 in dom((v*u)`|Z);
      then A22: x0 in Z by A11,NDIFF_1:def 9;
      reconsider x = x0 as Point of E by A21;

      A23: ((v*u)`|Z).x0
       = ((v*u)`|Z)/.x by A21,PARTFUN1:def 6
      .= (v`|T)/.(u/.x) * (u`|Z)/.x by A6,A9,A10,A22,Th19
      .= B.((u`|Z)/.x, (v`|T)/.(u/.x)) by A15
      .= B.[(u`|Z)/.x, (v`|T)/.(u/.x)] by BINOP_1:def 1;

      A24: dom(u`|Z) = Z by A9,NDIFF_1:def 9;
      A25: dom(v`|T) = T by A10,NDIFF_1:def 9;
      u/.x = u.x by A6,A22,PARTFUN1:def 6;
      then A26: u/.x in u.:Z by A6,A22,FUNCT_1:def 6;

      [(u`|Z)/.x, (v`|T)/.(u/.x)]
       = [(u`|Z).x, (v`|T)/.(u/.x)] by A22,A24,PARTFUN1:def 6
      .= [(u`|Z).x, (v`|T).(u/.x)] by A6,A25,A26,PARTFUN1:def 6
      .= [(u`|Z).x, (v`|T).(u.x)] by A6,A22,PARTFUN1:def 6
      .= [(u`|Z).x, ((v`|T)*u).x] by A6,A22,FUNCT_1:13
      .= w2.x by A16,A22,FUNCT_3:def 7;

      hence ((v*u)`|Z).x0 = W.x0 by A16,A22,A23,FUNCT_1:13;
    end;
    then (v*u)`|Z is_differentiable_on i,Z by A18,A19,A20,FUNCT_1:2;
    hence v*u is_differentiable_on i+1,Z by A6,A9,A10,Th19,Th32;
  end;

  for i be Nat holds P[i] from NAT_1:sch 2(A1,A4);
  hence thesis;
end;

theorem Th44:
  for i be Nat,
      E,F,G be RealNormSpace,
      Z be Subset of E,
      T be Subset of F,
      u be PartFunc of E,F,
      v be PartFunc of F,G
   st u.:Z c= T
    & u is_differentiable_on i,Z
    & diff(u,i,Z) is_continuous_on Z
    & v is_differentiable_on i,T
    & diff(v,i,T) is_continuous_on T
  holds
      v*u is_differentiable_on i,Z
    & diff(v*u,i,Z) is_continuous_on Z
proof
  defpred P[Nat] means
  for E,F,G be RealNormSpace,
      Z be Subset of E,
      T be Subset of F,
      u be PartFunc of E,F,
      v be PartFunc of F,G
   st u.:Z c= T
    & u is_differentiable_on $1,Z
    & diff(u,$1,Z) is_continuous_on Z
    & v is_differentiable_on $1,T
    & diff(v,$1,T) is_continuous_on T
  holds
    v*u is_differentiable_on $1,Z
  & diff(v*u,$1,Z) is_continuous_on Z;

  A1: P[0]
  proof
    let E,F,G be RealNormSpace,
        Z be Subset of E,
        T be Subset of F,
        u be PartFunc of E,F,
        v be PartFunc of F,G;

    assume
    A2: u.:Z c= T
      & u is_differentiable_on 0,Z
      & diff(u,0,Z) is_continuous_on Z
      & v is_differentiable_on 0,T
      & diff(v,0,T) is_continuous_on T;

    hence v*u is_differentiable_on 0,Z by Th43;

    A3: diff_SP(0,E,F) = F by NDIFF_6:7;
    diff(u,0,Z) = u|Z by NDIFF_6:11;
    then A4: u is_continuous_on Z by A2,A3,NFCONT_1:21;
    A5: diff_SP(0,F,G) = G by NDIFF_6:7;
    diff(v,0,T) = v|T by NDIFF_6:11;
    then v is_continuous_on T by A2,A5,NFCONT_1:21;
    then A6: v*u is_continuous_on Z by A2,A4,Th16;

    A7: diff(v*u,0,Z) = (v*u) |Z by NDIFF_6:11;
    diff_SP(0,E,G) = G by NDIFF_6:7;
    hence diff(v*u,0,Z) is_continuous_on Z by A6,A7,NFCONT_1:21;
  end;

  A8:for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume A9: P[i];

    let E,F,G be RealNormSpace,
        Z be Subset of E,
        T be Subset of F,
        u be PartFunc of E,F,
        v be PartFunc of F,G;

    assume
    A10: u.:Z c= T
       & u is_differentiable_on i+1,Z
       & diff(u,i+1,Z) is_continuous_on Z
       & v is_differentiable_on i+1,T
       & diff(v,i+1,T) is_continuous_on T;

    0 + i <= i + 1 by XREAL_1:7;
    then
    A11: u is_differentiable_on i,Z
       & v is_differentiable_on i,T by A10,NDIFF_6:17;

    A12: diff(u,i,Z) is_continuous_on Z by A10,NDIFF_1:45,NDIFF_6:14;

    0 <= i by NAT_1:2;
    then
    A13: u is_differentiable_on 0+1,Z
       & v is_differentiable_on 0+1,T by A10,XREAL_1:7,NDIFF_6:17;
    then A14: u is_differentiable_on Z by Th3,NDIFF_6:15;
    A15: v is_differentiable_on T by A13,Th3,NDIFF_6:15;
    then
    A16: v*u is_differentiable_on Z
       & for x be Point of E st x in Z
         holds ((v*u)`|Z)/.x = (v`|T)/.(u/.x) * (u`|Z)/.x by A10,A14,Th19;

    A17: u`|Z is_differentiable_on i,Z
       & diff(u`|Z,i,Z) is_continuous_on Z by A10,Th37;

    A18: v`|T is_differentiable_on i,T
       & diff(v`|T,i,T) is_continuous_on T by A10,Th37;

    set t = (v`|T) * u;

    A19: t is_differentiable_on i,Z
       & diff(t,i,Z) is_continuous_on Z by A9,A10,A11,A12,A18;

    consider B be Lipschitzian BilinearOperator of
        R_NormSpace_of_BoundedLinearOperators(E,F),
        R_NormSpace_of_BoundedLinearOperators(F,G),
        R_NormSpace_of_BoundedLinearOperators(E,G)
    such that
    A20: for u be Point of R_NormSpace_of_BoundedLinearOperators(E,F),
             v be Point of R_NormSpace_of_BoundedLinearOperators(F,G)
         holds B.(u,v) = v*u by Th38;

    set w2 = <:u`|Z,t:>;

    A21: dom w2
     = dom(u`|Z) /\ dom t by FUNCT_3:def 7
    .= Z /\ dom t by A14,NDIFF_1:def 9
    .= Z by A19,XBOOLE_1:28;

    A22: rng w2 c= [:rng(u`|Z), rng t:] by FUNCT_3:51;

    [:rng(u`|Z), rng t:]
    c= [:the carrier of R_NormSpace_of_BoundedLinearOperators(E,F),
         the carrier of R_NormSpace_of_BoundedLinearOperators(F,G):]
        by ZFMISC_1:96;
    then
    rng w2 c= the carrier of
        [:R_NormSpace_of_BoundedLinearOperators(E,F),
          R_NormSpace_of_BoundedLinearOperators(F,G):] by A22,XBOOLE_1:1;
    then
    reconsider w2 as PartFunc of E,
        [:R_NormSpace_of_BoundedLinearOperators(E,F),
          R_NormSpace_of_BoundedLinearOperators(F,G):] by A21,RELSET_1:4;

    reconsider W = B * w2
      as PartFunc of E,R_NormSpace_of_BoundedLinearOperators(E,G);

    A23: W is_differentiable_on i,Z
       & diff(W,i,Z) is_continuous_on Z by A17,A19,Th42;

    dom B = the carrier of
      [:R_NormSpace_of_BoundedLinearOperators(E,F),
        R_NormSpace_of_BoundedLinearOperators(F,G):] by FUNCT_2:def 1;

    then rng w2 c= dom B;
    then A24: dom W = Z by A21,RELAT_1:27;
    A25: dom((v*u)`|Z) = Z by A16,NDIFF_1:def 9;

    for x0 be object st x0 in dom((v*u)`|Z) holds ((v*u)`|Z).x0 = W.x0
    proof
      let x0 be object;
      assume A26: x0 in dom((v*u)`|Z);
      then reconsider x = x0 as Point of E;

      A27: ((v*u)`|Z).x0
       = ((v*u)`|Z)/.x by A26,PARTFUN1:def 6
      .= (v`|T)/.(u/.x) * (u`|Z)/.x by A10,A14,A15,A25,A26,Th19
      .= B.((u`|Z)/.x, (v`|T)/.(u/.x)) by A20
      .= B.[(u`|Z)/.x, (v`|T)/.(u/.x)] by BINOP_1:def 1;

      A28: dom(u`|Z) = Z by A14,NDIFF_1:def 9;
      A29: dom(v`|T) = T by A15,NDIFF_1:def 9;
      u/.x = u.x by A10,A25,A26,PARTFUN1:def 6;
      then A30: u/.x in u.:Z by A10,A25,A26,FUNCT_1:def 6;

      [(u`|Z)/.x, (v`|T)/.(u/.x)]
       = [(u`|Z).x, (v`|T)/.(u/.x)] by A25,A26,A28,PARTFUN1:def 6
      .= [(u`|Z).x, (v`|T).(u/.x)] by A10,A29,A30,PARTFUN1:def 6
      .= [(u`|Z).x, (v`|T).(u.x)] by A10,A25,A26,PARTFUN1:def 6
      .= [(u`|Z).x, ((v`|T)*u).x] by A10,A25,A26,FUNCT_1:13
      .= w2.x by A21,A25,A26,FUNCT_3:def 7;
      hence ((v*u)`|Z).x0 = W.x0 by A21,A25,A26,A27,FUNCT_1:13;
    end;
    then
    A31: (v*u)`|Z is_differentiable_on i, Z
        & diff((v*u)`|Z,i,Z) is_continuous_on Z by A23,A24,A25,FUNCT_1:2;
    v*u is_differentiable_on Z by A10,A14,A15,Th19;
    hence v*u is_differentiable_on i+1,Z
        & diff(v*u,i+1,Z) is_continuous_on Z by A31,Th33;
  end;

  for i be Nat holds P[i] from NAT_1:sch 2(A1,A8);
  hence thesis;
end;

begin :: Partial Differentiation of Vector-Valued Functions

theorem Th45:
  for E,F,G be RealNormSpace,
      Z be Subset of [:E,F:],
      f be PartFunc of [:E,F:],G
   st f is_differentiable_on Z
  holds
    f is_partial_differentiable_on`1 Z
  & f is_partial_differentiable_on`2 Z
  & for z be Point of [:E,F:]
     st z in Z
    holds
      ( for dx be Point of E
        holds ((f `partial`1| Z)/.z).dx = ((f`|Z)/.z).(dx,0.F) )
    & ( for dy be Point of F
        holds ((f `partial`2| Z)/.z).dy = ((f`|Z)/.z).(0.E,dy) )
proof
  let E,F,G be RealNormSpace,
      Z be Subset of [:E,F:],
      f be PartFunc of [:E,F:],G;
  assume
  A1: f is_differentiable_on Z;
  then A2: Z is open by NDIFF_1:32;

  for z be Point of [:E,F:] st z in Z holds f is_partial_differentiable_in`1 z
  proof
    let z be Point of [:E,F:];
    assume z in Z;
    then f is_differentiable_in z by A1,A2,NDIFF_1:31;
    hence f is_partial_differentiable_in`1 z by NDIFF_9:14;
  end;
  hence A3: f is_partial_differentiable_on`1 Z by A1,A2,NDIFF_7:43;

  for z be Point of [:E,F:] st z in Z holds f is_partial_differentiable_in`2 z
  proof
    let z be Point of [:E,F:];
    assume z in Z;
    then f is_differentiable_in z by A1,A2,NDIFF_1:31;
    hence f is_partial_differentiable_in`2 z by NDIFF_9:14;
  end;
  hence A4: f is_partial_differentiable_on`2 Z by A1,A2,NDIFF_7:44;

  let z be Point of [:E,F:];
  assume A5: z in Z;
  then A6: f is_differentiable_in z by A1,A2,NDIFF_1:31;

  reconsider L1 = partdiff`1(f,z)
    as Lipschitzian LinearOperator of E,G by LOPBAN_1:def 9;

  reconsider L2 = partdiff`2(f,z)
    as Lipschitzian LinearOperator of F,G by LOPBAN_1:def 9;

  A7: (partdiff`1(f,z)).(0.E)
   = L1.(0 * 0.E) by RLVECT_1:10
  .= 0 * L1.(0.E) by LOPBAN_1:def 5
  .= 0.G by RLVECT_1:10;

  A8: (partdiff`2(f,z)).(0.F)
   = L2.(0 * 0.F) by RLVECT_1:10
  .= 0 * L2.(0.F) by LOPBAN_1:def 5
  .= 0.G by RLVECT_1:10;

  thus for dx be Point of E
       holds ((f `partial`1| Z)/.z).dx = ((f`|Z )/.z).(dx, 0.F)
  proof
    let dx be Point of E;
    ((f`|Z)/.z).(dx,0.F)
     = diff(f,z).(dx,0.F) by A1,A5,NDIFF_1:def 9
    .= diff(f,z).[dx,0.F] by BINOP_1:def 1
    .= (partdiff`1(f,z)).dx + (partdiff`2(f,z)).(0.F) by A6,NDIFF_9:14
    .= (partdiff`1(f,z)).dx by A8,RLVECT_1:4
    .= ((f `partial`1| Z)/.z).dx by A3,A5,NDIFF_7:def 10;
    hence thesis;
  end;

  thus for dy be Point of F
       holds ((f `partial`2| Z)/.z).dy = ((f`|Z)/.z).(0.E, dy)
  proof
    let dy be Point of F;
    ((f`|Z)/.z).(0.E,dy)
     = diff(f,z).(0.E,dy) by A1,A5,NDIFF_1:def 9
    .= diff(f,z).[0.E,dy] by BINOP_1:def 1
    .= (partdiff`1(f,z)).(0.E) + (partdiff`2(f,z)).dy by A6,NDIFF_9:14
    .= (partdiff`2(f,z)).dy by A7,RLVECT_1:4
    .= ((f `partial`2| Z)/.z).dy by A4,A5,NDIFF_7:def 11;
    hence thesis;
  end;
end;

theorem Th46:
  for E,F be RealNormSpace
  ex L10 be Lipschitzian LinearOperator of E,[:E,F:]
  st for dx be Point of E holds L10.dx = [dx,0.F]
proof
  let E,F be RealNormSpace;

  defpred P2[object , object] means
  ex dx be Point of E
  st dx = $1 & $2 = [dx,0.F];

  A1: for x be object st x in the carrier of E
      holds
      ex y be object
      st y in the carrier of [:E,F:] & P2[x,y]
  proof
    let x be object;
    assume x in the carrier of E;
    then reconsider V1 = x as Point of E;
    take y = [V1,0.F];
    thus thesis;
  end;

  consider L1 be Function of the carrier of E, the carrier of [:E,F:]
  such that
  A2: for x be object st x in the carrier of E
      holds P2[x, L1.x] from FUNCT_2:sch 1(A1);

  A3: for dx be Point of E holds L1.dx = [dx,0.F]
  proof
    let dx be Point of E;
    ex V1 be Point of E
    st V1 = dx & L1.dx = [V1,0.F] by A2;
    hence L1.dx = [dx,0.F];
  end;

  for x, y be Element of E
  holds L1.(x + y) = L1.x + L1.y
  proof
    let x, y be Element of E;
    A4: L1.x = [x,0.F] by A3;
    A5: L1.y = [y,0.F] by A3;

    thus L1.(x + y)
     = [x + y, 0.F] by A3
    .= [x + y, 0.F + 0.F] by RLVECT_1:4
    .= L1.x + L1.y by A4,A5,PRVECT_3:18;
  end;
  then A6: L1 is additive;

  for x be VECTOR of E, a be Real holds L1.(a*x) = a * L1.x
  proof
    let x be VECTOR of E, a be Real;
    A7: L1.x = [x,0.F] by A3;
    thus L1.(a*x)
     = [a*x, 0.F] by A3
    .= [a*x, a * 0.F] by RLVECT_1:10
    .= a * L1.x by A7,PRVECT_3:18;
  end;
  then reconsider L1 as LinearOperator of E,[:E,F:] by A6,LOPBAN_1:def 5;

  set K = 1;

  for x be VECTOR of E holds ||.L1.x.|| <= K * ||.x.||
  proof
    let x be VECTOR of E;
    L1.x = [x,0.F] by A3;
    then ||.L1.x.|| <= ||.x.|| + ||.0.F.|| by Th17;
    then ||.L1.x.|| <= K * ||.x.|| + 0 by NORMSP_1:1;
    hence thesis;
  end;

  then L1 is Lipschitzian by LOPBAN_1:def 8;
  hence thesis by A3;
end;

theorem Th47:
  for E,F be RealNormSpace
  ex L20 be Lipschitzian LinearOperator of F,[:E,F:]
  st for dy be Point of F holds L20.dy = [0.E,dy]
proof
  let E,F be RealNormSpace;

  defpred P2[object , object] means
  ex dx be Point of F
  st dx = $1 & $2 = [0.E,dx];

  A1: for x be object st x in the carrier of F
      holds
        ex y be object
        st y in the carrier of [:E,F:] & P2[x,y]
  proof
    let x be object;
    assume x in the carrier of F;
    then reconsider V1 = x as Point of F;
    take y = [0.E, V1];
    thus thesis;
  end;

  consider L1 be Function of the carrier of F, the carrier of [:E,F:]
  such that
  A2: for x be object st x in the carrier of F
      holds P2[x, L1.x] from FUNCT_2:sch 1(A1);

  A3: for dx be Point of F holds L1.dx = [0.E,dx]
  proof
    let dx be Point of F;
    ex V1 be Point of F
    st V1 = dx & L1.dx = [0.E, V1] by A2;
    hence L1.dx = [0.E, dx];
  end;

  for x, y be Element of F
  holds L1.(x + y) = L1.x + L1.y
  proof
    let x, y be Element of F;
    A4: L1.x = [0.E,x] by A3;
    A5: L1.y = [0.E,y] by A3;

    thus L1.(x + y)
     = [0.E, x + y] by A3
    .= [0.E + 0.E, x + y] by RLVECT_1:4
    .= L1.x + L1.y by A4,A5,PRVECT_3:18;
  end;
  then A6: L1 is additive;

  for x be VECTOR of F, a be Real holds L1.(a*x) = a * L1.x
  proof
    let x be VECTOR of F, a be Real;
    A7: L1.x = [0.E,x] by A3;
    thus L1.(a*x)
     = [0.E,a*x] by A3
    .= [a * 0.E, a*x] by RLVECT_1:10
    .= a * L1.x by A7,PRVECT_3:18;
  end;
  then reconsider L1 as LinearOperator of F,[:E,F:] by A6,LOPBAN_1:def 5;

  set K = 1;

  for x be VECTOR of F holds ||.L1.x.|| <= K * ||.x.||
  proof
    let x be VECTOR of F;
    L1.x = [0.E,x] by A3;
    then ||.L1.x.|| <= ||.x.|| + ||.0.E.|| by Th17;
    then ||.L1.x.|| <= K * ||.x.|| + 0 by NORMSP_1:1;
    hence thesis;
  end;
  then L1 is Lipschitzian by LOPBAN_1:def 8;
  hence thesis by A3;
end;

theorem Th48:
  for E,F be RealNormSpace,
      Z be non empty Subset of E,
      L1 be PartFunc of E,F,
      L0 be Point of F
   st Z is open & L1 = Z --> L0
  holds
    L1 is_differentiable_on Z
  & L1`|Z is_continuous_on Z
  & L1`|Z = Z --> 0.R_NormSpace_of_BoundedLinearOperators(E,F)
proof
  let E,F be RealNormSpace,
      Z be non empty Subset of E,
      L1 be PartFunc of E,F,
      L0 be Point of F;
  assume
  A1: Z is open & L1 = Z --> L0;
  A2: dom L1 = Z by A1,FUNCOP_1:13;
  A3: rng(L1) = {L0} by A1,FUNCOP_1:8;
  then
  A4: L1 is_differentiable_on Z
    & for x be Point of E st x in Z
      holds (L1`|Z)/.x = 0.R_NormSpace_of_BoundedLinearOperators(E,F)
      by A1,A2,NDIFF_1:33;

  A5: dom(L1`|Z) = Z by A4,NDIFF_1:def 9;
  A6: for z be object st z in dom (L1`|Z)
      holds (L1`|Z).z = 0.R_NormSpace_of_BoundedLinearOperators(E,F)
  proof
    let z be object;
    assume A7: z in dom(L1`|Z);
    then reconsider x = z as Point of E;
    thus (L1`|Z).z
     = (L1`|Z)/.x by PARTFUN1:def 6,A7
    .= 0.R_NormSpace_of_BoundedLinearOperators(E,F)
      by A1,A2,A3,A5,A7,NDIFF_1:33;
  end;
  then
  A8: L1`|Z = Z --> 0.R_NormSpace_of_BoundedLinearOperators(E,F)
      by A5,FUNCOP_1:11;

  rng(L1`|Z) = {0.R_NormSpace_of_BoundedLinearOperators(E,F)}
    by A8,FUNCOP_1:8;
  hence thesis by A1,A2,A3,A5,A6,FUNCOP_1:11,NDIFF_1:33,45;
end;

theorem Th49:
  for E,F be RealNormSpace,
      Z be non empty Subset of E,
      L1 be PartFunc of E,F,
      L0 be Point of F
   st Z is open & L1 = Z --> L0
  holds
    for i be Nat
    holds
    ( ex P be Point of diff_SP(i,E,F)
      st diff(L1,i,Z) = Z --> P )
    & diff (L1,i,Z) is_differentiable_on Z
    & diff (L1,i,Z)`|Z is_continuous_on Z
proof
  let E,F be RealNormSpace,
      Z be non empty Subset of E,
      L1 be PartFunc of E,F,
      L0 be Point of F;
  assume A1: Z is open & L1 = Z --> L0;

  defpred P[Nat] means
  ( ex P be Point of diff_SP($1,E,F)
    st diff(L1,$1,Z) = Z --> P )
  & diff(L1,$1,Z) is_differentiable_on Z
  & diff(L1,$1,Z) `| Z is_continuous_on Z;

  A2: P[0]
  proof
    A3: diff_SP(0,E,F) = F by NDIFF_6:7;

    A4: diff(L1,0,Z)
     = L1|Z by NDIFF_6:11
    .= L1 by A1;

    thus ex P be Point of diff_SP(0,E,F) st diff(L1,0,Z) = Z --> P by A1,A3,A4;
    thus diff(L1,0,Z) is_differentiable_on Z by A1,A3,A4,Th48;
    thus diff(L1,0,Z) `| Z is_continuous_on Z by A1,A3,A4,Th48;
  end;

  A5: for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume P[i];
    then consider P be Point of diff_SP(i,E,F) such that
    A6: diff(L1,i,Z) = Z --> P;

    A7: diff_SP(i+1,E,F)
      = R_NormSpace_of_BoundedLinearOperators(E, diff_SP(i,E,F))
        by NDIFF_6:10;

    A8: diff(L1,i+1,Z)
     = diff(L1,i,Z) `| Z by NDIFF_6:13
    .= Z --> 0.diff_SP(i+1,E,F) by A1,A6,A7,Th48;
    hence ex P be Point of diff_SP(i+1,E,F) st diff(L1,i+1,Z) = Z --> P;
    thus diff(L1,i+1,Z) is_differentiable_on Z by A1,A8,Th48;
    thus diff(L1,i+1,Z) `| Z is_continuous_on Z by A1,A8,Th48;
  end;

  for i be Nat holds P[i] from NAT_1:sch 2(A2,A5);
  hence thesis;
end;

theorem Th50:
  for i be Nat,
      E,F be RealNormSpace,
      Z be non empty Subset of E,
      L1 be PartFunc of E,F,
      L0 be Point of F
   st Z is open & L1 = Z --> L0
  holds
    L1 is_differentiable_on i,Z
  & diff(L1,i,Z)`|Z is_continuous_on Z
proof
  let n be Nat,
      E,F be RealNormSpace,
      Z be non empty Subset of E,
      L1 be PartFunc of E,F,
      L0 be Point of F;
  assume A1: Z is open & L1 = Z --> L0;
  then A2: dom L1 = Z by FUNCOP_1:13;

  for i be Nat st i <= n - 1
  holds diff(L1,i,Z) is_differentiable_on Z by A1,Th49;
  hence L1 is_differentiable_on n,Z by A2,NDIFF_6:14;
  thus diff(L1,n,Z)`|Z is_continuous_on Z by A1,Th49;
end;

theorem Th51:
  for n be Nat,
      S be RealNormSpace,
      Z be Subset of S,
      f be PartFunc of S,S
   st Z is open & f = id [#]S
  holds
    f is_differentiable_on n,Z
  & diff(f,n,Z) is_continuous_on Z
proof
  let n be Nat,
      S be RealNormSpace,
      Z be Subset of S,
      f be PartFunc of S,S;
  assume A1: Z is open & f = id [#]S;

  reconsider L = id [#]S as Lipschitzian LinearOperator of S,S by LOPBAN_2:3;

  A2: dom L = [#]S;
  for i be Nat st i <= n - 1
  holds diff(L,i,[#]S) is_differentiable_on [#]S by NDIFF12:20;
  then A3: f is_differentiable_on n,[#]S by A1,A2,NDIFF_6:14;
  diff(L,n,[#]S) is_continuous_on [#]S by NDIFF_1:45,NDIFF12:20;
  hence thesis by A1,A3,Th10;
end;

theorem
  for i be Nat,
      E,F,G be RealNormSpace,
      Z be non empty Subset of [:E,F:],
      f be PartFunc of [:E,F:],G
   st f is_differentiable_on i+1,Z
  holds
    f `partial`1| Z is_differentiable_on i,Z
  & f `partial`2| Z is_differentiable_on i,Z
proof
  let i be Nat,
      E,F,G be RealNormSpace,
      Z be non empty Subset of [:E,F:],
      f be PartFunc of [:E,F:],G;
  assume A1: f is_differentiable_on i+1,Z;

  0 <= i by NAT_1:2;
  then f is_differentiable_on 0+1,Z by A1,NDIFF_6:17,XREAL_1:7;
  then A2: f is_differentiable_on Z by NDIFF_6:15,Th3;
  then
  A3: f is_partial_differentiable_on`1 Z
  & f is_partial_differentiable_on`2 Z
  & for z be Point of [:E,F:] st z in Z
    holds
      ( for dx be Point of E
        holds ((f `partial`1| Z)/.z).dx = ((f`|Z)/.z).(dx, 0.F) )
    & ( for dy be Point of F
        holds ((f `partial`2| Z)/.z).dy = ((f`|Z)/.z).(0.E, dy) )
    by Th45;

  A4: Z is open by A2,NDIFF_1:32;
  set PD1 = f `partial`1| Z;
  set PD2 = f `partial`2| Z;
  A5: dom PD1 = Z & dom PD2 = Z by A3,NDIFF_7:def 10,def 11;

  consider L10 be Lipschitzian LinearOperator of E,[:E,F:] such that
  A6: for dx be Point of E holds L10.dx = [dx,0.F] by Th46;

  consider L20 be Lipschitzian LinearOperator of F,[:E,F:] such that
  A7: for dy be Point of F holds L20.dy = [0.E,dy] by Th47;

  set BL1 = R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]);
  set BL2 = R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]);

  A8: dom(Z --> L10) = Z
    & rng(Z --> L10) c= {L10} by FUNCOP_1:13;

  L10 in the carrier of
    R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]) by LOPBAN_1:def 9;
  then {L10} c= the carrier of
    R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]) by ZFMISC_1:31;
  then A9: rng (Z --> L10) c= the carrier of
    R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]) by XBOOLE_1:1;

  reconsider L1 = Z --> L10
    as PartFunc of [:E,F:],BL1 by A8,A9,RELSET_1:4;
  reconsider L100 = L10
    as Point of R_NormSpace_of_BoundedLinearOperators(E,[:E,F:])
    by LOPBAN_1:def 9;

  L1 = Z --> L100;
  then A10: L1 is_differentiable_on i,Z by A4,Th50;

  A11: for z be Point of [:E,F:] st z in Z
       holds (f `partial`1| Z)/.z = (f`|Z)/.z * L1/.z
  proof
    let z be Point of [:E,F:];
    assume A12: z in Z;
    then
    A13: L1/.z
     = L1.z by A8,PARTFUN1:def 6
    .= L10 by A12,FUNCOP_1:7;

    reconsider H1 = (f`|Z)/.z as Lipschitzian LinearOperator of [:E,F:],G
      by LOPBAN_1:def 9;
    reconsider H2 = L1/.z as Lipschitzian LinearOperator of E,[:E,F:] by A13;

    A14: (f `partial`1| Z)/.z is Lipschitzian LinearOperator of E,G
      by LOPBAN_1:def 9;
    then A15: dom((f `partial`1| Z)/.z) = the carrier of E by FUNCT_2:def 1;

    A16: modetrans(L1/.z,E,[:E,F:]) = H2 by LOPBAN_1:def 11;
    A17: dom(H1*H2) = the carrier of E by FUNCT_2:def 1;

    A18: for dx be object st dx in dom((f `partial`1| Z)/.z)
         holds ((f `partial`1| Z)/.z).dx = (H1 * H2).dx
    proof
      let dx0 be object;
      assume dx0 in dom((f `partial`1| Z )/.z);
      then reconsider dx = dx0 as Point of E by A14,FUNCT_2:def 1;
      A19: dom L10 = the carrier of E by FUNCT_2:def 1;
      thus ((f `partial`1| Z)/.z).dx0
       = ((f`|Z )/.z).(dx,0.F) by A2,A12,Th45
      .= ((f`|Z )/.z).[dx,0.F] by BINOP_1:def 1
      .= ((f`|Z )/.z).(L10.dx) by A6
      .= (H1 * H2).dx0 by A13,A19,FUNCT_1:13;
    end;

    (f `partial`1| Z)/.z = H1 * H2 by A15,A17,A18,FUNCT_1:2;
    hence (f `partial`1| Z)/.z = (f`|Z)/.z * L1/.z by A16,LOPBAN_1:def 11;
  end;

  A20: f`| Z is_differentiable_on i,Z by A1,Th36;

  consider B be Lipschitzian BilinearOperator of
      R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G),
      R_NormSpace_of_BoundedLinearOperators(E,G)
  such that
  A21: for u be Point of R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]),
           v be Point of R_NormSpace_of_BoundedLinearOperators([:E,F:],G)
       holds B.(u,v) = v*u by Th38;
  set w2 = <:L1, f`|Z:>;
  A22: dom w2
   = dom(f`|Z) /\ dom L1 by FUNCT_3:def 7
  .= Z /\ dom L1 by A2,NDIFF_1:def 9
  .= Z by A8;

  A23: rng w2 c= [:rng L1, rng(f`|Z):] by FUNCT_3:51;

  [:rng L1,(rng (f `| Z)) :]
  c= [:the carrier of R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]),
       the carrier of R_NormSpace_of_BoundedLinearOperators([:E,F:],G):]
      by ZFMISC_1:96;
  then
  rng w2 c= the carrier of
    [:R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G):]  by A23,XBOOLE_1:1;

  then
  reconsider w2 as PartFunc of [:E,F:],
    [:R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G):] by RELSET_1:4,A22;

  reconsider W = B * w2
    as PartFunc of [:E,F:],R_NormSpace_of_BoundedLinearOperators(E,G);
  A24: W is_differentiable_on i,Z by A10,A20,Th39;

  dom B = the carrier of
    [:R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G):] by FUNCT_2:def 1;

  then rng w2 c= dom B;
  then A25: dom W = Z by A22,RELAT_1:27;

  for x0 be object st x0 in dom(PD1) holds PD1.x0 = W.x0
  proof
    let x0 be object;
    assume A26: x0 in dom (PD1);
    then reconsider x = x0 as Point of [:E,F:];
    A27: PD1.x0
     = PD1/.x by A26,PARTFUN1:def 6
    .= (f`|Z)/.x * L1/.x by A11,A26,A5
    .= B.(L1/.x,(f`|Z)/.x) by A21
    .= B.[L1/.x,(f`|Z)/.x] by BINOP_1:def 1;

    A28: dom(f`|Z) = Z by A2,NDIFF_1:def 9;
    A29: dom(<:L1, f`|Z:>)
     = dom(L1) /\ dom(f`| Z) by FUNCT_3:def 7
    .= Z by A8,A28;

    [L1/.x, (f`|Z)/.x]
     = [L1.x, (f`|Z)/.x] by A5,A8,A26,PARTFUN1:def 6
    .= [L1.x, (f`|Z).x] by A5,A26,A28,PARTFUN1:def 6
    .= w2.x by A5,A26,A29,FUNCT_3:def 7;
    hence PD1.x0 = W.x0 by A5,A26,A27,A29,FUNCT_1:13;
  end;
  hence PD1 is_differentiable_on i,Z by A5,A24,A25,FUNCT_1:2;

  A30: dom(Z --> L20) = Z & rng(Z --> L20) c= {L20} by FUNCOP_1:13;

  L20 in the carrier of
    R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]) by LOPBAN_1:def 9;
  then {L20} c= the carrier of
    R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]) by ZFMISC_1:31;
  then A31: rng(Z --> L20) c= the carrier of
    R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]) by XBOOLE_1:1;

  reconsider L2 = Z --> L20 as PartFunc of [:E,F:],BL2 by A30,A31,RELSET_1:4;

  reconsider L100 = L20
    as Point of R_NormSpace_of_BoundedLinearOperators(F,[:E,F:])
    by LOPBAN_1:def 9;

  L2 = Z --> L100;
  then A32: L2 is_differentiable_on i,Z by A4,Th50;
  A33: dom(Z --> L20) = Z
     & rng(Z --> L20) c= {L20} by FUNCOP_1:13;

  A34: for z be Point of [:E,F:] st z in Z
       holds (f `partial`2| Z)/.z = (f`|Z)/.z * L2/.z
  proof
    let z be Point of [:E,F:];
    assume A35: z in Z;
    then
    A36: L2/.z
     = L2.z by A33,PARTFUN1:def 6
    .= L20 by A35,FUNCOP_1:7;

    reconsider H1 = (f`|Z)/.z
      as Lipschitzian LinearOperator of [:E,F:],G by LOPBAN_1:def 9;
    reconsider H2 = L2/.z
      as Lipschitzian LinearOperator of F,[:E,F:] by A36;

    A37: (f `partial`2| Z)/.z is Lipschitzian LinearOperator of F,G
      by LOPBAN_1:def 9;
    then A38: dom((f `partial`2| Z)/.z) = the carrier of F by FUNCT_2:def 1;
    A39: modetrans(L2/.z, F,[:E,F:]) = H2 by LOPBAN_1:def 11;
    A40: dom(H1 * H2) = the carrier of F by FUNCT_2:def 1;

    A41: for dx be object st dx in dom((f `partial`2| Z)/.z)
         holds ((f `partial`2| Z)/.z).dx = (H1 * H2).dx
    proof
      let dx0 be object;
      assume dx0 in dom((f `partial`2| Z)/.z);
      then reconsider dx = dx0 as Point of F by A37,FUNCT_2:def 1;
      A42: dom L20 = the carrier of F by FUNCT_2:def 1;

      thus ((f `partial`2| Z)/.z).dx0
       = ((f`|Z)/.z).(0.E,dx) by A2,A35,Th45
      .= ((f`|Z)/.z).[0.E,dx] by BINOP_1:def 1
      .= ((f`|Z)/.z).(L20.dx) by A7
      .= (H1 * H2).dx0 by A36,A42,FUNCT_1:13;
    end;
    (f `partial`2| Z)/.z = H1 * H2 by A38,A40,A41,FUNCT_1:2;
    hence (f `partial`2| Z)/.z = (f`|Z)/.z * L2/.z by A39,LOPBAN_1:def 11;
  end;
  A43: f`|Z is_differentiable_on i,Z by A1,Th36;

  consider B be Lipschitzian BilinearOperator of
      R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G),
      R_NormSpace_of_BoundedLinearOperators(F,G)
  such that
  A44: for u be Point of R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]),
           v be Point of R_NormSpace_of_BoundedLinearOperators([:E,F:],G)
       holds B.(u,v) = v*u by Th38;

  set w2 = <:L2, f`|Z:>;

  A45: dom w2
   = dom(f`|Z) /\ dom L2 by FUNCT_3:def 7
  .= Z /\ dom L2 by A2,NDIFF_1:def 9
  .= Z by A33;

  A46: rng w2 c= [:rng L2, rng(f`|Z):] by FUNCT_3:51;

  [:rng L2, rng(f`|Z):]
  c= [:the carrier of R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]),
       the carrier of R_NormSpace_of_BoundedLinearOperators([:E,F:],G):]
    by ZFMISC_1:96;
  then rng w2 c= the carrier of
    [:R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G):] by A46,XBOOLE_1:1;
  then reconsider w2 as PartFunc of [:E,F:],
    [:R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G):] by A45,RELSET_1:4;

  reconsider W = B * w2
    as PartFunc of [:E,F:],R_NormSpace_of_BoundedLinearOperators(F,G);

  dom B = the carrier of
    [:R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G):] by FUNCT_2:def 1;

  then rng w2 c= dom B;
  then A47: dom W = Z by A45,RELAT_1:27;

  for x0 be object st x0 in dom(PD2) holds PD2.x0 = W.x0
  proof
    let x0 be object;
    assume A48: x0 in dom (PD2);
    then reconsider x = x0 as Point of [:E,F:];

    A49: PD2.x0
     = PD2 /. x by A48,PARTFUN1:def 6
    .= (f`|Z)/.x * L2/.x by A5,A34,A48
    .= B.(L2/.x, (f`|Z)/.x) by A44
    .= B.[L2/.x, (f`|Z)/.x] by BINOP_1:def 1;

    A50: dom(f`|Z) = Z by A2,NDIFF_1:def 9;
    A51: dom(<:L2, f`|Z:>)
     = dom(L2) /\ dom(f`| Z) by FUNCT_3:def 7
    .= Z by A33,A50;

    [L2/.x, (f`|Z)/.x]
     = [L2.x, (f`|Z)/.x] by A5,A33,A48,PARTFUN1:def 6
    .= [L2.x, (f`|Z).x] by A5,A48,A50,PARTFUN1:def 6
    .= w2.x by A5,A48,A51,FUNCT_3:def 7;
    hence PD2.x0 = W.x0 by A5,A48,A49,A51,FUNCT_1:13;
  end;
  then PD2 = W by A5,A47,FUNCT_1:2;
  hence PD2 is_differentiable_on i,Z by A32,A43,Th39;
end;

theorem Th53:
  for i be Nat,
      E,F,G be RealNormSpace,
      Z be non empty Subset of [:E,F:],
      f be PartFunc of [:E,F:],G
   st f is_differentiable_on i+1,Z
    & diff(f,i+1,Z) is_continuous_on Z
  holds
    f `partial`1| Z is_differentiable_on i,Z
  & diff(f `partial`1| Z,i,Z) is_continuous_on Z
  & f `partial`2| Z is_differentiable_on i,Z
  & diff(f `partial`2| Z,i,Z) is_continuous_on Z
proof
  let i be Nat,
      E,F,G be RealNormSpace,
      Z be non empty Subset of [:E,F:],
      f be PartFunc of [:E,F:],G;
  assume
  A1: f is_differentiable_on i+1,Z
    & diff(f,i+1,Z) is_continuous_on Z;

  0 <= i by NAT_1:2;
  then f is_differentiable_on 0+1,Z by A1,NDIFF_6:17,XREAL_1:7;
  then A2: f is_differentiable_on Z by Th3,NDIFF_6:15;
  then
  A3: f is_partial_differentiable_on`1 Z
    & f is_partial_differentiable_on`2 Z
    & for z be Point of [:E,F:] st z in Z
      holds
        ( for dx be Point of E
          holds ((f `partial`1| Z)/.z).dx = ((f`|Z)/.z).(dx,0.F) )
      & ( for dy be Point of F
          holds ((f `partial`2| Z)/.z).dy = ((f`|Z)/.z).(0.E,dy) )
      by Th45;

  A4: Z is open by A2,NDIFF_1:32;

  set PD1 = f `partial`1| Z;
  set PD2 = f `partial`2| Z;

  A5: dom PD1 = Z & dom PD2 = Z by A3,NDIFF_7:def 10,def 11;

  consider L10 be Lipschitzian LinearOperator of E,[:E,F:] such that
  A6: for dx be Point of E holds L10.dx = [dx,0.F] by Th46;

  consider L20 be Lipschitzian LinearOperator of F,[:E,F:] such that
  A7: for dy be Point of F holds L20.dy = [0.E,dy] by Th47;

  set BL1 = R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]);
  set BL2 = R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]);

  A8: dom(Z --> L10) = Z & rng(Z --> L10) c= {L10} by FUNCOP_1:13;

  L10 in the carrier of
    R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]) by LOPBAN_1:def 9;
  then {L10} c= the carrier of
    R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]) by ZFMISC_1:31;
  then A9: rng(Z --> L10) c= the carrier of
    R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]) by XBOOLE_1:1;

  reconsider L1 = Z --> L10 as PartFunc of [:E,F:],BL1 by A8,A9,RELSET_1:4;

  reconsider L100 = L10
    as Point of R_NormSpace_of_BoundedLinearOperators(E,[:E,F:])
    by LOPBAN_1:def 9;

  A10: L1 = Z --> L100;
  then A11: L1 is_differentiable_on i,Z by A4,Th50;
  A12: L1 is_differentiable_on i+1,Z by A4,A10,Th50;
  A13: diff(L1,i,Z) is_continuous_on Z by A12,NDIFF_1:45,NDIFF_6:14;
  A14: for z be Point of [:E,F:] st z in Z
       holds (f `partial`1| Z)/.z = (f`|Z)/.z * L1/.z
  proof
    let z be Point of [:E,F:];
    assume A15: z in Z;
    then
    A16: L1/.z
     = L1.z by A8,PARTFUN1:def 6
    .= L10 by A15,FUNCOP_1:7;

    reconsider H1 = (f`|Z)/.z
      as Lipschitzian LinearOperator of [:E,F:],G by LOPBAN_1:def 9;
    reconsider H2 = L1/.z
      as Lipschitzian LinearOperator of E,[:E,F:] by A16;

    A17: (f `partial`1| Z)/.z
      is Lipschitzian LinearOperator of E,G by LOPBAN_1:def 9;
    then A18: dom((f `partial`1| Z)/.z) = the carrier of E by FUNCT_2:def 1;
    A19: modetrans((f`|Z)/.z,[:E,F:],G) = H1 by LOPBAN_1:def 11;
    A20: dom(H1 * H2) = the carrier of E by FUNCT_2:def 1;

    for dx be object st dx in dom((f `partial`1| Z)/.z)
    holds ((f `partial`1| Z)/.z).dx = (H1 * H2).dx
    proof
      let dx0 be object;
      assume dx0 in dom((f `partial`1| Z)/.z);
      then reconsider dx = dx0 as Point of E by A17,FUNCT_2:def 1;
      A21: dom L10 = the carrier of E by FUNCT_2:def 1;

      thus ((f `partial`1| Z)/.z).dx0
       = ((f`|Z)/.z).(dx,0.F) by A2,A15,Th45
      .= ((f`|Z)/.z).[dx,0.F] by BINOP_1:def 1
      .= ((f`|Z)/.z).(L10.dx) by A6
      .= (H1 * H2).dx0 by A16,A21,FUNCT_1:13;
    end;
    then (f `partial`1| Z)/.z = H1 * H2 by A18,A20,FUNCT_1:2;
    hence (f `partial`1| Z)/.z = (f`|Z)/.z * L1/.z by A19,LOPBAN_1:def 11;
  end;

  A22: f`|Z is_differentiable_on i,Z
     & diff(f`|Z,i,Z) is_continuous_on Z by A1,Th37;

  consider B be Lipschitzian BilinearOperator of
      R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G),
      R_NormSpace_of_BoundedLinearOperators(E,G)
  such that
  A23: for u be Point of R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]),
           v be Point of R_NormSpace_of_BoundedLinearOperators([:E,F:],G)
       holds B.(u,v) = v*u by Th38;
  set w2 = <:L1, f`|Z:>;

  A24: dom w2
   = dom(f`|Z) /\ dom L1 by FUNCT_3:def 7
  .= Z /\ dom L1 by A2,NDIFF_1:def 9
  .= Z by A8;

  A25: rng w2 c= [:rng L1, rng(f`|Z):] by FUNCT_3:51;

  [:rng L1, rng(f`|Z):]
  c= [:the carrier of R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]),
       the carrier of R_NormSpace_of_BoundedLinearOperators([:E,F:],G):]
    by ZFMISC_1:96;

  then rng w2 c= the carrier of
    [:R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G):] by A25,XBOOLE_1:1;

  then reconsider w2 as PartFunc of [:E,F:],
    [:R_NormSpace_of_BoundedLinearOperators (E,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators ([:E,F:],G):] by A24,RELSET_1:4;

  reconsider W = B * w2
    as PartFunc of [:E,F:],R_NormSpace_of_BoundedLinearOperators(E,G);

  A26: W is_differentiable_on i,Z
     & diff(W,i,Z) is_continuous_on Z by A11,A13,A22,Th42;

  dom B = the carrier of
    [:R_NormSpace_of_BoundedLinearOperators(E,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G):] by FUNCT_2:def 1;

  then rng w2 c= dom B;
  then A27: dom W = Z by A24,RELAT_1:27;

  for x0 be object st x0 in dom(PD1) holds PD1.x0 = W.x0
  proof
    let x0 be object;
    assume A28: x0 in dom(PD1);
    then reconsider x = x0 as Point of [:E,F:];
    A29: PD1.x0
     = PD1/.x by A28,PARTFUN1:def 6
    .= (f`|Z)/.x * L1/.x by A5,A14,A28
    .= B.(L1/.x, (f`|Z)/.x) by A23
    .= B.[L1/.x, (f`|Z)/.x] by BINOP_1:def 1;

    A30: dom(f`|Z ) = Z by A2,NDIFF_1:def 9;
    A31: dom(<:L1,f`|Z:>)
     = dom(L1) /\ dom(f`| Z) by FUNCT_3:def 7
    .= Z by A8,A30;

    [L1/.x, (f`|Z)/.x]
     = [L1.x, (f`|Z)/.x] by A5,A8,A28,PARTFUN1:def 6
    .= [L1.x, (f`|Z).x] by A5,A28,A30,PARTFUN1:def 6
    .= w2.x by A5,A28,A31,FUNCT_3:def 7;
    hence PD1.x0 = W.x0 by A5,A28,A29,A31,FUNCT_1:13;
  end;
  hence PD1 is_differentiable_on i,Z
      & diff(PD1,i,Z) is_continuous_on Z by A5,A26,A27,FUNCT_1:2;

  A32: dom(Z --> L20) = Z
     & rng(Z --> L20) c= {L20} by FUNCOP_1:13;

  L20 in the carrier of
    R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]) by LOPBAN_1:def 9;
  then {L20} c= the carrier of
    R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]) by ZFMISC_1:31;
  then A33: rng(Z --> L20) c= the carrier of
    R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]) by XBOOLE_1:1;

  reconsider L2 = Z --> L20 as PartFunc of [:E,F:],BL2 by A32,A33,RELSET_1:4;

  reconsider L100 = L20
    as Point of R_NormSpace_of_BoundedLinearOperators(F,[:E,F:])
    by LOPBAN_1:def 9;

  A34: L2 = Z --> L100;
  then A35: L2 is_differentiable_on i,Z by A4,Th50;

  L2 is_differentiable_on i+1,Z by A4,A34,Th50;
  then A36: diff(L2,i,Z) is_continuous_on Z by NDIFF_1:45,NDIFF_6:14;
  A37: dom(Z --> L20) = Z & rng(Z --> L20) c= {L20} by FUNCOP_1:13;

  A38: for z be Point of [:E,F:] st z in Z
       holds (f `partial`2| Z)/.z = (f`|Z)/.z * L2/.z
  proof
    let z be Point of [:E,F:];
    assume A39: z in Z;
    then
    A40: L2/.z
     = L2.z by A37,PARTFUN1:def 6
    .= L20 by A39,FUNCOP_1:7;

    reconsider H1 = (f`|Z)/.z
      as Lipschitzian LinearOperator of [:E,F:],G by LOPBAN_1:def 9;
    reconsider H2 = L2/.z
      as Lipschitzian LinearOperator of F,[:E,F:] by A40;

    A41: (f `partial`2| Z)/.z
      is Lipschitzian LinearOperator of F,G by LOPBAN_1:def 9;
    then A42: dom((f `partial`2| Z)/.z) = the carrier of F by FUNCT_2:def 1;
    A43: modetrans(L2/.z,F,[:E,F:]) = H2 by LOPBAN_1:def 11;
    A44: dom(H1 * H2) = the carrier of F by FUNCT_2:def 1;

    for dx be object st dx in dom((f `partial`2| Z)/.z)
    holds ((f `partial`2| Z)/.z).dx = (H1 * H2).dx
    proof
      let dx0 be object;
      assume dx0 in dom((f `partial`2| Z)/.z);
      then reconsider dx = dx0 as Point of F by A41,FUNCT_2:def 1;
      A45: dom L20 = the carrier of F by FUNCT_2:def 1;

      thus (( f `partial`2| Z )/.z).dx0
       = ((f`|Z)/.z).(0.E,dx) by A2,A39,Th45
      .= ((f`|Z)/.z).[0.E,dx] by BINOP_1:def 1
      .= ((f`|Z)/.z).(L20.dx) by A7
      .= (H1* H2).dx0 by A40,A45,FUNCT_1:13;
    end;
    then (f `partial`2| Z)/.z = H1 * H2 by A42,A44,FUNCT_1:2;
    hence (f `partial`2| Z)/.z = (f`|Z)/.z * L2/.z by A43,LOPBAN_1:def 11;
  end;

  A46: f`|Z is_differentiable_on i,Z
     & diff(f`|Z,i,Z) is_continuous_on Z by A1,Th37;

  consider B be Lipschitzian BilinearOperator of
      R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G),
      R_NormSpace_of_BoundedLinearOperators(F,G) such that
  A47: for u be Point of R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]),
           v be Point of R_NormSpace_of_BoundedLinearOperators([:E,F:],G)
       holds B.(u,v) = v*u by Th38;

  set w2 = <:L2, f`|Z:>;

  A48:dom w2
   = dom(f`|Z) /\ dom L2 by FUNCT_3:def 7
  .= Z /\ dom L2 by A2,NDIFF_1:def 9
  .= Z by A37;

  A49: rng w2 c= [:rng L2, rng(f`|Z):] by FUNCT_3:51;

  [:rng L2, rng(f`|Z):]
  c= [:the carrier of R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]),
       the carrier of R_NormSpace_of_BoundedLinearOperators([:E,F:],G):]
      by ZFMISC_1:96;
  then rng w2 c= the carrier of
    [:R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G):]
      by A49,XBOOLE_1:1;
  then reconsider w2 as PartFunc of [:E,F:],
      [:R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]),
        R_NormSpace_of_BoundedLinearOperators([:E,F:],G):]
        by A48,RELSET_1:4;

  reconsider W = B * w2
    as PartFunc of [:E,F:],R_NormSpace_of_BoundedLinearOperators(F,G);

  A50: W is_differentiable_on i, Z
     & diff(W,i,Z) is_continuous_on Z by A35,A36,A46,Th42;

  dom B = the carrier of
    [:R_NormSpace_of_BoundedLinearOperators(F,[:E,F:]),
      R_NormSpace_of_BoundedLinearOperators([:E,F:],G):] by FUNCT_2:def 1;
  then rng w2 c= dom B;
  then A51: dom W = Z by A48,RELAT_1:27;

  for x0 be object st x0 in dom(PD2) holds PD2.x0 = W.x0
  proof
    let x0 be object;
    assume A52: x0 in dom (PD2);
    then reconsider x = x0 as Point of [:E,F:];
    A53: PD2.x0
     = PD2/.x by A52,PARTFUN1:def 6
    .= (f`|Z)/.x * L2/.x by A5,A38,A52
    .= B.(L2/.x, (f`|Z)/.x) by A47
    .= B.[L2/.x, (f`|Z)/.x] by BINOP_1:def 1;

    A54: dom(f`|Z) = Z by A2,NDIFF_1:def 9;

    A55: dom(<:L2, f`|Z:>)
     = dom(L2) /\ dom(f`|Z) by FUNCT_3:def 7
    .= Z by A37,A54;

    [L2/.x,(f`|Z)/.x]
     = [L2.x,(f`|Z)/.x] by A5,A37,A52,PARTFUN1:def 6
    .= [L2.x,(f`|Z).x] by A5,A52,A54,PARTFUN1:def 6
    .= w2.x by A5,A52,A55,FUNCT_3:def 7;
    hence PD2.x0 = W.x0 by A5,A52,A53,A55,FUNCT_1:13;
  end;
  hence PD2 is_differentiable_on i,Z
      & diff(PD2,i,Z) is_continuous_on Z by A5,A50,A51,FUNCT_1:2;
end;

theorem Th54:
  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:],
      x be Point of S
   st w = <:u,v:>
    & u is_differentiable_in x
    & v is_differentiable_in x
  holds
    w is_differentiable_in x
  & diff(w,x) = <:diff(u,x), diff(v,x):>
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:],
      x0 be Point of S;
  assume
  A1: w = <:u,v:>
    & u is_differentiable_in x0
    & v is_differentiable_in x0;

  consider Nu be Neighbourhood of x0 such that
  A2: Nu c= dom u
    & ex Ru be RestFunc of S,E
      st for x be Point of S st x in Nu
         holds u/.x - u/.x0 = diff(u,x0).(x - x0) + Ru/.(x - x0)
      by A1, NDIFF_1:def 7;

  consider Ru be RestFunc of S,E such that
  A3: for x be Point of S st x in Nu
      holds u/.x - u/.x0 = diff(u,x0).(x - x0) + Ru/.(x - x0) by A2;

  consider Nv be Neighbourhood of x0 such that
  A4: Nv c= dom v
    & ex Rv be RestFunc of S,F
      st for x be Point of S st x in Nv
         holds v/.x - v/.x0 = diff(v,x0).(x - x0) + Rv/.(x - x0)
      by A1, NDIFF_1:def 7;

  consider Rv be RestFunc of S,F such that
  A5: for x be Point of S st x in Nv
      holds v/.x - v/.x0 = diff(v,x0).(x - x0) + Rv/.(x - x0) by A4;

  consider N be Neighbourhood of x0 such that
  A6: N c= Nu and
  A7: N c= Nv by NDIFF_1:1;

  reconsider L1 = diff(u,x0)
    as Lipschitzian LinearOperator of S,E by LOPBAN_1:def 9;
  reconsider L2 = diff(v,x0)
    as Lipschitzian LinearOperator of S,F by LOPBAN_1:def 9;

  set L = <:diff(u,x0), diff(v,x0):>;
  A8: dom L
   = dom L1 /\ dom L2 by FUNCT_3:def 7
  .= (the carrier of S) /\ dom L2 by FUNCT_2:def 1
  .= (the carrier of S) /\ (the carrier of S) by FUNCT_2:def 1
  .= the carrier of S;

  A9: rng L c= [:rng L1, rng L2:] by FUNCT_3:51;
  [:rng L1,rng L2:] c= the carrier of [:E,F:] by ZFMISC_1:96;

  then reconsider L as Function of S,[:E,F:] by A8,A9,FUNCT_2:2,XBOOLE_1:1;
  A10: L1 is additive & L2 is additive;

  for x, y be Element of S holds L.(x + y) = L.x + L.y
  proof
    let x, y be Element of S;
    A11: L.x = [L1.x, L2.x] by A8,FUNCT_3:def 7;
    A12: L.y = [L1.y, L2.y] by A8,FUNCT_3:def 7;
    thus L.(x + y)
     = [L1.(x + y), L2.(x + y)] by A8,FUNCT_3:def 7
    .= [L1.x + L1.y, L2.(x + y)] by A10
    .= [L1.x + L1.y, L2.x + L2.y] by A10
    .= L.x + L.y by A11,A12,PRVECT_3:18;
  end;
  then A13: L is additive;

  for x be VECTOR of S, a be Real holds L.(a*x) = a * L.x
  proof
    let x be VECTOR of S, a be Real;
    A14: L.x = [L1.x, L2.x] by A8,FUNCT_3:def 7;
    thus L.(a*x)
     = [L1.(a*x), L2.(a*x)] by A8,FUNCT_3:def 7
    .= [a * L1.x, L2.(a*x)] by LOPBAN_1:def 5
    .= [a * L1.x, a * L2.x] by LOPBAN_1:def 5
    .= a * L.x by A14,PRVECT_3:18;
  end;
  then reconsider L as LinearOperator of S,[:E,F:] by A13,LOPBAN_1:def 5;

  set K = ||.diff(u,x0).|| + ||.diff(v,x0).||;
  0 <= ||.diff(u,x0).|| & 0 <= ||.diff(v,x0).|| by NORMSP_1:4;
  then A15: 0 + 0 <= K by XREAL_1:7;

  for x be VECTOR of S holds ||.L.x.|| <= K * ||.x.||
  proof
    let x be VECTOR of S;
    L.x = [L1.x, L2.x] by A8,FUNCT_3:def 7;
    then A16: ||.L.x.|| <= ||.L1.x.|| + ||.L2.x.|| by Th17;
    A17: ||.L1.x.|| <= ||.diff(u,x0).|| * ||.x.|| by LOPBAN_1:32;
    ||.L2.x.|| <= ||.diff(v,x0).|| * ||.x.|| by LOPBAN_1:32;
    then ||.L1.x.|| + ||.L2.x.||
    <= ||.diff(u,x0).|| * ||.x.||
     + ||.diff(v,x0).|| * ||.x.|| by A17,XREAL_1:7;
    hence ||.L.x.|| <= K * ||.x.|| by A16,XXREAL_0:2;
  end;
  then L is Lipschitzian by A15,LOPBAN_1:def 8;
  then reconsider L
    as Point of R_NormSpace_of_BoundedLinearOperators(S,[:E,F:])
    by LOPBAN_1:def 9;

  set R = <:Ru,Rv:>;

  Ru is total by NDIFF_1:def 5;
  then A18: dom Ru = the carrier of S by PARTFUN1:def 2;
  Rv is total by NDIFF_1:def 5;
  then A19: dom Rv = the carrier of S by PARTFUN1:def 2;
  A20: dom R
   = (dom Ru) /\ (dom Rv) by FUNCT_3:def 7
  .= the carrier of S by A18,A19;

  A21: rng R c= [:rng Ru, rng Rv:] by FUNCT_3:51;
  [:rng Ru,rng Rv:] c= [:[#]E,[#]F:] by ZFMISC_1:96;
  then rng R c= the carrier of [:E,F:] by A21,XBOOLE_1:1;
  then reconsider R as PartFunc of S,[:E,F:] by A20,RELSET_1:4;

  A22: R is total by A20,PARTFUN1:def 2;
  A23: for dx be Point of S holds R/.dx = [Ru/.dx, Rv/.dx]
  proof
    let dx be Point of S;
    thus R/.dx
     = R.dx by A20,PARTFUN1:def 6
    .= [Ru.dx,Rv.dx] by A20,FUNCT_3:def 7
    .= [Ru/.dx,Rv.dx] by A18,PARTFUN1:def 6
    .= [Ru/.dx,Rv/.dx] by A19,PARTFUN1:def 6;
  end;

  for r be Real st r > 0
  holds
    ex d be Real
    st d > 0
     & for z be Point of S st z <> 0.S & ||.z.|| < d
       holds ||.z.||" * ||.R/.z.|| < r
  proof
    let r0 be Real;
    assume A24: r0 > 0;
    set r = r0/2;
    A25: 0 < r & r < r0 by A24,XREAL_1:215,216;

    Ru is RestFunc-like;
    then consider d1 be Real such that
    A26: d1 > 0
       & for z be Point of S st z <> 0.S & ||.z.|| < d1
         holds ||.z.||" * ||.Ru/.z.|| < r by A25,NDIFF_1:23;

    Rv is RestFunc-like;
    then consider d2 be Real such that
    A27: d2 > 0
       & for z be Point of S st z <> 0.S & ||.z.|| < d2
         holds ||.z.||" * ||.Rv/.z.|| < r by A25,NDIFF_1:23;

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

    let z be Point of S;
    assume A28: z <> 0.S & ||.z.|| < d;

    d <= d1 by XXREAL_0:17;
    then ||.z.|| < d1 by A28,XXREAL_0:2;
    then A29: ||.z.||" * ||.Ru/.z.|| < r by A26,A28;

    d <= d2 by XXREAL_0:17;
    then ||.z.|| < d2 by A28,XXREAL_0:2;
    then A30: ||.z.||" * ||.Rv/.z.|| < r by A27,A28;

    A31: R/.z = [Ru/.z, Rv/.z] by A23;
    0 <= ||.z.|| by NORMSP_1:4;
    then 0 < ||.z.|| by A28,XXREAL_0:1,NORMSP_0:def 5;
    then 0 < ||.z.||" by XREAL_1:122;
    then A32: ||.z.||" * ||.R/.z.||
           <= ||.z.||" * (||.Ru/.z.|| + ||.Rv/.z.||) by A31,Th17,XREAL_1:64;

    ||.z.||" * ||.Ru/.z.|| + ||.z.||" * ||.Rv/.z.|| < r + r
      by A29,A30,XREAL_1:8;
    hence ||.z.||" * ||.R/.z.|| < r0 by A32,XXREAL_0:2;
  end;
  then reconsider R as RestFunc of S,[:E,F:] by A22,NDIFF_1:23;

  A33: dom w = (dom u) /\ (dom v) by A1,FUNCT_3:def 7;
  A34: N c= dom u by A2,A6,XBOOLE_1:1;
  A35: N c= dom v by A4,A7,XBOOLE_1:1;
  A36: N c= dom w by A33,A34,A35,XBOOLE_1:19;
  A37: for x be Point of S st x in N
       holds w/.x - w/.x0 = L.(x - x0) + R/.(x - x0)
  proof
    let x be Point of S;
    assume A38: x in N;
    A39: x0 in N by NFCONT_1:4;
    R is total by NDIFF_1:def 5;
    then A40: dom R = the carrier of S by PARTFUN1:def 2;

    Ru is total by NDIFF_1:def 5;
    then A41: dom Ru = the carrier of S by PARTFUN1:def 2;
    Rv is total by NDIFF_1:def 5;
    then A42: dom Rv = the carrier of S by PARTFUN1:def 2;

    A43: w/.x
     = w.x by A36,A38,PARTFUN1:def 6
    .= [u.x,v.x] by A1,A38,A36,FUNCT_3:def 7
    .= [u/.x,v.x] by A34,A38,PARTFUN1:def 6
    .= [u/.x,v/.x] by A35,A38,PARTFUN1:def 6;

    (w /. x0)
     = w.x0 by A36,A39,PARTFUN1:def 6
    .= [u.x0,v.x0] by A1,A36,A39,FUNCT_3:def 7
    .= [u/.x0,v.x0] by A34,A39,PARTFUN1:def 6
    .= [u/.x0,v/.x0] by A35,A39,PARTFUN1:def 6;
    then A44: -w/.x0 = [-u/.x0, -v/.x0] by PRVECT_3:18;

    A45: w/.x - w/.x0 = [u/.x - u/.x0, v/.x - v/.x0] by A43,A44,PRVECT_3:18;
    A46: u/.x - u/.x0 = diff(u,x0).(x - x0) + Ru/.(x - x0) by A3,A6,A38;
    A47: v/.x - v/.x0 = diff(v,x0).(x - x0) + Rv/.(x - x0) by A5,A7,A38;

    A48: R/.(x - x0)
     = R.(x - x0) by A40,PARTFUN1:def 6
    .= [Ru.(x - x0), Rv.(x - x0)] by A40,FUNCT_3:def 7
    .= [Ru/.(x - x0), Rv.(x - x0)] by A41,PARTFUN1:def 6
    .= [Ru/.(x - x0), Rv/.(x - x0) ] by A42,PARTFUN1:def 6;
    A49: L.(x - x0) = [diff(u,x0).(x - x0), diff(v,x0).(x - x0)]
      by FUNCT_3:def 7,A8;
    thus w/.x - w/.x0 = L.(x - x0) + R/.(x - x0)
      by A45,A46,A47,A48,A49,PRVECT_3:18;
  end;
  hence w is_differentiable_in x0 by A33,A34,A35,XBOOLE_1:19;
  hence diff(w,x0) = <:diff(u,x0), diff(v,x0):> by A36,A37,NDIFF_1:def 7;
end;

theorem Th55:
  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
   st w = <:u,v:>
    & u is_differentiable_on Z
    & v is_differentiable_on Z
  holds
    w is_differentiable_on Z
  & for x be Point of S st x in Z
    holds (w`|Z)/.x = <:(u`|Z)/.x, (v`|Z)/.x:>
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;

  assume
  A1: w = <:u,v:>
    & u is_differentiable_on Z
    & v is_differentiable_on Z;

  A2: Z is open by A1,NDIFF_1:32;

  dom w = (dom u) /\ (dom v) by A1,FUNCT_3:def 7;
  then A3: Z c= dom w by A1,XBOOLE_1:19;

  A4: for x be Point of S st x in Z
      holds w is_differentiable_in x
          & diff(w,x) = <:diff(u,x), diff(v,x):>
  proof
    let x be Point of S;
    assume
    A5: x in Z;
    then
    A6: u is_differentiable_in x by A1,A2,NDIFF_1:31;
    A7: v is_differentiable_in x by A1,A2,A5,NDIFF_1:31;
    thus w is_differentiable_in x
       & diff(w,x) = <:diff(u,x),diff(v,x):> by A1,A6,A7,Th54;
  end;
  then for x be Point of S st x in Z holds w is_differentiable_in x;

  hence A8: w is_differentiable_on Z by A2,A3,NDIFF_1:31;

  thus
  for x be Point of S st x in Z
  holds (w`|Z)/.x = <:(u`|Z)/.x, (v`|Z)/.x:>
  proof
    let x be Point of S;
    assume A9: x in Z;
    thus (w`|Z)/.x
     = diff(w,x) by A8,A9,NDIFF_1:def 9
    .= <:diff(u,x), diff(v,x):> by A4,A9
    .= <:(u`|Z)/.x, diff(v,x):> by A1,A9,NDIFF_1:def 9
    .= <:(u`|Z)/.x, (v`|Z)/.x :> by A1,A9,NDIFF_1:def 9;
  end;
end;

definition
  let S,E,F be RealNormSpace;
  func CTP(S,E,F) -> Lipschitzian LinearOperator
        of [:R_NormSpace_of_BoundedLinearOperators(S,E),
             R_NormSpace_of_BoundedLinearOperators(S,F):],
           R_NormSpace_of_BoundedLinearOperators(S,[:E,F:])
  means
 :Def3:
  for f be Lipschitzian LinearOperator of S,E,
      g be Lipschitzian LinearOperator of S,F
  holds it.(f,g) = <:f,g:>;
  existence
  proof
    set SE = R_NormSpace_of_BoundedLinearOperators(S,E);
    set SF = R_NormSpace_of_BoundedLinearOperators(S,F);
    set SEF = R_NormSpace_of_BoundedLinearOperators(S,[:E,F:]);

    defpred P1[Element of SE, Element of SF, object] means
    ex f be Lipschitzian LinearOperator of S,E,
       g be Lipschitzian LinearOperator of S,F
    st $1 = f & $2 = g & $3 = <:f,g:>;

    A1: for x be Element of [#]SE
        for y be Element of [#]SF
        ex z be Element of [#]SEF st P1[x,y,z]
    proof
      let x be Element of [#]SE;
      let y be Element of [#]SF;

      reconsider L1 = x as Lipschitzian LinearOperator of S,E
        by LOPBAN_1:def 9;
      reconsider L2 = y as Lipschitzian LinearOperator of S,F
        by LOPBAN_1:def 9;

      set L = <:L1,L2:>;

      A2: dom L
       = dom L1 /\ dom L2 by FUNCT_3:def 7
      .= (the carrier of S) /\ dom L2 by FUNCT_2:def 1
      .= (the carrier of S) /\ (the carrier of S) by FUNCT_2:def 1
      .= the carrier of S;

      reconsider L as Function of S, [:E,F:];
      A3: L1 is additive & L2 is additive;

      for x, y be Element of S holds L.(x + y) = L.x + L.y
      proof
        let x, y be Element of S;
        A4: L.x = [L1.x, L2.x] by A2,FUNCT_3:def 7;
        A5: L.y = [L1.y, L2.y] by A2,FUNCT_3:def 7;

        thus L.(x + y)
         = [L1.(x + y), L2.(x + y)] by A2,FUNCT_3:def 7
        .= [L1.x + L1.y, L2.(x + y)] by A3
        .= [L1.x + L1.y, L2.x + L2.y] by A3
        .= L.x + L.y by A4,A5,PRVECT_3:18;
      end;
      then A6: L is additive;

      for x be VECTOR of S, a be Real holds L.(a * x) = a * L.x
      proof
        let x be VECTOR of S, a be Real;
        A7: L.x = [L1.x, L2.x] by A2,FUNCT_3:def 7;
        thus L.(a * x)
         = [L1.(a * x), L2.(a * x)] by A2,FUNCT_3:def 7
        .= [a * L1.x, L2.(a * x)] by LOPBAN_1:def 5
        .= [a * L1.x, a * L2.x] by LOPBAN_1:def 5
        .= a * L.x by A7,PRVECT_3:18;
      end;
      then reconsider L as LinearOperator of S, [:E,F:] by A6,LOPBAN_1:def 5;

      reconsider PL1 = L1 as Point of SE;
      reconsider PL2 = L2 as Point of SF;
      set K = ||.PL1.|| + ||.PL2.||;
      0 <= ||.PL1.|| & 0 <= ||.PL2.|| by NORMSP_1:4;
      then A8: 0 + 0 <= K by XREAL_1:7;

      for x be VECTOR of S holds ||.L.x.|| <= K * ||.x.||
      proof
        let x be VECTOR of S;
        L.x = [L1.x, L2.x] by FUNCT_3:def 7,A2;
        then A9: ||.L.x.|| <= ||.L1.x.|| + ||.L2.x.|| by Th17;
        A10: ||.L1.x.|| <= ||.PL1.|| * ||.x.|| by LOPBAN_1:32;
        ||.L2.x.|| <= ||.PL2.|| * ||.x.|| by LOPBAN_1:32;
        then ||.L1.x.|| + ||.L2.x.|| <= ||.PL1.|| * ||.x.||
                                      + ||.PL2.|| * ||.x.|| by A10,XREAL_1:7;
        hence ||.L.x.|| <= K * ||.x.|| by A9,XXREAL_0:2;
      end;

      then L is Lipschitzian by A8,LOPBAN_1:def 8;
      then reconsider L as Element of [#]SEF by LOPBAN_1:def 9;

      take L;
      thus P1[x,y,L];
    end;

    consider G be Function of [:[#]SE,[#]SF:],[#]SEF
    such that
    A11: for x be Element of [#]SE
         for y be Element of [#]SF
         holds P1[x,y,G.(x,y)] from BINOP_1:sch 3(A1);

    reconsider G as Function of [:SE,SF:],SEF;
    A12: for f be Lipschitzian LinearOperator of S,E,
             g be Lipschitzian LinearOperator of S,F
         holds G.(f,g) = <:f,g:>
    proof
      let f be Lipschitzian LinearOperator of S,E,
          g be Lipschitzian LinearOperator of S,F;
      A13: f in [#]SE by LOPBAN_1:def 9;
      A14: g in [#]SF by LOPBAN_1:def 9;
      ex f1 be Lipschitzian LinearOperator of S,E,
         g1 be Lipschitzian LinearOperator of S,F
      st f = f1 & g = g1 & G.(f,g) = <:f1,g1:> by A11,A13,A14;
      hence thesis;
    end;

    for x, y be Element of [:SE,SF:] holds G.(x + y) = G.x + G.y
    proof
      let x, y be Element of [:SE,SF:];
      consider fx be Point of SE,gx be Point of SF such that
      A15: x = [fx,gx] by PRVECT_3:18;
      consider fy be Point of SE,gy be Point of SF such that
      A16: y = [fy,gy] by PRVECT_3:18;

      reconsider lfx = fx, lfy = fy
        as Lipschitzian LinearOperator of S,E by LOPBAN_1:def 9;
      reconsider lgx = gx, lgy = gy
        as Lipschitzian LinearOperator of S,F by LOPBAN_1:def 9;

      A17: G.x
       = G.(lfx,lgx) by A15,BINOP_1:def 1
      .= <:lfx,lgx:> by A12;

      A18: G.y
       = G.(lfy,lgy) by A16,BINOP_1:def 1
      .= <:lfy,lgy:> by A12;

      A19: fx + fy = lfx + lfy by Th11;
      A20: gx + gy = lgx + lgy by Th11;
      A21: lfx + lfy is Lipschitzian LinearOperator of S,E
          by A19,LOPBAN_1:def 9;

      A22: lgx + lgy is Lipschitzian LinearOperator of S,F
          by A20,LOPBAN_1:def 9;

      A23: G.(x + y)
       = G.[fx + fy, gx + gy] by A15,A16,PRVECT_3:18
      .= G.(fx + fy, gx + gy) by BINOP_1:def 1
      .= G.(lfx +lfy, lgx + lgy) by A20,Th11
      .= <:lfx + lfy, lgx + lgy:> by A12,A21,A22;

      for s be VECTOR of S holds (G.(x + y)).s = (G.x).s + (G.y).s
      proof
        let s be VECTOR of S;
        G.(x + y) is Lipschitzian LinearOperator of S,[:E,F:]
          by LOPBAN_1:def 9;
        then dom(G.(x + y)) = [#]S by FUNCT_2:def 1;
        then
        A24: (G.(x+y)).s
         = [(lfx + lfy).s, (lgx + lgy).s] by A23,FUNCT_3:def 7
        .= [(fx + fy).s, (gx + gy).s] by A20,Th11
        .= [fx.s + fy.s, (gx + gy).s] by LOPBAN_1:35
        .= [fx.s + fy.s, gx.s + gy.s] by LOPBAN_1:35;

        G.x is Lipschitzian LinearOperator of S,[:E,F:] by LOPBAN_1:def 9;
        then dom(G.x) = [#]S by FUNCT_2:def 1;
        then A25: (G.x).s = [fx.s, gx.s] by A17,FUNCT_3:def 7;

        G.y is Lipschitzian LinearOperator of S,[:E,F:] by LOPBAN_1:def 9;
        then dom(G.y) = [#]S by FUNCT_2:def 1;
        then (G.y).s = [fy.s, gy.s] by A18,FUNCT_3:def 7;
        hence G.(x + y).s = (G.x).s + (G.y).s by A24,A25,PRVECT_3:18;
      end;
      hence G.(x + y) = G.x + G.y by LOPBAN_1:35;
    end;
    then A26: G is additive;

    for x be VECTOR of [:SE,SF:], a be Real holds G.(a * x) = a * G.x
    proof
      let x be VECTOR of [:SE,SF:],
          a be Real;
      consider fx be Point of SE,gx be Point of SF
      such that
      A27: x = [fx,gx] by PRVECT_3:18;

      A28: a * x =[a * fx, a * gx] by A27,PRVECT_3:18;

      reconsider lfx = fx as Lipschitzian LinearOperator of S,E
        by LOPBAN_1:def 9;
      reconsider lgx = gx as Lipschitzian LinearOperator of S,F
        by LOPBAN_1:def 9;

      A29: a * fx =a(#)lfx by LOPBAN13:30;
      A30: a * gx =a(#)lgx by LOPBAN13:30;

      A31: G.x
       = G.(fx, gx) by A27,BINOP_1:def 1
      .= <:lfx, lgx:> by A12;

      A32: a(#)lfx is Lipschitzian LinearOperator of S,E
        by A29,LOPBAN_1:def 9;
      A33: a(#)lgx is Lipschitzian LinearOperator of S,F
        by A30,LOPBAN_1:def 9;

      A34: G.(a * x)
       = G.(a * fx, a * gx) by A28,BINOP_1:def 1
      .= <:a(#)lfx, a(#)lgx:> by A12,A29,A30,A32,A33;

      for s be VECTOR of S holds (G.(a * x)).s = a * ((G.x).s)
      proof
        let s be VECTOR of S;
        G.(a * x) is Lipschitzian LinearOperator of S,[:E,F:]
          by LOPBAN_1:def 9;
        then dom(G.(a * x)) = [#]S by FUNCT_2:def 1;
        then
        A35: (G.(a * x)).s
         = [(a(#)lfx).s, (a(#)lgx).s] by A34,FUNCT_3:def 7
        .= [(a * fx).s, (a * gx).s] by A30,LOPBAN13:30
        .= [a * fx.s, (a * gx).s] by LOPBAN_1:36
        .= [a * fx.s, a * gx.s] by LOPBAN_1:36;

        G.x is Lipschitzian LinearOperator of S,[:E,F:] by LOPBAN_1:def 9;
        then dom(G.x) = [#]S by FUNCT_2:def 1;
        then A36: (G.x).s = [fx.s, gx.s] by A31,FUNCT_3:def 7;
        thus (G.(a * x)).s = a * (G.x).s by A35,A36,PRVECT_3:18;
      end;
      hence G.(a * x) = a * (G.x) by LOPBAN_1:36;
    end;
    then reconsider G as LinearOperator of [:SE,SF:],SEF by A26,LOPBAN_1:def 5;

    set K = 2;
    for x be VECTOR of [:SE,SF:] holds ||.G.x.|| <= K * ||.x.||
    proof
      let x be VECTOR of [:SE,SF:];
      consider fx be Point of SE, gx be Point of SF such that
      A37: x = [fx, gx] by PRVECT_3:18;
      A38: ||.fx.|| <= ||.x.|| & ||.gx.|| <= ||.x.|| by A37,NDIFF_8:21;

      reconsider lfx = fx as Lipschitzian LinearOperator of S,E
        by LOPBAN_1:def 9;
      reconsider lgx = gx as Lipschitzian LinearOperator of S,F
        by LOPBAN_1:def 9;

      A39: G.x
       = G.(fx, gx) by A37,BINOP_1:def 1
      .= <:lfx, lgx:> by A12;

      A40: for s be VECTOR of S
           holds ||.(G.x).s.|| <= (||.fx.|| + ||.gx.||) * ||.s.||
      proof
        let s be VECTOR of S;
        G.x is Lipschitzian LinearOperator of S,[:E,F:] by LOPBAN_1:def 9;
        then dom(G.x) = [#]S by FUNCT_2:def 1;
        then (G.x).s = [lfx.s, lgx.s] by A39,FUNCT_3:def 7;
        then A41: ||.(G.x).s.|| <= ||.lfx.s.|| + ||.lgx.s.|| by Th17;
        A42: ||.lfx.s.|| <= ||.fx.|| * ||.s.|| by LOPBAN_1:32;
        ||.lgx.s.|| <= ||.gx.|| * ||.s.|| by LOPBAN_1:32;
        then ||.lfx.s.|| + ||.lgx.s.||
          <= ||.fx.|| * ||.s.|| + ||.gx.|| * ||.s.|| by A42,XREAL_1:7;
        hence ||.(G.x).s.|| <= (||.fx.|| + ||.gx.||) * ||.s.||
          by A41,XXREAL_0:2;
      end;

      reconsider h1 = G.x as Lipschitzian LinearOperator of S,[:E,F:]
        by LOPBAN_1:def 9;

      A43: now
        let r be Real;
        assume r in PreNorms h1;
        then consider t be VECTOR of S such that
        A44: r = ||.h1.t.|| & ||.t.|| <= 1;
        A45: ||.h1.t.|| <= (||.fx.|| + ||.gx.||) * ||.t.|| by A40;
        0 <= ||.fx.|| & 0 <= ||.gx.|| by NORMSP_1:4;
        then 0 + 0 <= ||.fx.|| + ||.gx.|| by XREAL_1:7;
        then (||.fx.|| + ||.gx.||) * ||.t.||
          <= (||.fx.|| + ||.gx.||) * 1 by A44,XREAL_1:64;
        hence r <= ||.fx.|| + ||.gx.|| by A44,A45,XXREAL_0:2;
      end;

      (BoundedLinearOperatorsNorm(S,[:E,F:])).(G.x)
        = upper_bound(PreNorms h1) by LOPBAN_1:30;
      then A46: ||.G.x.|| <= ||.fx.|| + ||.gx.|| by A43,SEQ_4:45;
      ||.fx.|| + ||.gx.|| <= ||.x.||+||.x.|| by A38,XREAL_1:7;
      hence ||.G.x.|| <= K * ||.x.|| by A46,XXREAL_0:2;
    end;
    then reconsider G as Lipschitzian LinearOperator of [:SE,SF:],SEF
      by LOPBAN_1:def 8;
    take G;
    thus thesis by A12;
  end;
  uniqueness
  proof
    let L1,L2 be Lipschitzian LinearOperator
      of [:R_NormSpace_of_BoundedLinearOperators(S,E),
           R_NormSpace_of_BoundedLinearOperators(S,F):],
        R_NormSpace_of_BoundedLinearOperators(S,[:E,F:]);

    set SE = R_NormSpace_of_BoundedLinearOperators(S,E);
    set SF = R_NormSpace_of_BoundedLinearOperators(S,F);
    set SEF = R_NormSpace_of_BoundedLinearOperators(S,[:E,F:]);

    assume
    A47: for f be Lipschitzian LinearOperator of S,E,
             g be Lipschitzian LinearOperator of S,F
         holds L1.(f,g) = <:f,g:>;
    assume
    A48: for f be Lipschitzian LinearOperator of S,E,
             g be Lipschitzian LinearOperator of S,F
         holds L2.(f,g) = <:f,g:>;

    reconsider LL1 = L1 as Function of [:[#]SE,[#]SF:],[#]SEF;
    reconsider LL2 = L2 as Function of [:[#]SE,[#]SF:],[#]SEF;

    for a be Element of [#]SE
    for b be Element of [#]SF
    holds LL1.(a,b) = LL2.(a,b)
    proof
      let a be Element of [#]SE;
      let b be Element of [#]SF;
      reconsider a1 = a as Lipschitzian LinearOperator of S,E
        by LOPBAN_1:def 9;
      reconsider b1 = b as Lipschitzian LinearOperator of S,F
        by LOPBAN_1:def 9;

      thus LL1.(a,b)
       = <:a1,b1:> by A47
      .= LL2.(a,b) by A48;
    end;
    hence thesis by BINOP_1:2;
  end;
end;

theorem Th56:
  for S,E,F be RealNormSpace,
      i be Nat
  holds
  CTP(S,diff_SP(i,S,E),diff_SP(i,S,F)) is Lipschitzian LinearOperator of
    [:diff_SP(i+1,S,E),diff_SP(i+1,S,F):],
    R_NormSpace_of_BoundedLinearOperators(S,[:diff_SP(i,S,E),diff_SP(i,S,F):])
proof
  let S,E,F be RealNormSpace,
      i be Nat;

  set E1 = diff_SP(i,S,E);
  set F1 = diff_SP(i,S,F);

  A1: R_NormSpace_of_BoundedLinearOperators(S,E1)
    = diff_SP(i+1,S,E) by NDIFF_6:10;

  R_NormSpace_of_BoundedLinearOperators(S,F1)
    = diff_SP(i+1,S,F) by NDIFF_6:10;
  hence thesis by A1;
end;

theorem Th57:
  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
   st w = <:u,v:>
    & u is_differentiable_on Z
    & v is_differentiable_on Z
  holds
    w is_differentiable_on Z
  & w`|Z = CTP(S,diff_SP(0,S,E),diff_SP(0,S,F)) * <:u`|Z, v`|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;
  assume
  A1: w = <:u,v:>
    & u is_differentiable_on Z
    & v is_differentiable_on Z;
  then
  A2: w is_differentiable_on Z
    & for x be Point of S st x in Z
      holds (w`|Z)/.x = <:(u`|Z)/.x, (v`|Z)/.x:> by Th55;

  A3: dom(w`|Z) = Z by A2,NDIFF_1:def 9;
  A4: dom(u`|Z) = Z by A1,NDIFF_1:def 9;
  A5: dom(v`|Z) = Z by A1,NDIFF_1:def 9;

  A6: dom <:u`|Z, v`|Z:>
   = dom(u`|Z) /\ dom(v`|Z) by FUNCT_3:def 7
  .= Z /\ Z by A1,A4,NDIFF_1:def 9
  .= Z;

  A7: diff_SP(0,S,E) = E by NDIFF_6:7;
  A8: diff_SP(1,S,E) = R_NormSpace_of_BoundedLinearOperators(S,E)
    by NDIFF_6:7;
  A9: diff_SP(0,S,F) = F by NDIFF_6:7;
  A10: diff_SP(1,S,F) = R_NormSpace_of_BoundedLinearOperators(S,F)
    by NDIFF_6:7;

  CTP(S,diff_SP(0,S,E),diff_SP(0,S,F)) is Lipschitzian LinearOperator
    of [:diff_SP(0+1,S,E),diff_SP(0+1,S,F):],
        R_NormSpace_of_BoundedLinearOperators(S,
        [:diff_SP(0,S,E),diff_SP(0,S,F):]) by Th56;
  then A11: dom CTP(S,diff_SP(0,S,E),diff_SP(0,S,F))
    = [#][:diff_SP(1,S,E),diff_SP(1,S,F):] by FUNCT_2:def 1;

  A12: rng <:u`|Z, v`|Z:> c= [:rng(u`|Z), rng(v`|Z):] by FUNCT_3:51;
  [:rng (u`|Z), rng(v`|Z):] c= [:[#]diff_SP(1,S,E), [#]diff_SP(1,S,F):]
    by A8,A10,ZFMISC_1:96;
  then A13: dom(CTP(S,diff_SP(0,S,E),diff_SP(0,S,F)) * <:u`|Z,v`|Z:>)
            = Z by A6,A11,A12,RELAT_1:27,XBOOLE_1:1;

  for x0 be object st x0 in dom (w`| Z)
  holds (w`|Z).x0 = (CTP(S,diff_SP(0,S,E),diff_SP(0,S,F)) * <:u`|Z,v`|Z:>).x0
  proof
    let x0 be object;
    assume A14: x0 in dom(w`|Z);
    then reconsider x = x0 as Point of S;

    reconsider f = (u`|Z)/.x as Lipschitzian LinearOperator of S,E
      by LOPBAN_1:def 9;
    reconsider g = (v`|Z)/.x as Lipschitzian LinearOperator of S,F
      by LOPBAN_1:def 9;

    A15: CTP(S,E,F).(f,g) = <:f,g:> by Def3;
    A16: (w`|Z).x0
     = (w`|Z)/.x by A14,PARTFUN1:def 6
    .= CTP(S,diff_SP(0,S,E),diff_SP(0,S,F)).((u`|Z)/.x,(v`|Z)/.x)
        by A1,A3,A7,A9,A14,A15,Th55
    .= CTP(S,diff_SP(0,S,E),diff_SP(0,S,F)).[(u`|Z)/.x,(v`|Z)/.x]
        by BINOP_1:def 1
    .= CTP(S,diff_SP(0,S,E),diff_SP(0,S,F)).[(u`|Z).x,(v`|Z)/.x]
        by A3,A4,A14,PARTFUN1:def 6
    .= CTP(S,diff_SP(0,S,E),diff_SP(0,S,F)).[(u`|Z).x,(v`|Z).x]
        by A3,A5,A14,PARTFUN1:def 6;

    [(u`|Z).x,(v`|Z).x] = (<:(u`|Z),(v`|Z):>).x
      by A3,A6,A14,FUNCT_3:def 7;

    hence (w`| Z).x0
      = (CTP(S,diff_SP(0,S,E),diff_SP(0,S,F)) * <:u`|Z,v`|Z:>).x0
      by A3,A6,A14,A16,FUNCT_1:13;
  end;
  hence thesis by A1,A3,A13,Th55,FUNCT_1:2;
end;

theorem Th58:
  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
   st w = <:u,v:>
    & u is_differentiable_on Z
    & v is_differentiable_on Z
  holds
    diff(w,0,Z) is_differentiable_on Z
  & ex T be Lipschitzian LinearOperator of
      [:diff_SP(1,S,E),diff_SP(1,S,F):], diff_SP(1,S,[:E,F:])
    st T = CTP(S,diff_SP(0,S,E), diff_SP(0,S,F))
     & diff(w,1,Z) = T * <:diff(u,1,Z), diff(v,1,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;

  assume
  A1: w = <:u,v:>
    & u is_differentiable_on Z
    & v is_differentiable_on Z;

  then
  A2: w is_differentiable_on Z
    & w`|Z = CTP(S,diff_SP(0,S,E),diff_SP(0,S,F)) * <:u`|Z,v`|Z:> by Th57;

  A3: diff(w,1,Z)
   = (w|Z)`|Z by NDIFF_6:11
  .= w`|Z by A1,Th4,Th57;

  A4: diff(u,1,Z)
   = (u|Z)`|Z by NDIFF_6:11
  .= u`|Z by A1,Th4;

  A5: diff(v,1,Z)
   = (v|Z)`|Z by NDIFF_6:11
  .= v`|Z by A1,Th4;

  A6: diff(w,0,Z) = w|Z by NDIFF_6:11;

  A7: CTP(S,diff_SP (0,S,E),diff_SP(0,S,F)) is Lipschitzian LinearOperator
    of [:diff_SP(0+1,S,E),diff_SP(0+1,S,F):],
          R_NormSpace_of_BoundedLinearOperators
          (S,[:diff_SP(0,S,E),diff_SP(0,S,F):]) by Th56;

  A8: diff_SP(0,S,E) = E by NDIFF_6:7;
  A9: diff_SP(0,S,F) = F by NDIFF_6:7;

  R_NormSpace_of_BoundedLinearOperators(S,[:diff_SP(0,S,E),diff_SP(0,S,F):])
  = diff_SP(1,S,[:E,F:]) by A8,A9,NDIFF_6:7;

  then reconsider T = CTP(S,diff_SP(0,S,E),diff_SP(0,S,F))
    as Lipschitzian LinearOperator of
        [:diff_SP(1,S,E),diff_SP(1,S,F):],diff_SP(1,S,[:E,F:]) by A7;

  diff_SP(0,S,[:E,F:]) = [:E,F:] by NDIFF_6:7;
  hence diff(w,0,Z) is_differentiable_on Z by A2,A6,Th3;

  take T;
  thus T = CTP(S,diff_SP(0,S,E),diff_SP(0,S,F));
  thus thesis by A1,A3,A4,A5,Th57;
end;

theorem
  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
   st w = <:u,v:>
    & u is_differentiable_on 2,Z
    & v is_differentiable_on 2,Z
  holds
    w is_differentiable_on 2,Z
  & ex L1 be Lipschitzian LinearOperator of
              [:diff_SP(1,S,E),diff_SP(1,S,F):],
              diff_SP(1,S,[:E,F:]),
       L2 be Lipschitzian LinearOperator of
              [:diff_SP(2,S,E),diff_SP(2,S,F):],
              diff_SP(1,S,[:diff_SP(1,S,E),diff_SP(1,S,F):]),
       T be Lipschitzian LinearOperator of
              [:diff_SP(2,S,E),diff_SP(2,S,F):],
              diff_SP(2,S,[:E,F:])
    st L1 = CTP(S,diff_SP(0,S,E),diff_SP(0,S,F))
     & L2 = CTP(S,diff_SP(1,S,E),diff_SP(1,S,F))
     & T = LTRN(1,L1,S) * L2
     & diff(w,2,Z) = T * <:diff(u,2,Z),diff(v,2,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;
  assume
  A1: w = <:u,v:>
    & u is_differentiable_on 2,Z
    & v is_differentiable_on 2,Z;
  then
  A2: u is_differentiable_on 1,Z
    & v is_differentiable_on 1,Z by NDIFF_6:17;
  then
  A3: u|Z is_differentiable_on Z
    & v|Z is_differentiable_on Z by NDIFF_6:15;

    u is_differentiable_on Z
  & v is_differentiable_on Z by A2,Th3,NDIFF_6:15;
  then
  A4: diff(w,0,Z) is_differentiable_on Z
    & ex T be Lipschitzian LinearOperator
              of [:diff_SP(1,S,E),diff_SP(1,S,F):],diff_SP(1,S,[:E,F:])
      st T = CTP(S,diff_SP(0,S,E),diff_SP(0,S,F))
        & diff(w,1,Z) = T * <:diff(u,1,Z),diff(v,1,Z):> by A1,Th58;

  A5: diff_SP(0,S,[:E,F:])
   = [:E,F:] by NDIFF_6:7;

  A6: diff(w,0,Z) = w|Z by NDIFF_6:11;
  A7: w|Z is_differentiable_on Z by A4,A5,NDIFF_6:11;
  A8: w is_differentiable_on Z by A4,A5,A6,Th3;
  set E1 = diff_SP(1,S,E);
  set F1 = diff_SP(1,S,F);
  set u1 = diff(u,1,Z);
  set v1 = diff(v,1,Z);

  set w1 = <:diff(u,1,Z), diff(v,1,Z):>;
  diff(u,1,Z) = (u|Z)`|Z by NDIFF_6:11;
  then A9: dom diff(u,1,Z) = Z by A3,NDIFF_1:def 9;
  diff(v,1,Z) = (v|Z)`|Z by NDIFF_6:11;
  then A10: dom diff(v,1,Z) = Z by A3,NDIFF_1:def 9;
  A11: dom w1
   = dom(diff(u,1,Z)) /\ dom(diff(v,1,Z)) by FUNCT_3:def 7
  .= Z by A9,A10;
  A12: [:rng (diff(u,1,Z)), rng (diff(v,1,Z)):]
  c= [#] [:[#]diff_SP(1,S,E), [#]diff_SP(1,S,F):] by ZFMISC_1:96;

  rng w1 c= [:rng(diff(u,1,Z)), rng(diff(v,1,Z)):] by FUNCT_3:51;
  then rng w1 c= [#][:diff_SP (1,S,E),diff_SP(1,S,F):] by A12,XBOOLE_1:1;
  then reconsider w1 = <:diff(u,1,Z), diff(v,1,Z):>
    as PartFunc of S,[:diff_SP(1,S,E),diff_SP(1,S,F):] by A11,RELSET_1:4;
  A13: diff(u,1,Z) is_differentiable_on Z by A1,NDIFF_6:14;
  A14: diff(v,1,Z) is_differentiable_on Z by A1,NDIFF_6:14;
  A15: diff(w1,0,Z) is_differentiable_on Z
      & ex T1 be Lipschitzian LinearOperator
              of [:diff_SP(1,S,E1),diff_SP(1,S,F1):],
                 diff_SP(1,S,[:E1,F1:])
        st T1 = CTP(S,diff_SP(0,S,E1),diff_SP(0,S,F1))
        & diff(w1,1,Z) = T1 * <:diff(u1,1,Z),diff(v1,1,Z):>
      by A13,A14,Th58;

  A16: diff_SP(0,S,E1) = diff_SP(1,S,E) by NDIFF_6:7;
  A17: diff_SP(0,S,F1) = diff_SP(1,S,F) by NDIFF_6:7;

  A18: diff(u1,1,Z)
   = (u1|Z)`|Z by NDIFF_6:11
  .= diff(u,1,Z)`|Z by A1,Th4,NDIFF_6:14
  .= diff(u,1+1,Z) by NDIFF_6:13;

  A19: diff(v1,1,Z)
   = (v1|Z)`|Z by NDIFF_6:11
  .= diff(v,1,Z)`|Z by A1,Th4,NDIFF_6:14
  .= diff(v,1+1,Z) by NDIFF_6:13;

  A20: diff_SP(0,S,[:diff_SP(1,S,E),diff_SP(1,S,F):])
   = [:diff_SP(1,S,E),diff_SP(1,S,F):] by NDIFF_6:7;

  A21: diff(w1,0,Z) = w1|Z by NDIFF_6:11;
  then A22: w1|Z is_differentiable_on Z by A13,A14,A20,Th58;

  w1 is_differentiable_on Z by Th3,A22;
  then A23: w1 is_differentiable_on 1,Z by A13,A14,A20,A21,Th58,NDIFF_6:15;

  set K = R_NormSpace_of_BoundedLinearOperators
            (S,[:diff_SP(0,S,E),diff_SP(0,S,F):]);

  CTP(S,diff_SP(0,S,E),diff_SP(0,S,F)) is Lipschitzian LinearOperator
    of [:diff_SP(0+1,S,E),diff_SP(0+1,S,F):],K by Th56;
  then reconsider L = CTP(S,diff_SP(0,S,E),diff_SP(0,S,F))
      as Lipschitzian LinearOperator of [:diff_SP(1,S,E),diff_SP(1,S,F):],K;

  A24: diff_SP(0,S,E) = E by NDIFF_6:7;
  A25: diff_SP(0,S,F) = F by NDIFF_6:7;
  A26: K = diff_SP(1,S,[:E,F:]) by A24,A25,NDIFF_6:7;

  diff(w,1,Z) is_differentiable_on 1,Z by A4,A23,Th25;
  then A27: Z c= dom diff(w,1,Z)
      & diff(w,1,Z) | Z is_differentiable_on Z by NDIFF_6:15;

  then A28: diff(w,1,Z) is_differentiable_on Z;

  A29: R_NormSpace_of_BoundedLinearOperators(S,[:E,F:])
     = diff_SP(1,S,[:E,F:]) by NDIFF_6:7;

  diff(w,1,Z) = (w|Z) `| Z by NDIFF_6:11;
  then (w|Z) `| Z is_differentiable_on Z by A27,A29;
  hence w is_differentiable_on 2,Z by A7,A8,NDIFF_6:16;

  reconsider L1 = L as Lipschitzian LinearOperator
    of [:diff_SP(1,S,E),diff_SP(1,S,F):],diff_SP(1,S,[:E,F:]) by A26;

  A30: CTP(S,diff_SP(1,S,E),diff_SP(1,S,F))
    is Lipschitzian LinearOperator
        of [:diff_SP(1+1,S,E),diff_SP(1+1,S,F) :],
          R_NormSpace_of_BoundedLinearOperators
            (S,[:diff_SP(1,S,E),diff_SP(1,S,F):]) by Th56;

  R_NormSpace_of_BoundedLinearOperators(S,[:diff_SP(1,S,E),diff_SP(1,S,F):])
   = diff_SP(1,S,[:diff_SP(1,S,E),diff_SP(1,S,F):]) by NDIFF_6:7;
  then
  reconsider L2 = CTP(S,diff_SP(1,S,E),diff_SP(1,S,F))
    as Lipschitzian LinearOperator
        of [:diff_SP(2,S,E),diff_SP(2,S,F):],
            diff_SP(1,S,[:diff_SP(1,S,E),diff_SP(1,S,F):]) by A30;

  diff_SP(1,S,diff_SP(1,S,[:E,F:]))
   = R_NormSpace_of_BoundedLinearOperators(S,diff_SP(1,S,[:E,F:])) by NDIFF_6:7
  .= R_NormSpace_of_BoundedLinearOperators
      (S,R_NormSpace_of_BoundedLinearOperators(S,[:E,F:])) by NDIFF_6:7
  .= diff_SP(2,S,[:E,F:]) by NDIFF_6:7;
  then
  reconsider H = LTRN(1,L1,S)
    as Lipschitzian LinearOperator
        of diff_SP(1,S,[:diff_SP(1,S,E), diff_SP(1,S,F):]),
            diff_SP(2,S,[:E,F:]);

  reconsider T = H * L2 as Lipschitzian LinearOperator
    of [:diff_SP(2,S,E), diff_SP(2,S,F):],
        diff_SP(2,S,[:E,F:]) by LOPBAN_2:2;

  take L1,L2,T;
  thus L1 = CTP(S,diff_SP(0,S,E),diff_SP(0,S,F));
  thus L2 = CTP(S,diff_SP(1,S,E),diff_SP(1,S,F));
  thus T = LTRN(1,L1,S) * L2;

  thus diff(w,2,Z)
   = diff(w,1+1,Z)
  .= diff(w,1,Z)`|Z by NDIFF_6:13
  .= diff(w,1,Z)|Z `| Z by Th4,A28
  .= diff(L*w1,1,Z) by A4,A26,NDIFF_6:11
  .= LTRN(1,L1,S) * diff(w1,1,Z) by A23,A26,Th25
  .= T * <:diff(u,2,Z),diff(v,2,Z):> by A15,A16,A17,A18,A19,RELAT_1:36;
end;

theorem Th60:
  for i be Nat,
      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
   st w = <:u,v:>
    & u is_differentiable_on i+1,Z
    & v is_differentiable_on i+1,Z
  holds
    w is_differentiable_on i+1,Z
  & ex T be Lipschitzian LinearOperator
      of [:diff_SP(i+1,S,E),diff_SP(i+1,S,F):],diff_SP(i+1,S,[:E,F:])
    st diff(w,i+1,Z) = T * <:diff(u,i+1,Z),diff(v,i+1,Z):>
proof
  defpred P[Nat] means
  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
   st w = <:u,v:>
    & u is_differentiable_on $1+1,Z
    & v is_differentiable_on $1+1,Z
  holds
    w is_differentiable_on $1+1,Z
  & ex T be Lipschitzian LinearOperator
      of [:diff_SP($1+1,S,E),diff_SP($1+1,S,F):],diff_SP($1+1,S,[:E,F:])
    st diff(w,$1+1,Z) = T * <:diff(u,$1+1,Z),diff(v,$1+1,Z):>;

  A1: P[0]
  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;
    assume
    A2: w = <:u,v:>
      & u is_differentiable_on 0+1,Z
      & v is_differentiable_on 0+1,Z;

    then
      Z c= dom u & u | Z is_differentiable_on Z
    & Z c= dom v & v | Z is_differentiable_on Z by NDIFF_6:15;
    then
    A3: u is_differentiable_on Z
      & v is_differentiable_on Z;
    then
    A4: diff(w,0,Z) is_differentiable_on Z
      & ex T be Lipschitzian LinearOperator
          of [:diff_SP(1,S,E),diff_SP(1,S,F):],diff_SP(1,S,[:E,F:])
        st T = CTP(S,diff_SP(0,S,E),diff_SP(0,S,F))
         & diff(w,1,Z) = T * <:diff(u,1,Z),diff(v,1,Z):> by A2,Th58;

    A5: diff(w,0,Z) = w|Z by NDIFF_6:11;
    A6: diff_SP(0,S,[:E,F:]) = [:E,F:] by NDIFF_6:7;
    then w is_differentiable_on Z by A4,A5,Th3;
    hence w is_differentiable_on 0+1,Z by A2,A3,A5,A6,Th58,NDIFF_6:15;
    thus thesis by A4;
  end;

  A7: for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume A8: P[i];
    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;

    assume
    A9: w = <:u,v:>
      & u is_differentiable_on (i+1)+1,Z
      & v is_differentiable_on (i+1)+1,Z;

    i+1 + 0 <= (i+1)+1 by XREAL_1:7;
    then
    A10: u is_differentiable_on i+1,Z
       & v is_differentiable_on i+1,Z by A9,NDIFF_6:17;
    then
    A11: w is_differentiable_on i+1,Z
       & ex T0 be Lipschitzian LinearOperator
           of [:diff_SP(i+1,S,E),diff_SP(i+1,S,F):],diff_SP(i+1,S,[:E,F:])
         st diff(w,i+1,Z) = T0 * <:diff(u,i+1,Z),diff(v,i+1,Z):> by A8,A9;

    consider T0 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
    A12: diff(w,i+1,Z) = T0 * <:diff(u,i+1,Z),diff(v,i+1,Z):> by A8,A9,A10;

    A13: diff(u,i,Z) is_differentiable_on Z
       & diff(v,i,Z) is_differentiable_on Z by A10,NDIFF_6:14;

    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 w1 = <:diff(u,i+1,Z),diff(v,i+1,Z):>;
    diff(u,i+1,Z) = diff(u,i,Z) `| Z by NDIFF_6:13;
    then A14: dom diff(u,i+1,Z) = Z by A13,NDIFF_1:def 9;

    diff(v,i+1,Z) = diff(v,i,Z) `| Z by NDIFF_6:13;
    then A15: dom diff(v,i+1,Z) = Z by A13,NDIFF_1:def 9;
    A16: dom w1
     = dom(diff(u,i+1,Z)) /\ dom(diff(v,i+1,Z)) by FUNCT_3:def 7
    .= Z by A14,A15;
    A17:[:rng(diff(u,i+1,Z)), rng(diff(v,i+1,Z)):]
     c= [#][:diff_SP(i+1,S,E),diff_SP(i+1,S,F):] by ZFMISC_1:96;

    rng w1 c= [:rng(diff(u,i+1,Z)), rng(diff(v,i+1,Z)):] by FUNCT_3:51;
    then rng w1 c= [#][:diff_SP(i+1,S,E),diff_SP(i+1,S,F):] by A17,XBOOLE_1:1;
    then reconsider w1 = <:diff(u,i+1,Z),diff(v,i+1,Z):>
      as PartFunc of S,[:diff_SP(i+1,S,E),diff_SP(i+1,S,F):] by A16,RELSET_1:4;

    A18: diff(u,i+1,Z) is_differentiable_on Z by A9,NDIFF_6:14;
    A19: diff(v,i+1,Z) is_differentiable_on Z by A9,NDIFF_6:14;

    consider T1 be Lipschitzian LinearOperator
      of [:diff_SP(1,S,E1),diff_SP(1,S,F1):],diff_SP(1,S,[:E1,F1:])
    such that
    A20: T1 = CTP(S,diff_SP(0,S,E1),diff_SP(0,S,F1))
       & diff(w1,1,Z) = T1 * <:diff(u1,1,Z),diff(v1,1,Z):> by A18,A19,Th58;

    A21: diff(u1,1,Z)
     = (u1|Z) `| Z by NDIFF_6:11
    .= diff(u,i+1,Z) `| Z by A9,Th4,NDIFF_6:14
    .= diff(u,i+1+1,Z) by NDIFF_6:13;

    A22: diff(v1,1,Z)
     = (v1|Z) `| Z by NDIFF_6:11
    .= diff(v,i+1,Z) `| Z by NDIFF_6:14,A9,Th4
    .= diff(v,i+1+1,Z) by NDIFF_6:13;

    A23: diff_SP(0,S,[:diff_SP(i+1,S,E),diff_SP(i+1,S,F):])
     = [:diff_SP(i+1,S,E),diff_SP(i+1,S,F):] by NDIFF_6:7;

    A24: diff(w1,0,Z) = w1|Z by NDIFF_6:11;
    then A25: w1|Z is_differentiable_on Z by A18,A19,A23,Th58;

    w1 is_differentiable_on Z by Th3,A25;
    then A26: w1 is_differentiable_on 1,Z by A18,A19,A23,A24,Th58,NDIFF_6:15;

      T0*w1 is_differentiable_on 1,Z
    & diff(T0*w1,1,Z)
    = LTRN(1,T0,S) * diff(w1,1,Z) by A26,Th25;

    then
    A27: Z c= dom diff(w,i+1,Z)
       & diff(w,i+1,Z) | Z is_differentiable_on Z by A12,NDIFF_6:15;
    then A28: diff(w,i+1,Z) is_differentiable_on Z;

    for k be Nat st k <= i+1+1-1 holds diff(w,k,Z) is_differentiable_on Z
    proof
      let k be Nat;
      assume A29: k <= i+1+1-1;
      per cases;
      suppose
        k = i+1;
        hence diff(w,k,Z) is_differentiable_on Z by A27;
      end;
      suppose
        k <> i+1;
        then k < i+1 by A29,XXREAL_0:1;
        then k+1-1 <= i+1-1 by NAT_1:13;
        hence diff(w,k,Z) is_differentiable_on Z by A11,NDIFF_6:14;
      end;
    end;
    hence w is_differentiable_on i+1+1,Z by A11,NDIFF_6:14;
    set L3 = LTRN(1,T0,S);

    A30: diff_SP(S,E1).1
     = R_NormSpace_of_BoundedLinearOperators(S,diff_SP(i+1,S,E)) by NDIFF_6:7
    .= diff_SP(i+1+1,S,E) by NDIFF_6:10;

    A31: diff_SP(S,F1).1
     = R_NormSpace_of_BoundedLinearOperators(S,diff_SP(i+1,S,F)) by NDIFF_6:7
    .= diff_SP(i+1+1,S,F) by NDIFF_6:10;

    A32: diff_SP(1,S,diff_SP(i+1,S,[:E,F:]))
     = R_NormSpace_of_BoundedLinearOperators(S,diff_SP(i+1,S,[:E,F:]))
        by NDIFF_6:7
    .= diff_SP(i+1+1,S,[:E,F:]) by NDIFF_6:10;

    reconsider T3 = L3*T1 as Lipschitzian LinearOperator
      of [:diff_SP(i+1+1,S,E),diff_SP(i+1+1,S,F):],
         diff_SP(i+1+1,S,[:E,F:]) by A30,A31,A32,LOPBAN_2:2;

    take T3;
    thus diff(w,i+1+1,Z)
     = diff(w,i+1,Z) `| Z by NDIFF_6:13
    .= (diff(w,i+1,Z)|Z) `| Z by A28,Th4
    .= diff(diff(w,i+1,Z),1,Z) by NDIFF_6:11
    .= L3 * diff(w1,1,Z) by A12,A26,Th25
    .= T3 * <:diff(u,i+1+1,Z),diff(v,i+1+1,Z):> by A20,A21,A22,RELAT_1:36;
  end;
  for i be Nat holds P[i] from NAT_1:sch 2(A1,A7);
  hence thesis;
end;

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;

theorem
  for X,Y be RealNormSpace,
        V be Subset of [:X,Y:],
        D be Subset of X,
        E be Subset of Y
   st D is open & E is open & V = [:D,E:]
  holds V is open
proof
  let X,Y be RealNormSpace,
        V be Subset of [:X,Y:],
        D be Subset of X,E be Subset of Y;
  assume A1: D is open & E is open & V = [:D,E:];

  for x be Point of X, y be Point of Y
  st [x,y] in V
    ex r1,r2 be Real
    st 0 < r1 & 0 < r2
     & [:Ball(x,r1),Ball(y,r2):] c= V
  proof
    let x be Point of X, y be Point of Y;
    assume [x,y] in V;
    then A2: x in D & y in E by A1,ZFMISC_1:87;
    then consider r be Real such that
    A3: r > 0 & Ball(x,r) c= D by A1,NDIFF_8:20;
    consider r2 be Real such that
    A4: r2 > 0 & Ball(y,r2) c= E by A1,A2,NDIFF_8:20;

    for z be object st z in [:Ball(x,r),Ball(y,r2):] holds z in V
    proof
      let z be object;
      assume z in [:Ball(x,r),Ball(y,r2):];
      then consider qx,qy be object such that
      A5: qx in Ball(x,r) & qy in Ball(y,r2)
        & z = [qx,qy] by ZFMISC_1:def 2;
      reconsider qx as Point of X by A5;
      reconsider qy as Point of Y by A5;
      thus z in V by A1,A3,A4,A5,ZFMISC_1:87;
    end; then
    [:Ball(x,r),Ball(y,r2):] c= V;
    hence thesis by A3,A4;
  end;
  hence thesis by NDIFF10:3;
end;

begin :: Higher-Order Differentiability of Inverse Function Theorem

theorem Th63:
  for E, F,G be RealNormSpace,
      x be Point of R_NormSpace_of_BoundedLinearOperators(E,F),
      L be Point of R_NormSpace_of_BoundedLinearOperators(
         R_NormSpace_of_BoundedLinearOperators(F,E),
         R_NormSpace_of_BoundedLinearOperators(E,E))
   st x is invertible
    & for y be Point of R_NormSpace_of_BoundedLinearOperators(F,E)
      holds L.y = y*x
  holds L is invertible
proof
  let E, F,G be RealNormSpace,
      x be Point of R_NormSpace_of_BoundedLinearOperators(E,F),
      L be Point of R_NormSpace_of_BoundedLinearOperators(
          R_NormSpace_of_BoundedLinearOperators(F,E),
          R_NormSpace_of_BoundedLinearOperators(E,E));
  assume that
  A1: x is invertible and
  A2: for y be Point of R_NormSpace_of_BoundedLinearOperators(F,E)
      holds L.y = y*x;

  set EF = R_NormSpace_of_BoundedLinearOperators(E,F);
  set FE = R_NormSpace_of_BoundedLinearOperators(F,E);
  set EE = R_NormSpace_of_BoundedLinearOperators(E,E);
  set FEEE = R_NormSpace_of_BoundedLinearOperators(
                R_NormSpace_of_BoundedLinearOperators(F,E),
                R_NormSpace_of_BoundedLinearOperators(E,E));

  reconsider L1 = L as Lipschitzian LinearOperator of FE,EE by LOPBAN_1:def 9;
  reconsider x0 = x as Lipschitzian LinearOperator of E,F by LOPBAN_1:def 9;

  A3: modetrans(x,E,F) = x0 by LOPBAN_1:def 11;
  A4: x is one-to-one & rng x =[#]F
    & x" is Point of R_NormSpace_of_BoundedLinearOperators(F,E)
      by A1,LOPBAN13:def 1;
  reconsider dx = x" as Point of
    R_NormSpace_of_BoundedLinearOperators(F,E) by A1,LOPBAN13:def 1;

  reconsider dx0 = dx as Lipschitzian LinearOperator of F,E by LOPBAN_1:def 9;
  A5: modetrans(dx,F,E) = dx0 by LOPBAN_1:def 11;
  A6: for x1, x2 be object st x1 in [#]FE & x2 in [#]FE & L1.x1 = L1.x2
      holds x1 = x2
  proof
    let z1, z2 be object;
    assume A7: z1 in [#]FE & z2 in [#]FE & L1.z1 = L1.z2;
    reconsider z10 = z1, z20 = z2 as Point of FE by A7;
    A8: L1.z20 = z20*x by A2;

    reconsider z100 = z10 as Lipschitzian LinearOperator of F,E
      by LOPBAN_1:def 9;
    reconsider z200 = z20 as Lipschitzian LinearOperator of F,E
      by LOPBAN_1:def 9;

    A9:  modetrans(z10,F,E) = z100 by LOPBAN_1:def 11;
    A10: modetrans(z20,F,E) = z200 by LOPBAN_1:def 11;

    A11: z100 * x0
     = z10 * x by A9,LOPBAN_1:def 11
    .= z20 * x by A2,A7,A8
    .= z200 * x0 by A10,LOPBAN_1:def 11;

    z100
     = z100 * (id [#]F) by FUNCT_2:17
    .= z100 * (x0 * x0") by A4,FUNCT_2:29
    .= (z100 * x0) * x0" by RELAT_1:36
    .= z200 * (x0 * x0") by A11,RELAT_1:36
    .= z200 * (id [#]F) by A4,FUNCT_2:29
    .= z200 by FUNCT_2:17;
    hence z1 = z2;
  end;
  then A12: L is one-to-one by FUNCT_2:19;

  for y be object st y in [#]EE
  holds ex z be object st z in [#]FE & y = L1.z
  proof
    let y be object;
    assume y in [#]EE;
    then reconsider y0 = y as Point of EE;
    reconsider y00 = y0 as Lipschitzian LinearOperator of E,E
      by LOPBAN_1:def 9;
    reconsider ddx = dx*x as Lipschitzian LinearOperator of E,E
      by LOPBAN_1:def 9;
    A13: modetrans(dx*x,E,E) = ddx by LOPBAN_1:def 11;
    A14: ddx
     = dx0 * x0 by A3,LOPBAN_1:def 11
    .= id E by A4,LOPBAN13:11;

    take z = y0 * dx;
    thus z in [#]FE;
    L1.z
     = y0 * dx * x by A2
    .= y0 * (dx * x) by LOPBAN13:10
    .= y00 * (id E) by A13,A14,LOPBAN_1:def 11
    .= y by FUNCT_2:17;
    hence thesis;
  end;
  then A15: rng L1 = [#]EE by FUNCT_2:10;
  then A16: L1 is bijective by A6,FUNCT_2:19,def 3;

  defpred P2[object, object] means
  ex y be Point of EE
  st y = $1 & $2 = y*dx;

  A17: for y be object st y in the carrier of EE
       holds ex z be object st z in the carrier of FE & P2[y,z]
  proof
    let y be object;
    assume y in the carrier of EE;
    then reconsider V1 = y as Point of EE;
    take z = V1 * dx;
    thus thesis;
  end;

  consider R be Function of the carrier of EE, the carrier of FE
  such that
  A18: for y be object st y in the carrier of EE
       holds P2[y, R.y] from FUNCT_2:sch 1(A17);
  A19: for y be Point of EE holds R.y = y * dx
  proof
    let y be Point of EE;
    ex V be Point of EE
    st V = y & R.y = V * dx by A18;
    hence thesis;
  end;

  for y be Element of FE holds (R * L1).y = y
  proof
    let y0 be Element of FE;

    reconsider y00 = y0 as Lipschitzian LinearOperator of F,E
      by LOPBAN_1:def 9;
    A20: modetrans(y0,F,E) = y00 by LOPBAN_1:def 11;
    reconsider xdx = x * dx as Lipschitzian LinearOperator of F,F
      by LOPBAN_1:def 9;
    A21: xdx
     = x0 * dx0 by A5,LOPBAN_1:def 11
    .= id F by A4,LOPBAN13:11;

    thus (R * L1).y0
     = R.(L1.y0) by FUNCT_2:15
    .= R.(y0 * x) by A2
    .= (y0 * x) * dx by A19
    .= y0 * (x * dx) by LOPBAN13:10
    .= y00 * (id F) by A20,A21,LOPBAN_1:def 11
    .= y0 by FUNCT_2:17;
  end;
  then A22: R * L1 = id [#]FE;
  then R = L" by A12,A15,FUNCT_2:30;
  then reconsider R as LinearOperator of EE,FE by A16,LOPBAN_7:1;

  set K = ||.dx.||;

  for y be VECTOR of EE holds ||.R.y.|| <= K * ||.y.||
  proof
    let y be VECTOR of EE;
    reconsider y0 = y as Lipschitzian LinearOperator of E,E by LOPBAN_1:def 9;
    A23: modetrans(y,E,E) = y0 by LOPBAN_1:def 11;
    ||.y * dx.|| <= ||.y.|| * ||.dx.|| by A5,A23,LOPBAN_2:2;
    hence thesis by A19;
  end;
  then reconsider R as Lipschitzian LinearOperator of EE,FE
    by LOPBAN_1:def 8,NORMSP_1:4;

  R = L" by A12,A15,A22,FUNCT_2:30;
  then L" is Point of R_NormSpace_of_BoundedLinearOperators(EE,FE)
    by LOPBAN_1:def 9;
  hence thesis by A12,A15,LOPBAN13:def 1;
end;

theorem Th64:
  for F be non trivial RealBanachSpace
  holds R_NormSpace_of_BoundedLinearOperators(F,F)
      is non trivial RealBanachSpace
proof
  let F be non trivial RealBanachSpace;
  set F1 = R_NormSpace_of_BoundedLinearOperators (F,F);

  not for x be object st x in [#]F holds x = 0.F
  proof
    assume A1: for x be object st x in [#]F holds x = 0.F;

    for x, y be object st x in [#]F & y in [#]F holds x = y
    proof
      let x, y be object;
      assume x in [#]F & y in [#]F;
      then x = 0.F & y = 0.F by A1;
      hence thesis;
    end;
    hence contradiction by ZFMISC_1:def 10;
  end;
  then consider y be object such that
  A2: y in [#]F & y <> 0.F;

  reconsider L1 = id [#]F as Lipschitzian LinearOperator of F,F by LOPBAN_2:3;
  reconsider L2 = L1 as Point of F1 by LOPBAN_1:def 9;
  reconsider Z0 = 0.F1 as Lipschitzian LinearOperator of F,F by LOPBAN_1:def 9;

  0.F1 = [#]F --> 0.F by LOPBAN_1:31; then
  (0.F1).y = 0.F by A2,FUNCOP_1:7; then
  L2 <> 0.F1 by A2,FUNCT_1:17;
  hence thesis by ZFMISC_1:def 10;
end;

theorem Th65:
  for E be RealBanachSpace,
      F,G be non trivial RealBanachSpace,
      Z be non empty Subset of [:E,F:],
      c be Point of G,
      A be Subset of E,
      B be Subset of F
   st Z is open & A is open & B is open & [:A,B:] c= Z
  holds
    for i be Nat,
        f be PartFunc of [:E,F:], G,
        g be PartFunc of E,F
     st dom f = Z
      & f is_differentiable_on i+1,Z
      & diff (f,i+1,Z) is_continuous_on Z
      & dom g = A & rng g c= B
      & g is_continuous_on A
      & ( for x be Point of E st x in A holds f.(x,g.x) = c )
      & ( for x be Point of E, z be Point of [:E,F:]
           st x in A & z = [x,g.x]
          holds partdiff`2(f,z) is invertible )
    holds
        g is_differentiable_on i+1,A
      & diff (g,i+1,A) is_continuous_on A
      & for x be Point of E,
            z be Point of [:E,F:]
          st x in A & z = [x,g.x]
        holds diff(g,x) = - (Inv partdiff`2(f,z)) * partdiff`1(f,z)
proof
  defpred P[Nat]
  means
  for E be RealBanachSpace,
      F,G be non trivial RealBanachSpace,
      Z be non empty Subset of [:E,F:],
      c be Point of G,
      A be Subset of E,
      B be Subset of F
   st Z is open & A is open & B is open & [:A,B:] c= Z
  holds
    for f be PartFunc of [:E,F:], G,
        g be PartFunc of E,F
     st dom f = Z
      & f is_differentiable_on $1+1,Z
      & diff(f,$1+1,Z) is_continuous_on Z
      & dom g = A & rng g c= B
      & g is_continuous_on A
      & ( for x be Point of E st x in A holds f.(x,g.x) = c )
      & ( for x be Point of E, z be Point of [:E,F:]
           st x in A & z = [x,g.x]
          holds partdiff`2(f,z) is invertible )
    holds
      g is_differentiable_on $1+1,A
    & diff(g,$1+1,A) is_continuous_on A
    & for x be Point of E,
          z be Point of [:E,F:]
       st x in A & z =[x,g.x]
      holds diff(g,x) = - (Inv partdiff`2(f,z)) * partdiff`1(f,z);

  A1: P[0]
  proof
    let E be RealBanachSpace,
        F,G be non trivial RealBanachSpace,
        Z be non empty Subset of [:E,F:],
        c be Point of G,
        A be Subset of E,
        B be Subset of F;

    assume
    A2: Z is open & A is open & B is open
      & [:A,B:] c= Z;

    let f be PartFunc of [:E,F:], G,
        g be PartFunc of E,F;

    assume
    A3: dom f = Z
      & f is_differentiable_on 0+1,Z
      & diff(f,0+1,Z) is_continuous_on Z
      & dom g = A & rng g c= B
      & g is_continuous_on A
      & ( for x be Point of E st x in A holds f.(x,g.x) = c )
      & ( for x be Point of E, z be Point of [:E,F:]
           st x in A & z = [x,g.x]
          holds partdiff`2(f,z) is invertible );

    A4: diff_SP(1,[:E,F:], G)
      = R_NormSpace_of_BoundedLinearOperators([:E,F:], G) by NDIFF_6:7;

    A5: f is_differentiable_on Z by A3,NDIFF_6:15;

    diff(f,1,Z)
     = (f|Z)`|Z by NDIFF_6:11
    .= f`|Z by A3;
    then
    A6: g is_differentiable_on A
      & g`|A is_continuous_on A
      & for x be Point of E,
            z be Point of [:E,F:]
        st x in A & z = [x,g.x]
        holds diff(g,x) = - (Inv partdiff`2(f,z)) * partdiff`1(f,z)
          by A2,A3,A4,A5,NDIFF_9:20;

    diff(g,0+1,A)
     = (g|A)`|A by NDIFF_6:11
    .= g`|A by A3;
    hence thesis by A3,A6,NDIFF_6:7,15;
  end;

  A8: for i be Nat st P[i] holds P[i+1]
  proof
    let i be Nat;
    assume A9: P[i];

    let E be RealBanachSpace,
        F,G be non trivial RealBanachSpace,
        Z be non empty Subset of [:E,F:],
        c be Point of G,
        A be Subset of E,
        B be Subset of F;
    assume
    A10: Z is open & A is open & B is open
      & [:A,B:] c= Z;

    let f be PartFunc of [:E,F:], G,
        g be PartFunc of E,F;
    assume
    A11: dom f = Z
      & f is_differentiable_on (i+1)+1,Z
      & diff(f,(i+1)+1,Z) is_continuous_on Z
      & dom g = A & rng g c= B
      & g is_continuous_on A
      & ( for x be Point of E st x in A holds f.(x,g.x) = c )
      & ( for x be Point of E, z be Point of [:E,F:]
            st x in A & z = [x,g.x]
          holds partdiff`2(f,z) is invertible );

    A12: f is_differentiable_on i+1,Z by A11,NDIFF_6:17,NAT_1:11;

    A13: diff(f,i+1,Z) is_continuous_on Z
        by A11,NDIFF_1:45,NDIFF_6:14;

    f is_differentiable_on 0+1,Z by A11,NAT_1:11,NDIFF_6:17;
    then f is_differentiable_on Z by Th3,NDIFF_6:15;
    then
    A14: f is_partial_differentiable_on`1 Z
       & f is_partial_differentiable_on`2 Z by Th45;

    set E1 = R_NormSpace_of_BoundedLinearOperators(F,G);
    set F1 = R_NormSpace_of_BoundedLinearOperators(G,F);
    set G1 = R_NormSpace_of_BoundedLinearOperators(F,F);
    A15: G1 is non trivial RealBanachSpace by Th64;

    reconsider A1 = InvertibleOperators(F,G) as open Subset of E1;
    reconsider B1 = InvertibleOperators(G,F) as open Subset of F1;
    reconsider Z0 =[:A1,B1:] as Subset of [:E1,F1:] by ZFMISC_1:96;

    set Z1 = [#][:E1,F1:];

    reconsider Z1 as non empty Subset of [:E1,F1:];
    A16: [:A1,B1:] c= Z1 & Z1 is open by ZFMISC_1:96;

    reconsider a = id [#]F as Lipschitzian LinearOperator of F,F by LOPBAN_2:3;
    reconsider a as Point of G1 by LOPBAN_1:def 9;

    consider f0 be Lipschitzian BilinearOperator of E1,F1,G1
    such that
    A17: for u be Point of E1, v be Point of F1
         holds f0.(u,v) = v * u by Th38;

    reconsider f1 = f0|Z1 as PartFunc of [:E1,F1:],G1;
    A18: dom f1 = Z1 by FUNCT_2:def 1;
    A19: dom f0 = [#][:E1,F1:] by FUNCT_2:def 1;
    A20: for k be Nat st k <= (i+1)+1 - 1
         holds diff (f0,k,[#][:E1,F1:]) is_differentiable_on [#][:E1,F1:]
         by NDIFF12:21;

    0 + (i+1) <= 1 + (i+1) by XREAL_1:7;
    then A21: f1 is_differentiable_on i+1,Z1 by A19,A20,NDIFF_6:14,17;
    A22: diff(f1,i+1,Z1) is_continuous_on Z1 by NDIFF_1:45,NDIFF12:21;

    consider g1 be PartFunc of E1,F1 such that
    A23: dom g1 = A1
       & rng g1 = B1
       & g1 is one-to-one
       & g1 is_continuous_on A1
       & ( ex J be PartFunc of F1,E1
           st J = g1 "
           & J is one-to-one
           & dom J = B1
           & rng J = A1
           & J is_continuous_on B1 )
       & for u be Point of E1 st u in A1
         holds g1.u = Inv u by LOPBAN13:25;

    A24: for x be Point of E1 st x in A1
         holds f1.(x, g1.x) = a
    proof
      let x be Point of E1;
      assume A25: x in A1;
      then g1.x in B1 by A23,FUNCT_1:3;
      then reconsider g1x = g1.x as Point of F1;
      x in { v where v is Point of R_NormSpace_of_BoundedLinearOperators(F,G)
            : v is invertible } by A25,LOPBAN13:def 3;
      then
      A26: ex v be Point of R_NormSpace_of_BoundedLinearOperators(F,G)
           st x = v & v is invertible;
      thus
      f1.(x,g1.x)
       = g1x * x by A17
      .= (Inv x) * x by A23,A25
      .= id F by A26,LOPBAN13:22
      .= a;
    end;
    A27: for x be Point of E1, z be Point of [:E1,F1:]
          st x in A1 & z = [x,g1.x]
         holds
            for y be Point of F1
            holds (partdiff`2(f1,z)).y = y * x
    proof
      let x be Point of E1, z be Point of [:E1,F1:];
      assume A28: x in A1 & z = [x,g1.x];
      A29: partdiff`2(f1,z) = f0 * (reproj2 z) by NDIFF12:4;

      thus for y be Point of F1 holds (partdiff`2(f1,z)).y = y * x
      proof
        let y be Point of F1;
        A30: (reproj2 z).y
         = [z`1,y] by NDIFF_7:def 2
        .= [x,y] by A28;

        A31: dom(reproj2 z) = the carrier of F1 by FUNCT_2:def 1;

        thus (partdiff`2(f1,z)).y
         = f0.[x,y] by A29,A30,A31,FUNCT_1:13
        .= f0.(x,y) by BINOP_1:def 1
        .= y * x by A17;
      end;
    end;

    A32: for x be Point of E1, z be Point of [:E1,F1:]
          st x in A1 & z = [x,g1.x]
         holds partdiff`2(f1,z) is invertible
    proof
      let x be Point of E1, z be Point of [:E1,F1:];
      assume A33: x in A1 & z = [x,g1.x];
      then A34: for y be Point of F1 holds (partdiff`2(f1,z)).y = y * x by A27;
      x in { v where v is Point of R_NormSpace_of_BoundedLinearOperators(F,G)
           : v is invertible } by A33,LOPBAN13:def 3;
      then ex v be Point of R_NormSpace_of_BoundedLinearOperators(F,G)
           st x = v & v is invertible;
      hence partdiff`2(f1,z) is invertible by A34,Th63;
    end;

    A35: g1 is_differentiable_on i+1,A1
       & diff(g1,i+1,A1) is_continuous_on A1
       & for x be Point of E1,
            z be Point of [:E1,F1:]
          st x in A1 & z = [x,g1.x]
         holds diff(g1,x) = - (Inv partdiff`2(f1,z)) * partdiff`1(f1,z)
    proof
      per cases;
      suppose
        A36: A1 = {};
        then A37: A1 c= dom g1 by XBOOLE_1:2;
        for k be Nat st k <= i+1-1
        holds diff(g1,k,A1) is_differentiable_on A1 by A36,XBOOLE_1:2;
        hence g1 is_differentiable_on i+1,A1 by A37,NDIFF_6:14;

        A38: for x0 be Point of E1 st x0 in A1
             holds diff(g1,i+1,A1)|A1 is_continuous_in x0 by A36;
        A1 c= dom(diff(g1,i+1,A1)) by A36,XBOOLE_1:2;
        hence diff(g1,i+1,A1) is_continuous_on A1 by A38,NFCONT_1:def 7;
        thus
        for x be Point of E1,
            z be Point of [:E1,F1:]
          st x in A1 & z =[x,g1.x]
        holds diff(g1,x) = - (Inv partdiff`2(f1,z)) * partdiff`1(f1,z) by A36;
      end;
      suppose
        A39: A1 <> {};
        per cases;
        suppose
          A40: F1 is trivial;
          for x be object st x in [#]F1 holds x in {0.F1}
          proof
            let x be object;
            assume x in [#]F1;
            then x = 0.F1 by A40,ZFMISC_1:def 10;
            hence x in {0.F1} by TARSKI:def 1;
          end;
          then A41: [#]F1 = {0.F1} by ZFMISC_1:31,TARSKI:def 3;
          consider x be object such that
          A42: x in A1 by A39,XBOOLE_0:def 1;
          reconsider x as Point of E1 by A42;

          g1.x in rng g1 by A23,A42,FUNCT_1:3;
          then reconsider z = [x,g1.x] as Point of [:E1,F1:] by ZFMISC_1:87;

          A43: for y be Point of F1 holds (partdiff`2(f1,z)).y = 0.G1
          proof
            let y be Point of F1;
            A44: y = 0.F1 by A41,TARSKI:def 1;

            reconsider ff = (partdiff`2(f1,z)).y
              as Lipschitzian LinearOperator of F,F by LOPBAN_1:def 9;
            for s be object st s in dom ff holds ff.s = 0.F
            proof
              let s be object;
              assume s in dom ff;
              then reconsider s1 = s as Point of F;
              reconsider xx = x as Lipschitzian LinearOperator of F,G
                by LOPBAN_1:def 9;
              A45: dom xx = [#]F by FUNCT_2:def 1;
              reconsider Z0 = 0.F1 as Lipschitzian LinearOperator of G,F
                by LOPBAN_1:def 9;

              A46: modetrans(x,F,G) = xx by LOPBAN_1:def 11;

              ((partdiff`2(f1,z)).y).s1
               = (0.F1 * x).s1 by A27,A42,A44
              .= (Z0 * xx).s1 by A46,LOPBAN_1:def 11
              .= Z0.(xx.s1) by A45,FUNCT_1:13
              .= ([#]G -->0.F).(xx.s1) by LOPBAN_1:31
              .= 0.F by FUNCOP_1:7;
              hence ff.s = 0.F;
            end;
            then ff = (dom ff) --> 0. F by FUNCOP_1:11;
            hence (partdiff`2(f1,z)).y = 0.G1 by LOPBAN_1:31;
          end;

          A47: partdiff`2 (f1,z) is Lipschitzian LinearOperator of F1,G1
            by LOPBAN_1:def 9;

          not for x be object st x in [#]G1 holds x = 0.G1
          proof
            assume A48: for x be object st x in [#]G1 holds x = 0.G1;

            for x, y be object st x in [#]G1 & y in [#]G1 holds x = y
            proof
              let x, y be object;
              assume x in [#]G1 & y in [#]G1;
              then x = 0.G1 & y = 0.G1 by A48;
              hence thesis;
            end;
            hence contradiction by A15,ZFMISC_1:def 10;
          end;
          then consider y be object such that
          A49: y in [#]G1 & y <> 0.G1;

          not y in rng partdiff`2(f1,z)
          proof
            assume y in rng partdiff`2(f1,z);
            then consider x be object such that
            A50: x in dom partdiff`2(f1,z)
               & y = partdiff`2(f1,z).x by FUNCT_1:def 3;
            reconsider x0 = x as Point of F1 by A47,A50,FUNCT_2:def 1;
            (partdiff`2(f1,z)).x0 = 0.G1 by A43;
            hence contradiction by A49,A50;
          end;
          then not partdiff`2(f1,z) is invertible by A49,LOPBAN13:def 1;
          hence thesis by A32,A42;
        end;
        suppose
          F1 is non trivial;
          hence thesis by A9,A15,A16,A18,A21,A22,A23,A24,A32;
        end;
      end;
    end;

    A51: g is_differentiable_on i+1,A
       & diff (g,i+1,A) is_continuous_on A
       & for x be Point of E,
             z be Point of [:E,F:]
          st x in A & z = [x,g.x]
         holds diff(g,x) = - (Inv partdiff`2(f,z)) * partdiff`1(f,z)
        by A9,A10,A11,A12,A13;

    0 <= i by NAT_1:2;
    then 0 + 1 <= i + 1 by XREAL_1:7;
    then g is_differentiable_on 1,A by A51,NDIFF_6:17;
    then A52: g is_differentiable_on A by Th3,NDIFF_6:15;

    consider idE be PartFunc of E,E such that
    A53: idE = id [#]E;

    set idA = idE |A;

      idE is_differentiable_on i+1,A
    & diff(idE,i+1,A) is_continuous_on A by A10,A53,Th51;
    then
    A54: idA is_differentiable_on i+1,A
       & diff(idA,i+1,A) is_continuous_on A by Th7;

    A55: dom idE = [#]E by A53;
    set xg = <:idA, g:>;
    A56: dom xg
     = dom idA /\ dom g by FUNCT_3:def 7
    .= A /\ A by A11,A55,RELAT_1:62
    .= A;

    rng idA
     = idE .: A by RELAT_1:115
    .= A by A53,FUNCT_1:92;
    then [:rng idA, rng g :] c= [:A,B:] by A11,ZFMISC_1:96;
    then A57: [:rng idA, rng g :] c= Z by A10;

    rng xg c= [:rng idA,rng g :] by FUNCT_3:51;
    then A58: rng xg c= Z by A57,XBOOLE_1:1;
    then rng xg c= [#][:E,F:] by XBOOLE_1:1;
    then reconsider xg as PartFunc of E,[:E,F:] by A56,RELSET_1:4;

    A59: xg is_differentiable_on i+1,A
       & diff(xg,i+1,A) is_continuous_on A by A51,A54,Th61;
    A60: f `partial`1| Z is_differentiable_on i+1,Z
       & diff(f `partial`1| Z,i+1,Z) is_continuous_on Z
       & f `partial`2| Z is_differentiable_on i+1,Z
       & diff(f `partial`2| Z,i+1,Z) is_continuous_on Z by A11,Th53;

    xg.:A c= xg.: (dom xg) by RELAT_1:114;
    then xg.:A c= rng xg by RELAT_1:113;
    then A61: xg.:A c= Z by A58,XBOOLE_1:1;
    then
    A62: (f `partial`1| Z)*xg is_differentiable_on i+1,A
       & diff((f `partial`1| Z)*xg,i+1,A) is_continuous_on A
       by A59,A60,Th44;

    A63: (f `partial`2| Z)*xg is_differentiable_on i+1,A
       & diff((f `partial`2| Z)*xg,i+1,A) is_continuous_on A
       by A59,A60,A61,Th44;

    for y be object st y in ((f `partial`2| Z)*xg).:A holds y in A1
    proof
      let y be object;
      assume y in ((f `partial`2| Z)*xg).:A;
      then consider x be object such that
      A64: x in dom((f `partial`2| Z)*xg)
         & x in A
         & y = ((f `partial`2| Z)*xg).x by FUNCT_1:def 6;

      g.x in rng g by A11,A64,FUNCT_1:3;
      then A65: [x,g.x] in [:A,B:] by A11,A64,ZFMISC_1:87;
      then [x,g.x] in Z by A10;
      then reconsider z = [x,g.x] as Point of [:E,F:];

      A66: xg.x
       = [idA.x,g.x] by A56,A64,FUNCT_3:def 7
      .= [idE.x,g.x] by A64,FUNCT_1:49
      .= [x,g.x] by A53,A64,FUNCT_1:18;

      partdiff`2(f,z) is invertible by A11,A64;
      then
      A67: partdiff`2(f,z) in
        { v where v is Point of R_NormSpace_of_BoundedLinearOperators(F,G)
        : v is invertible };
      A68: dom(f `partial`2| Z) = Z by A14,NDIFF_7:def 11;

      ((f `partial`2| Z)*xg).x
       = (f `partial`2| Z).(xg.x) by A64,FUNCT_1:12
      .= (f `partial`2| Z)/.z by A10,A65,A66,A68,PARTFUN1:def 6
      .= partdiff`2(f,z) by A10,A14,A65,NDIFF_7:def 11;
      hence y in A1 by A64,A67,LOPBAN13:def 3;
    end;
    then A69: ((f `partial`2| Z)*xg).:A c= A1 by TARSKI:def 3;
    A70: g1 * (((f `partial`2| Z)*xg)) is_differentiable_on i+1,A
       & diff(g1 * (((f `partial`2| Z)*xg)),i+1,A) is_continuous_on A
       by A35,A63,A69,Th44;

    rng xg c= dom(f `partial`2| Z) by A14,A58,NDIFF_7:def 11;
    then A71: dom((f `partial`2| Z)*xg) = A by A56,RELAT_1:27;
    rng xg c= dom (f `partial`1| Z) by A14,A58,NDIFF_7:def 10;
    then A72: dom ((f `partial`1| Z)*xg) = A by A56,RELAT_1:27;
    rng((f `partial`2| Z)*xg) c= A1 by A69,A71,RELAT_1:113;
    then A73: dom(g1 * ((f `partial`2| Z)*xg)) = A by A23,A71,RELAT_1:27;

    set EG = R_NormSpace_of_BoundedLinearOperators(E,G);
    set GF = R_NormSpace_of_BoundedLinearOperators(G,F);
    set EF = R_NormSpace_of_BoundedLinearOperators(E,F);

    consider BL be Lipschitzian BilinearOperator of EG,GF,EF such that
    A74: for u be Point of EG, v be Point of GF
         holds BL.(u,v) = v * u by Th38;

    set w = <:(f `partial`1| Z)*xg, g1 * ((f `partial`2| Z)*xg):>;
    A75: dom BL = [#][:EG,GF:] by FUNCT_2:def 1;
    A76: dom w
     = dom((f `partial`1| Z)*xg) /\ dom(g1 * ((f `partial`2| Z)*xg))
       by FUNCT_3:def 7
    .= A by A72,A73;

    A77: [:rng((f `partial`1| Z)*xg), rng(g1 * ((f `partial`2| Z)*xg)):]
      c= the carrier of [:EG,GF:] by ZFMISC_1:96;

    A78: rng w c= [:rng((f `partial`1| Z)*xg),
                    rng(g1 * ((f `partial`2| Z)*xg)):] by FUNCT_3:51;
    then rng w c= the carrier of [:EG,GF:] by A77,XBOOLE_1:1;
    then reconsider w as PartFunc of E,[:EG,GF:] by A76,RELSET_1:4;

    set W = BL*w;

    A79: W is_differentiable_on i+1, A
       & diff(W,i+1,A) is_continuous_on A by A62,A70,Th42;
    0 <= i by NAT_1:2;
    then A80: 0+1 <= i+1 by XREAL_1:7;
    A81: diff(-W,i+1,A) = -diff(W,i+1,A) by A79,A80,NDIFF_6:26;
    A82: dom(W) = A by A75,A76,A77,A78,RELAT_1:27,XBOOLE_1:1;
    A83: dom(-W) = A by A82,VFUNCT_1:def 5;
    A84: dom(g`|A) = A by A52,NDIFF_1:def 9;

    for x be object st x in dom(g`|A) holds (g`|A).x =(-W).x
    proof
      let x0 be object;
      assume A85: x0 in dom(g`|A);
      then reconsider x = x0 as Point of E;
      A86: (g`|A).x0
       = (g`|A)/.x by A85,PARTFUN1:def 6
      .= diff(g,x) by A52,A84,A85,NDIFF_1:def 9;
      A87: x0 in A by A52,A85,NDIFF_1:def 9;
      x0 in dom g by A11,A52,A85,NDIFF_1:def 9;
      then g.x0 in rng g by FUNCT_1:3;
      then A88: [x0,g.x0] in [:A,B:] by A11,A87,ZFMISC_1:87;
      then [x0,g.x0] in Z by A10;
      then reconsider z = [x0,g.x0] as Point of [:E,F:];

      A89: (Inv partdiff`2(f,z)) * partdiff`1(f,z)
       = BL.(partdiff`1(f,z), Inv partdiff`2(f,z)) by A74
      .= BL.[partdiff`1(f,z), Inv partdiff`2(f,z)] by BINOP_1:def 1;

      A90: xg.x
       = [idA.x,g.x] by A56,A87,FUNCT_3:def 7
      .= [idE.x,g.x] by A87,FUNCT_1:49
      .= [x,g.x] by A53;

      A91: xg/.x = xg.x by A56,A87,PARTFUN1:def 6;
      A92: dom(f `partial`1| Z) = Z by A14,NDIFF_7:def 10;
      A93: dom(f `partial`2| Z) = Z by A14,NDIFF_7:def 11;
      partdiff`2(f,z) is invertible by A11,A87;
      then partdiff`2(f,z) in
        { v where v is Point of R_NormSpace_of_BoundedLinearOperators(F,G)
        : v is invertible };
      then A94: partdiff`2(f,z) in A1 by LOPBAN13:def 3;

      A95: ((f `partial`1| Z)*xg).x
       = (f `partial`1| Z).(xg.x) by A56,A87,FUNCT_1:13
      .= (f `partial`1| Z)/.(xg/.x) by A10,A88,A90,A91,A92,PARTFUN1:def 6
      .= partdiff`1(f,z) by A10,A14,A88,A90,A91,NDIFF_7:def 10;

      A96: (g1 * ((f `partial`2| Z)*xg)).x
       = g1.(((f `partial`2| Z)*xg).x) by A71,A87,FUNCT_1:13
      .= g1.((f `partial`2| Z).(xg.x)) by A56,A87,FUNCT_1:13
      .= g1.((f `partial`2| Z)/.(xg.x)) by A10,A88,A90,A93,PARTFUN1:def 6
      .= g1.(partdiff`2(f,z)) by A10,A14,A88,A90,NDIFF_7:def 11
      .= Inv partdiff`2(f,z) by A23,A94;

      A97: BL.[partdiff`1(f,z),Inv partdiff`2(f,z)]
       = BL.(w.x) by A76,A87,A95,A96,FUNCT_3:def 7
      .= (BL * w).x by A76,A87,FUNCT_1:13
      .= W/.x by A82,A87,PARTFUN1:def 6;

      thus (g`|A).x0
       = - (W/.x) by A9,A10,A11,A12,A13,A86,A87,A89,A97
      .= (-W)/.x by A83,A87,VFUNCT_1:def 5
      .= (-W).x0 by A83,A87,PARTFUN1:def 6;
    end;
    then A98: -W = g `| A by A83,A84,FUNCT_1:2;

    A99: g `| A is_differentiable_on i+1,A by A79,A80,A98,NDIFF_6:27;
    A100: diff(g `| A,i+1,A) is_continuous_on A by A79,A81,A98,NFCONT_1:28;
    thus thesis by A9,A10,A11,A12,A13,A52,A99,A100,Th33;
    thus thesis;
  end;
  for i be Nat holds P[i] from NAT_1:sch 2(A1,A8);
  hence thesis;
end;

theorem Th66:
  for F,G be non trivial RealBanachSpace
  ex I be PartFunc of
    R_NormSpace_of_BoundedLinearOperators(F,G),
    R_NormSpace_of_BoundedLinearOperators(G,F)
  st dom I = InvertibleOperators(F,G)
   & rng I = InvertibleOperators(G,F)
   & I is one-to-one
   & I is_continuous_on InvertibleOperators(F,G)
   & ( ex J be PartFunc of
         R_NormSpace_of_BoundedLinearOperators(G,F),
         R_NormSpace_of_BoundedLinearOperators(F,G)
       st J = I "
        & J is one-to-one
        & dom J = InvertibleOperators(G,F)
        & rng J = InvertibleOperators(F,G)
        & J is_continuous_on InvertibleOperators(G,F) )
   & ( for u be Point of R_NormSpace_of_BoundedLinearOperators(F,G)
        st u in InvertibleOperators(F,G)
       holds I.u = Inv u )
   & for n be Nat
     holds
       I is_differentiable_on n+1,InvertibleOperators(F,G)
     & diff(I,n+1,InvertibleOperators(F,G))
        is_continuous_on InvertibleOperators(F,G)
proof
  let F,G be non trivial RealBanachSpace;

  set E1 = R_NormSpace_of_BoundedLinearOperators(F,G);
  set F1 = R_NormSpace_of_BoundedLinearOperators(G,F);
  set G1 = R_NormSpace_of_BoundedLinearOperators(F,F);

  A1: G1 is non trivial RealBanachSpace by Th64;

  set A1 = InvertibleOperators(F,G);
  set B1 = InvertibleOperators(G,F);

  consider g1 be PartFunc of E1,F1 such that
  A2: dom g1 = A1
    & rng g1 = B1
    & g1 is one-to-one
    & g1 is_continuous_on A1
    & ( ex J be PartFunc of F1,E1
        st J = g1"
         & J is one-to-one
         & dom J = B1
         & rng J = A1
         & J is_continuous_on B1 )
    & for u be Point of E1 st u in A1
      holds g1.u = Inv u by LOPBAN13:25;

  take g1;
  thus dom g1 = A1
     & rng g1 = B1
     & g1 is one-to-one
     & g1 is_continuous_on A1
     & ( ex J be PartFunc of F1,E1
         st J = g1"
          & J is one-to-one
          & dom J = B1
          & rng J = A1
          & J is_continuous_on B1 )
     & for u be Point of E1 st u in A1
       holds g1.u = Inv u by A2;

  let i be Nat;
  reconsider Z0 = [:A1,B1:] as Subset of [:E1,F1:] by ZFMISC_1:96;

  set Z1 =[#][:E1,F1:];
  reconsider Z1 as non empty Subset of [:E1,F1:];
  A3: [:A1,B1:] c= Z1 & Z1 is open by ZFMISC_1:96;

  reconsider a = id [#]F as Lipschitzian LinearOperator of F,F by LOPBAN_2:3;
  reconsider a as Point of G1 by LOPBAN_1:def 9;

  consider f0 be Lipschitzian BilinearOperator of E1,F1,G1 such that
  A4: for u be Point of E1, v be Point of F1
      holds f0.(u,v) = v*u by Th38;

  reconsider f1 = f0|Z1 as PartFunc of [:E1,F1:],G1;
  A5: dom f1 = Z1 by FUNCT_2:def 1;
  A6: dom f0 = [#][:E1,F1:] by FUNCT_2:def 1;

  for k be Nat st k <= (i+1)-1
  holds diff (f0,k,[#][:E1,F1:]) is_differentiable_on [#][:E1,F1:]
    by NDIFF12:21;
  then A7: f1 is_differentiable_on i+1,Z1 by A6,NDIFF_6:14;
  A8: diff(f1,i+1,Z1) is_continuous_on Z1 by NDIFF_1:45,NDIFF12:21;

  A9: for x be Point of E1 st x in A1 holds f1.(x,g1.x) = a
  proof
    let x be Point of E1;
    assume A10: x in A1;
    then g1.x in rng g1 by A2,FUNCT_1:3;
    then reconsider g1x = g1.x as Point of F1;
    x in { v where v is Point of R_NormSpace_of_BoundedLinearOperators(F,G)
         : v is invertible } by A10,LOPBAN13:def 3;
    then
    A11: ex v be Point of R_NormSpace_of_BoundedLinearOperators(F,G)
         st x = v & v is invertible;

    thus f1.(x,g1.x)
     = g1x * x by A4
    .= (Inv x) * x by A2,A10
    .= id F by A11,LOPBAN13:22
    .= a;
  end;
  A12: for x be Point of E1, z be Point of [:E1,F1:]
        st x in A1 & z = [x,g1.x]
       holds
         for y be Point of F1
         holds (partdiff`2(f1,z)).y = y*x
  proof
    let x be Point of E1, z be Point of [:E1,F1:];
    assume A13: x in A1 & z = [x,g1.x];
    A14: partdiff`2(f1,z) = f0 * (reproj2 z) by NDIFF12:4;

    thus for y be Point of F1 holds (partdiff`2(f1,z)).y = y*x
    proof
      let y be Point of F1;

      A15: (reproj2 z).y
       = [z `1,y] by NDIFF_7:def 2
      .= [x,y] by A13;
      A16: dom (reproj2 z) = the carrier of F1 by FUNCT_2:def 1;

      thus (partdiff`2(f1,z)).y
       = f0.[x,y] by A14,A15,A16,FUNCT_1:13
      .= f0.(x,y) by BINOP_1:def 1
      .= y * x by A4;
    end;
  end;

  A17: for x be Point of E1, z be Point of [:E1,F1:]
        st x in A1 & z = [x,g1.x]
       holds partdiff`2(f1,z) is invertible
  proof
    let x be Point of E1, z be Point of [:E1,F1:];
    assume A18: x in A1 & z = [x,g1.x];
    then
    A19: for y be Point of F1
         holds (partdiff`2(f1,z)).y = y*x by A12;
    x in { v where v is Point of R_NormSpace_of_BoundedLinearOperators(F,G)
         : v is invertible } by A18,LOPBAN13:def 3;
    then
    ex v be Point of R_NormSpace_of_BoundedLinearOperators(F,G)
    st x = v & v is invertible;
    hence partdiff`2(f1,z) is invertible by A19,Th63;
  end;

  thus g1 is_differentiable_on i+1,A1
     & diff(g1,i+1,A1) is_continuous_on A1
  proof
    per cases;
    suppose
      A20: A1={};
      then A21: A1 c= dom g1 by XBOOLE_1:2;
      for k be Nat st k <= i+1-1
      holds diff(g1,k,A1) is_differentiable_on A1 by A20,XBOOLE_1:2;
      hence g1 is_differentiable_on i+1,A1 by A21,NDIFF_6:14;

      A22: for x0 be Point of E1 st x0 in A1
           holds diff(g1,i+1,A1)|A1 is_continuous_in x0 by A20;
      A1 c= dom (diff(g1,i+1,A1)) by A20,XBOOLE_1:2;
      hence diff(g1,i+1,A1) is_continuous_on A1 by A22,NFCONT_1:def 7;
    end;
    suppose
      A23: A1 <> {};
      per cases;
      suppose
        A24: F1 is trivial;
        for x be object st x in [#]F1 holds x in {0.F1}
        proof
          let x be object;
          assume x in [#]F1;
          then x = 0.F1 by A24,ZFMISC_1:def 10;
          hence x in {0.F1} by TARSKI:def 1;
        end;
        then A25: [#]F1 = {0.F1} by ZFMISC_1:31,TARSKI:def 3;
        consider x be object such that
        A26: x in A1 by A23,XBOOLE_0:def 1;
        reconsider x as Point of E1 by A26;

        g1.x in rng g1 by A2,A26,FUNCT_1:3;
        then reconsider z = [x,g1.x] as Point of [:E1,F1:] by ZFMISC_1:87;

        A27: for y be Point of F1 holds (partdiff`2(f1,z)).y = 0.G1
        proof
          let y be Point of F1;
          A28: y = 0.F1 by A25,TARSKI: def 1;
          reconsider ff = (partdiff`2(f1,z)).y
            as Lipschitzian LinearOperator of F,F by LOPBAN_1:def 9;

          for s be object st s in dom ff holds ff.s = 0.F
          proof
            let s be object;
            assume s in dom ff;
            then reconsider s1 = s as Point of F;
            reconsider xx = x as Lipschitzian LinearOperator of F,G
              by LOPBAN_1:def 9;
            A29: dom xx = [#]F by FUNCT_2:def 1;
            reconsider Z0 = 0.F1 as Lipschitzian LinearOperator of G,F
              by LOPBAN_1:def 9;

            A30: modetrans(0.F1,G,F) = Z0 by LOPBAN_1:def 11;

            ((partdiff`2(f1,z)).y).s1
             = ((0.F1) * x).s1 by A12,A26,A28
            .= (Z0 * xx).s1 by A30,LOPBAN_1:def 11
            .= Z0.(xx.s1) by A29,FUNCT_1:13
            .= ([#]G -->0.F).(xx.s1) by LOPBAN_1:31
            .= 0.F by FUNCOP_1:7;
            hence ff.s = 0.F;
          end;
          then ff = (dom ff) --> 0. F by FUNCOP_1:11;
          hence (partdiff`2(f1,z)).y = 0.G1 by LOPBAN_1:31;
        end;

        A31: partdiff`2 (f1,z) is Lipschitzian LinearOperator of F1,G1
             by LOPBAN_1:def 9;

        not for x be object st x in [#]G1 holds x = 0.G1
        proof
          assume A32: for x be object st x in [#]G1 holds x = 0.G1;

          for x, y be object st x in [#]G1 & y in [#]G1 holds x = y
          proof
            let x, y be object;
            assume x in [#]G1 & y in [#]G1;
            then x = 0.G1 & y = 0.G1 by A32;
            hence thesis;
          end;
          hence contradiction by A1,ZFMISC_1:def 10;
        end;
        then
        consider y be object such that
        A33: y in [#]G1 & y <> 0.G1;

        not y in rng partdiff`2(f1,z)
        proof
          assume y in rng partdiff`2(f1,z);
          then consider x be object such that
          A34: x in dom partdiff`2(f1,z)
             & y = partdiff`2(f1,z).x by FUNCT_1:def 3;
          reconsider x0 = x as Point of F1 by A31,A34,FUNCT_2:def 1;
          (partdiff`2(f1,z)).x0 = 0.G1 by A27;
          hence contradiction by A33,A34;
        end;
        then not partdiff`2(f1,z) is invertible by A33,LOPBAN13:def 1;
        hence thesis by A17,A26;
      end;
      suppose
        F1 is non trivial;
        hence thesis by A1,A2,A3,A5,A7,A8,A9,A17,Th65;
      end;
    end;
  end;
end;

theorem
  for E,F be non trivial RealBanachSpace,
      Z be Subset of E,
      f be PartFunc of E,F,
      a be Point of E,
      b be Point of F,
      n be Nat
  st Z is open & dom f = Z
   & f is_differentiable_on n+1,Z
   & diff(f,n+1,Z) is_continuous_on Z
   & a in Z & f.a = b
   & diff(f,a) is invertible
  holds
    ex A be Subset of E,B be Subset of F,
       g be PartFunc of F,E
    st A is open & B is open
     & A c= dom f
     & a in A & b in B
     & f.:A = B
     & dom g = B & rng g = A
     & dom(f|A) = A & rng(f|A) = B
     & f|A is one-to-one
     & g is one-to-one
     & g = (f|A)"
     & f|A = g"
     & g.b = a
     & ( for y be Point of F st y in B
         holds diff(f,g/.y) is invertible )
     & ( for y be Point of F st y in B
         holds diff(g,y) = Inv diff(f,g/.y) )
     & f is_differentiable_on n+1,A
     & diff(f,n+1,A) is_continuous_on A
     & g is_differentiable_on n+1,B
     & diff(g,n+1,B) is_continuous_on B
proof
  let E,F be non trivial RealBanachSpace,
        Z be Subset of E,
        f be PartFunc of E,F,
        a be Point of E,
        b be Point of F;

  defpred P[Nat] means
  ( Z is open & dom f = Z
  & f is_differentiable_on $1+1,Z
  & diff(f,$1+1,Z) is_continuous_on Z
  & a in Z & f.a = b
  & diff(f,a) is invertible )
    implies
  ex A be Subset of E,B be Subset of F,
     g be PartFunc of F,E
  st A is open & B is open
   & A c= dom f
   & a in A & b in B
   & f.:A = B
   & dom g = B & rng g = A
   & dom(f|A) = A & rng(f|A) = B
   & f|A is one-to-one
   & g is one-to-one
   & g = (f|A)"
   & f|A = g"
   & g.b = a
   & ( for y be Point of F st y in B
       holds diff(f,g/.y) is invertible )
   & ( for y be Point of F st y in B
       holds diff(g,y) = Inv diff(f,g/.y) )
   & f is_differentiable_on $1+1,A
   & diff(f,$1+1,A) is_continuous_on A
   & g is_differentiable_on $1+1,B
   & diff(g,$1+1,B) is_continuous_on B;

  A1: P[0]
  proof
    assume
    A2: Z is open & dom f = Z
     & f is_differentiable_on 0+1,Z
     & diff(f,0+1,Z) is_continuous_on Z
     & a in Z & f.a = b
     & diff(f,a) is invertible; then
     A3: f is_differentiable_on Z by NDIFF_6:15;
     diff(f,0+1,Z) = (f|Z)`|Z by NDIFF_6:11
                  .= f`|Z by A2; then
     f`|Z is_continuous_on Z by A2,NDIFF_6:7; then
    consider A be Subset of E,B be Subset of F,
             g be PartFunc of F,E such that
    A4: A is open & B is open
     & A c= dom f
     & a in A & b in B
     & f.:A = B
     & dom g = B & rng g = A
     & dom(f|A) = A & rng(f|A) = B
     & f|A is one-to-one
     & g is one-to-one
     & g = (f|A)"
     & f|A = g"
     & g.b = a
     & g is_continuous_on B
     & g is_differentiable_on B
     & g `| B is_continuous_on B
     & ( for y be Point of F st y in B
         holds diff(f,g/.y) is invertible )
     & ( for y be Point of F st y in B
         holds diff(g,y) = Inv diff(f,g/.y) ) by A2,A3,NDIFF10:17;
    take A,B,g;
    diff(g,0+1,B) = g`|B by A4,NDIFF_6:11;
    hence thesis by A2,A4,Th10,NDIFF_6:7,15;
  end;

  A7: for n be Nat st P[n] holds P[n+1]
  proof
    let n be Nat;
    assume A8: P[n];
    assume
    A9: Z is open & dom f = Z
      & f is_differentiable_on (n+1)+1,Z
      & diff(f,(n+1)+1,Z) is_continuous_on Z
      & a in Z & f.a = b
      & diff(f,a) is invertible; then
    consider A be Subset of E,B be Subset of F,
             g be PartFunc of F,E such that
    A12: A is open & B is open
       & A c= dom f
       & a in A & b in B
       & f.:A = B
       & dom g = B & rng g = A
       & dom(f|A) = A & rng(f|A) = B
       & f|A is one-to-one
       & g is one-to-one
       & g = (f|A)"
       & f|A = g"
       & g.b = a
       & ( for y be Point of F st y in B
           holds diff(f,g/.y) is invertible )
       & ( for y be Point of F st y in B
           holds diff(g,y) = Inv diff(f,g/.y) )
       & f is_differentiable_on n+1,A
       & diff(f,n+1,A) is_continuous_on A
       & g is_differentiable_on n+1,B
       & diff(g,n+1,B) is_continuous_on B
       by A8,NAT_1:11,NDIFF_1:45,NDIFF_6:14,17;

    take A,B,g;
    A13: f is_differentiable_on (n+1)+1,A
       & diff(f,(n+1)+1,A) is_continuous_on A by A9,A12,Th10;

    g is_differentiable_on 1,B by A12,NAT_1:11,NDIFF_6:17; then
    A14: B c= dom g & g|B is_differentiable_on B by NDIFF_6:15; then
    A15: g is_differentiable_on B;
    f is_differentiable_on 1,A by A12,NAT_1:11,NDIFF_6:17; then
    A c= dom f & f|A is_differentiable_on A by NDIFF_6:15; then
    A16: f is_differentiable_on A;
    consider I be PartFunc of R_NormSpace_of_BoundedLinearOperators(E,F),
                              R_NormSpace_of_BoundedLinearOperators(F,E)
    such that
    A17: dom I = InvertibleOperators(E,F)
       & rng I = InvertibleOperators(F,E)
       & I is one-to-one
       & I is_continuous_on InvertibleOperators(E,F)
       & ( ex J be PartFunc of
             R_NormSpace_of_BoundedLinearOperators(F,E),
             R_NormSpace_of_BoundedLinearOperators(E,F)
           st J = I "
            & J is one-to-one
            & dom J = InvertibleOperators(F,E)
            & rng J = InvertibleOperators(E,F)
            & J is_continuous_on InvertibleOperators(F,E) )
       & ( for u be Point of R_NormSpace_of_BoundedLinearOperators(E,F)
            st u in InvertibleOperators(E,F)
           holds I.u = Inv u )
       & for n be Nat
         holds
           I is_differentiable_on n+1,InvertibleOperators(E,F)
         & diff(I,n+1,InvertibleOperators(E,F))
           is_continuous_on InvertibleOperators(E,F) by Th66;

    A19: f`|A is_differentiable_on n+1,A
       & diff(f`|A,n+1,A) is_continuous_on A by A13,Th37;
    A20: I is_differentiable_on n+1,InvertibleOperators(E,F)
       & diff(I,n+1,InvertibleOperators(E,F))
         is_continuous_on InvertibleOperators(E,F) by A17;

    now
      let z be object;
      assume z in (f`|A).:A; then
      consider x be object such that
      A22: x in dom(f`|A) & x in A
         & z = (f`|A).x by FUNCT_1:def 6;
      reconsider x as Point of E by A22;
      A23: (f`|A).x = (f`|A)/.x by A22,PARTFUN1:def 6
                   .= diff(f,x) by A16,A22,NDIFF_1:def 9;
      consider y being object such that
      A24: y in dom g & x = g.y by A12,A22,FUNCT_1:def 3;
      reconsider y as Point of F by A24;

      A26: diff(f,x) = diff(f,g/.y) by A24,PARTFUN1:def 6;
      diff(f,g/.y) is invertible by A12,A24; then
      diff(f,g/.y) in {v where v is Point of
        R_NormSpace_of_BoundedLinearOperators(E,F) : v is invertible};
      hence z in InvertibleOperators(E,F) by A22,A23,A26,LOPBAN13:def 3;
    end; then
    A27: (f`|A).:A  c= InvertibleOperators(E,F) by TARSKI:def 3; then
    A28: I * (f`|A) is_differentiable_on n+1,A
       & diff(I * (f`|A),n+1,A) is_continuous_on A by A19,A20,Th44;
    now
      let z be object;
      assume z in (g|B).:B; then
      consider x be object such that
      A30: x in dom(g|B) & x in B
         & z = (g|B).x by FUNCT_1:def 6;
      thus z in A by A12,A30,FUNCT_1:3;
    end; then
    (g|B).: B c= A  by TARSKI:def 3; then
    A33: I * (f`|A) * (g|B) is_differentiable_on n+1,B
       & diff(I * (f`|A) * (g|B),n+1,B) is_continuous_on B by A12,A28,Th44;

    A34: dom(g`|B) = B by A15,NDIFF_1:def 9;
    A35: dom(f`|A) = A by A16,NDIFF_1:def 9; then
    rng(f`|A) c= InvertibleOperators(E,F) by A27,RELAT_1:113; then
    A36: dom(I * (f`|A)) = A by A17,A35,RELAT_1:27;
    A38: dom(I * (f`|A) * (g|B)) = B by A12,A36,RELAT_1:27;

    for x be object st x in dom(g`|B)
    holds (g`|B).x = (I * (f`|A) * (g|B)).x
    proof
      let x be object;
      assume A39: x in dom(g`|B); then
      reconsider v = x as Point of F;
      A41:(g`|B).x = (g`|B)/.v by A39,PARTFUN1:def 6
      .= diff(g,v) by A15,A34,A39,NDIFF_1:def 9
      .= Inv diff(f,g/.v) by A12,A34,A39;
      A43: g.x in A by A12,A34,A39,FUNCT_1:3;
      A45: g/.v in A by A12,A34,A39,A43,PARTFUN1:def 6;
      diff(f,g/.v) is invertible by A12,A34,A39; then
      diff(f,g/.v) in {v where v is Point of
        R_NormSpace_of_BoundedLinearOperators(E,F) : v is invertible}; then
      A46: diff(f,g/.v) in InvertibleOperators(E,F) by LOPBAN13:def 3;

      (I * (f`|A) * (g|B)).x
       = (I * (f`|A)).((g|B).x) by A12,A34,A39,FUNCT_1:13
      .= I.((f`|A).(g.x)) by A12,A34,A35,A39,FUNCT_1:3,13
      .= I.((f`|A).(g/.v)) by A12,A34,A39,PARTFUN1:def 6
      .= I.((f`|A)/.(g/.v)) by A35,A45,PARTFUN1:def 6
      .= I.diff(f,g/.v) by A16,A45,NDIFF_1:def 9
      .= Inv diff(f,g/.v) by A17,A46;
      hence thesis by A41;
    end; then
      g`|B is_differentiable_on n+1,B
    & diff(g`|B,n+1,B) is_continuous_on B by A33,A34,A38,FUNCT_1:2;
    hence thesis by A9,A12,A14,Th10,Th33;
  end;
  for n be Nat holds P[n] from NAT_1:sch 2(A1,A7);
  hence thesis;
end;