reserve m, n for non zero Element of NAT;
reserve i, j, k for Element of NAT;
reserve Z for Subset of REAL 2;
reserve c for Real;
reserve I for non empty FinSequence of NAT;
reserve d1, d2 for Element of REAL;

theorem :: LM202:
  for f be PartFunc of REAL,REAL, g be PartFunc of REAL,REAL,
  u be PartFunc of REAL 2,REAL, x0, t0 be Real, z be Element of REAL 2
  st x0 in dom f & t0 in dom g & z = <*x0,t0*>
  & dom u = {<*x, t*> where x, t is Real: x in dom f & t in dom g}
  & g is_differentiable_in t0
  & (for x, t be Real st x in dom f & t in dom g holds u/.<*x, t*> = f/.x*g/.t)
  holds
  u is_partial_differentiable_in z,2 & partdiff(u,z,2) = f/.x0*diff(g, t0)
  proof
    let f be PartFunc of REAL,REAL, g be PartFunc of REAL,REAL,
    u be PartFunc of REAL 2,REAL, x0, t0 be Real, z be Element of REAL 2;
    assume that
    A0: x0 in dom f & t0 in dom g & z = <*x0, t0*> and
    A4: dom u = {<*x, t*> where x, t is Real: x in dom f & t in dom g} and
    A5: g is_differentiable_in t0 and
    A7: for x, t be Real st x in dom f & t in dom g
    holds u/.<*x, t*> = f/.x*g/.t;
    P52: ((proj(2,2)).z) = t0 by A0, LM03;
    (f/.x0)(#)g is_differentiable_in t0 by A5, FDIFF_1:15;
    hence u is_partial_differentiable_in z, 2 by LM11, A0, A4, A7, P52;
    thus partdiff(u, z, 2) = diff((f/.x0)(#)g, t0) by A0, LM11, A4, A7, P52
    .= (f/.x0)*diff(g,t0) by A5, FDIFF_1:15;
  end;
