reserve n,m,k,i for Nat,
  h,r,r1,r2,x0,x1,x2,x for Real,
  S for Functional_Sequence of REAL,REAL,
  y for set;
reserve f,f1,f2 for Function of REAL,REAL;

theorem
  f is constant implies for x holds fdif(f,h).(n+1).x=0
proof
  assume
A1: f is constant;
A2: for x holds f.(x+h) - f.x = 0
  proof
    let x;
    x+h in REAL by XREAL_0:def 1; then
A3: x+h in dom f by FUNCT_2:def 1;
    x in REAL by XREAL_0:def 1;
    then x in dom f by FUNCT_2:def 1;
    then f.x = f.(x+h) by A1,A3,FUNCT_1:def 10;
    hence thesis;
  end;
  for x holds fdif(f,h).(n+1).x=0
  proof
    defpred X[Nat] means for x holds fdif(f,h).($1+1).x=0;
A4: for k st X[k] holds X[k+1]
    proof
      let k;
      assume
A5:   for x holds fdif(f,h).(k+1).x=0;
      let x;
A6:   fdif(f,h).(k+1).(x+h)=0 by A5;
A7:   fdif(f,h).(k+1) is Function of REAL,REAL by Th2;
      (fdif(f,h).(k+2)).x = (fdif(f,h).(k+1+1)).x
        .= fD(fdif(f,h).(k+1),h).x by Def6
        .= fdif(f,h).(k+1).(x+h) - fdif(f,h).(k+1).x by A7,Th3
        .= 0 - 0 by A5,A6
        .= 0;
      hence thesis;
    end;
A8: X[0]
    proof
      let x;
      thus fdif(f,h).(0+1).x = fD(fdif(f,h).0,h).x by Def6
        .= fD(f,h).x by Def6
        .= f.(x+h) - f.x by Th3
        .= 0 by A2;
    end;
    for n holds X[n] from NAT_1:sch 2(A8,A4);
    hence thesis;
  end;
  hence thesis;
end;
