reserve y for object, X for set;
reserve x,x0,x1,x2,g,g1,g2,r,r1,s,p,p1 for Real;
reserve n,m,k for Element of NAT;
reserve Y for Subset of REAL;
reserve Z for open Subset of REAL;
reserve s1,s3 for Real_Sequence;
reserve f,f1,f2 for PartFunc of REAL,REAL;
reserve h for non-zero 0-convergent Real_Sequence;
reserve c for constant Real_Sequence;
reserve R,R1,R2 for RestFunc;
reserve L,L1,L2 for LinearFunc;

theorem
  Z c= dom (r(#)f) & f is_differentiable_on Z implies r(#)f
  is_differentiable_on Z & for x st x in Z holds ((r(#) f)`|Z).x =r*diff(f,x)
proof
  assume that
A1: Z c= dom (r(#)f) and
A2: f is_differentiable_on Z;
  now
    let x0;
    assume x0 in Z;
    then f is_differentiable_in x0 by A2,Th9;
    hence r(#)f is_differentiable_in x0 by Th15;
  end;
  hence
A3: r(#)f is_differentiable_on Z by A1,Th9;
  now
    let x;
    assume
A4: x in Z;
    then
A5: f is_differentiable_in x by A2,Th9;
    thus ((r(#)f)`|Z).x = diff((r(#)f),x) by A3,A4,Def7
      .= r*diff(f,x) by A5,Th15;
  end;
  hence thesis;
end;
