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 Th12:
  for f be Lipschitzian BilinearOperator of E,F,G,
      z be Point of [:E,F:]
  holds
    for dx be Point of E, dy be Point of F
    holds diff(f,z).(dx,dy) = partdiff`1(f,z).dx + partdiff`2(f,z).dy
  proof
    let f be Lipschitzian BilinearOperator of E,F,G;
    let z be Point of [:E,F:];

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

    let dx be Point of E, dy be Point of F;
    A2: partdiff`1(f,z).dx
     = (f * (reproj1 z)).dx by Th4
    .= f.((reproj1 z).dx) by FUNCT_2:15
    .= f.(dx,z`2) by NDIFF_7:def 1;
    partdiff`2(f,z).dy
     = (f * (reproj2 z)).dy by Th4
    .= f.((reproj2 z).dy) by FUNCT_2:15
    .= f.(z`1,dy) by NDIFF_7:def 2;
    hence diff(f,z).(dx,dy) = partdiff`1(f,z).dx + partdiff`2(f,z).dy
      by A1,A2;
  end;
