reserve C for non empty set;
reserve GF for Field,
        V for VectSp of GF,
        v,u for Element of V,
        W for Subset of V;
reserve f,f1,f2,f3 for PartFunc of C,V;
reserve F,G for Field,
        V for VectSp of F,
        W for VectSp of G;
reserve f,f1,f2 for Function of V, W;
reserve x,h for Element of V;
reserve r,r1,r2 for Element of G;
reserve n,m,k for Nat;

theorem
  f is constant implies for x holds cdif(f,h).(n+1)/.x = 0.W
proof
  defpred X[Nat] means for x holds cdif(f,h).($1+1)/.x = 0.W;
  assume
A1: f is constant;
A2: for x holds f/.(x+(2*1.F)"*h) - f/.(x-(2*1.F)"*h) = 0.W
  proof
    let x;
    x-(2*1.F)"*h in the carrier of V;
    then
A3: x-(2*1.F)"*h in dom f by FUNCT_2:def 1;
    x+(2*1.F)"*h in the carrier of V;
    then x+(2*1.F)"*h in dom f by FUNCT_2:def 1;
    then f/.(x+(2*1.F)"*h) = f/.(x-(2*1.F)"*h) by A1,A3,FUNCT_1:def 10;
    hence thesis by RLVECT_1:15;
  end;
A4: X[0]
  proof
    let x;
    thus cdif(f,h).(0+1)/.x = cD(cdif(f,h).0,h)/.x by Def8
    .= cD(f,h)/.x by Def8
    .= f/.(x+(2*1.F)"*h) - f/.(x-(2*1.F)"*h) by Th5
    .= 0.W by A2;
  end;
A5: for k st X[k] holds X[k+1]
  proof
    let k;
    assume
A6: for x holds cdif(f,h).(k+1)/.x = 0.W;
    let x;
A8: cdif(f,h).(k+1) is Function of V,W by Th19;
    (cdif(f,h).(k+2))/.x = (cdif(f,h).(k+1+1))/.x
    .= cD(cdif(f,h).(k+1),h)/.x by Def8
    .= cdif(f,h).(k+1)/.(x+(2*1.F)"*h) - cdif(f,h).(k+1)/.(x-(2*1.F)"*h)
    by A8,Th5
    .= cdif(f,h).(k+1)/.(x+(2*1.F)"*h) - 0.W by A6
    .= cdif(f,h).(k+1)/.(x+(2*1.F)"*h) by RLVECT_1:13
    .= 0.W by A6;
    hence thesis;
  end;
  for n holds X[n] from NAT_1:sch 2(A4,A5);
  hence thesis;
end;
