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 Th22:
  cdif(f1+f2,h).(n+1)/.x = cdif(f1,h).(n+1)/.x + cdif(f2,h).(n+1)/.x
proof
  defpred X[Nat] means
  for x holds cdif(f1+f2,h).($1+1)/.x = cdif(f1,h).($1+1)/.x
  + cdif(f2,h).($1+1)/.x;
A1: for k st X[k] holds X[k+1]
  proof
    let k;
    assume
A2: for x holds
    cdif(f1+f2,h).(k+1)/.x = cdif(f1,h).(k+1)/.x + cdif(f2,h).(k+1)/.x;
    let x;
A4: cdif(f1+f2,h).(k+1) is Function of V,W by Th19;
A5: cdif(f2,h).(k+1) is Function of V,W by Th19;
A6: cdif(f1,h).(k+1) is Function of V,W by Th19;
    cdif(f1+f2,h).(k+1+1)/.x = cD(cdif(f1+f2,h).(k+1),h)/.x by Def8
    .= cdif(f1+f2,h).(k+1)/.(x+(2*1.F)"*h)
      - cdif(f1+f2,h).(k+1)/.(x-(2*1.F)"*h) by A4,Th5
    .=cdif(f1,h).(k+1)/.(x+(2*1.F)"*h) + cdif(f2,h).(k+1)/.(x+(2*1.F)"*h)
      - cdif(f1+f2,h).(k+1)/.(x-(2*1.F)"*h) by A2
    .=(cdif(f1,h).(k+1)/.(x+(2*1.F)"*h) + cdif(f2,h).(k+1)/.(x+(2*1.F)"*h))
      - (cdif(f1,h).(k+1)/.(x-(2*1.F)"*h) + cdif(f2,h).(k+1)/.(x-(2*1.F)"*h))
    by A2
    .=((cdif(f1,h).(k+1)/.(x+(2*1.F)"*h) + cdif(f2,h).(k+1)/.(x+(2*1.F)"*h))
      - cdif(f2,h).(k+1)/.(x-(2*1.F)"*h)) - (cdif(f1,h).(k+1)/.(x-(2*1.F)"*h))
    by RLVECT_1:27
    .=(cdif(f1,h).(k+1)/.(x+(2*1.F)"*h) + (cdif(f2,h).(k+1)/.(x+(2*1.F)"*h)
      - cdif(f2,h).(k+1)/.(x-(2*1.F)"*h))) - (cdif(f1,h).(k+1)/.(x-(2*1.F)"*h))
    by RLVECT_1:28
    .=(cdif(f2,h).(k+1)/.(x+(2*1.F)"*h) - cdif(f2,h).(k+1)/.(x-(2*1.F)"*h))
      + (cdif(f1,h).(k+1)/.(x+(2*1.F)"*h) - (cdif(f1,h).(k+1)/.(x-(2*1.F)"*h)))
    by RLVECT_1:28
    .= cD(cdif(f1,h).(k+1),h)/.x + (cdif(f2,h).(k+1)/.(x+(2*1.F)"*h)
      - cdif(f2,h).(k+1)/.(x-(2*1.F)"*h)) by A6,Th5
    .= cD(cdif(f1,h).(k+1),h)/.x + cD(cdif(f2,h).(k+1),h)/.x by A5,Th5
    .= cdif(f1,h).(k+1+1)/.x + cD(cdif(f2,h).(k+1),h)/.x by Def8
    .= cdif(f1,h).(k+1+1)/.x + cdif(f2,h).(k+1+1)/.x by Def8;
    hence thesis;
  end;
B1: dom (f1+f2) = dom f1 /\ dom f2 by VFUNCT_1:def 1
  .= (the carrier of V) /\ dom f2 by FUNCT_2:def 1
  .= (the carrier of V) /\ (the carrier of V) by FUNCT_2:def 1
  .= the carrier of V;
A7: X[0]
  proof
    let x;
    reconsider xx = x, hp = (2*1.F)"*h as Element of V;
    cdif(f1+f2,h).(0+1)/.x = cD(cdif(f1+f2,h).0,h)/.x by Def8
    .= cD(f1+f2,h)/.x by Def8
    .= (f1+f2)/.(x+(2*1.F)"*h) - (f1+f2)/.(x-(2*1.F)"*h) by Th5
    .= f1/.(xx+(2*1.F)"*h) + f2/.(xx+hp) - (f1+f2)/.(xx-hp)
    by B1,VFUNCT_1:def 1
    .= f1/.(x+(2*1.F)"*h) + f2/.(x+hp) - (f1/.(x-(2*1.F)"*h) + f2/.(x-hp))
    by B1,VFUNCT_1:def 1
    .= f1/.(x+(2*1.F)"*h) + f2/.(x+hp) - f1/.(x-(2*1.F)"*h) - f2/.(x-hp)
    by RLVECT_1:27
    .= (f2/.(x+hp)+(f1/.(x+(2*1.F)"*h) - f1/.(x-(2*1.F)"*h)) - f2/.(x-hp))
    by RLVECT_1:28
    .= (f1/.(x+(2*1.F)"*h) - f1/.(x-(2*1.F)"*h)) + (f2/.(x+(2*1.F)"*h)
      - f2/.(x-(2*1.F)"*h)) by RLVECT_1:28
    .= cD(f1,h)/.x + (f2/.(x+(2*1.F)"*h) - f2/.(x-(2*1.F)"*h)) by Th5
    .= cD(f1,h)/.x + cD(f2,h)/.x by Th5
    .= cD(cdif(f1,h).0,h)/.x + cD(f2,h)/.x by Def8
    .= cD(cdif(f1,h).0,h)/.x + cD(cdif(f2,h).0,h)/.x by Def8
    .= cdif(f1,h).(0+1)/.x + cD(cdif(f2,h).0,h)/.x by Def8
    .= cdif(f1,h).(0+1)/.x + cdif(f2,h).(0+1)/.x by Def8;
    hence thesis;
  end;
  for n holds X[n] from NAT_1:sch 2(A7,A1);
  hence thesis;
end;
