reserve m,n for non zero Element of NAT;
reserve i,j,k for Element of NAT;
reserve Z for set;

theorem
for X be Subset of REAL m, f,g be PartFunc of REAL m,REAL n st
  f is_differentiable_on X & g is_differentiable_on X
 holds
   f+g is_differentiable_on X
 & for x be Element of REAL m st x in X
     holds ((f+g)`|X)/.x = diff(f,x) + diff(g,x)
proof
   let X be Subset of REAL m, f,g be PartFunc of REAL m,REAL n;
   assume A1: f is_differentiable_on X & g is_differentiable_on X; then
A2:X is open by PDIFF_6:33; then
A3:X c=dom f & X c=dom g by A1,Th14;
   dom (f+g) = dom f /\ dom g by VALUED_2:def 45; then
A4:X c= dom (f+g) by A3,XBOOLE_1:19;
   now let x be Element of REAL m;
    assume x in X; then
    f is_differentiable_in x & g is_differentiable_in x by A1,A2,Th14;
    hence f+g is_differentiable_in x by PDIFF_6:20;
   end;
   hence f+g is_differentiable_on X by A4,A2,Th14;
   let x be Element of REAL m;
    assume A5:x in X; then
    f is_differentiable_in x & g is_differentiable_in x
      by A1,A2,Th14; then
    diff(f+g,x) = diff(f,x)+ diff(g,x) by PDIFF_6:20;
    hence ((f+g)`|X)/.x = diff(f,x)+ diff(g,x) by A4,A5,Def1;
end;
