reserve D for set;
reserve x,x0,x1,x2,y,y0,y1,y2,z,z0,z1,z2,r,s,t for Real;
reserve p,a,u,u0 for Element of REAL 3;
reserve n,m,k for Element of NAT;
reserve f,f1,f2,f3,g for PartFunc of REAL 3,REAL;
reserve R,R1,R2 for RestFunc;
reserve L,L1,L2 for LinearFunc;

theorem
  (f is_partial_differentiable_in p,1 & f is_partial_differentiable_in p,2 &
  f is_partial_differentiable_in p,3) & (g is_partial_differentiable_in p,1 &
  g is_partial_differentiable_in p,2 & g is_partial_differentiable_in p,3)
  implies grad(s(#)f+t(#)g,p) = s*grad(f,p)+t*grad(g,p)
proof
    assume that
A1: f is_partial_differentiable_in p,1 & f is_partial_differentiable_in p,2 &
    f is_partial_differentiable_in p,3 and
A2: g is_partial_differentiable_in p,1 & g is_partial_differentiable_in p,2 &
    g is_partial_differentiable_in p,3;
    reconsider s,t as Real;
A3: s(#)f is_partial_differentiable_in p,1 &
    s(#)f is_partial_differentiable_in p,2 &
    s(#)f is_partial_differentiable_in p,3 by A1,PDIFF_1:33;
 t(#)g is_partial_differentiable_in p,1 &
    t(#)g is_partial_differentiable_in p,2 &
    t(#)g is_partial_differentiable_in p,3 by A2,PDIFF_1:33;
    then grad(s(#)f+t(#)g,p) = grad(s(#)f,p)+grad(t(#)g,p) by A3,Th35
   .= s*grad(f,p)+grad(t(#)g,p) by A1,Th37
   .= s*grad(f,p)+t*grad(g,p) by A2,Th37;
    hence thesis;
end;
