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 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;
