reserve x for object;
reserve x0,r,r1,r2,g,g1,g2,p,y0 for Real;
reserve n,m,k,l for Element of NAT;
reserve a,b,d for Real_Sequence;
reserve h,h1,h2 for non-zero 0-convergent Real_Sequence;
reserve c,c1 for constant Real_Sequence;
reserve A for open Subset of REAL;
reserve f,f1,f2 for PartFunc of REAL,REAL;
reserve L for LinearFunc;
reserve R for RestFunc;

theorem
  f is_differentiable_in x0 implies for h,c st rng c = {x0} & rng (h + c
  ) c= dom f & rng (-h + c) c= dom f holds (2(#)h)"(#)(f/*(c+h) - f/*(c-h)) is
  convergent & lim((2(#)h)"(#)(f/*(c+h) - f/*(c-h))) = diff(f,x0)
proof
  assume
A1: f is_differentiable_in x0;
  let h,c such that
A2: rng c = {x0} and
A3: rng (h + c) c= dom f and
A4: rng ((-h) + c) c= dom f;
  set fm = (-h)"(#)(f/*(-h + c) - f/*c);
  lim (-h) = -lim h by SEQ_2:10; then
A5: -h is 0-convergent;
A6: lim fm = diff(f,x0) by A1,A2,A4,Th12,A5;
  set fp = h"(#)(f/*(h+c) - f/*c);
A7: diff(f,x0) = diff(f,x0);
  then
A8: fm is convergent by A1,A2,A4,Th12,A5;
A9: fp is convergent by A1,A2,A3,A7,Th12;
  then
A10: fp + fm is convergent by A8;
A11: now
    let n;
    thus (f/*(c+h) - f/*(c-h) + (f/*c - f/*c)).n = (f/*(c+h) - f/*(c-h)).n + (
    f/*c - f/*c).n by SEQ_1:7
      .= (f/*(c+h) - f/*(c-h)).n + ((f/*c).n - (f/*c).n) by RFUNCT_2:1
      .= (f/*(c+h) - f/*(c-h)).n;
  end;
A12: 2"(#)(fp + fm) = 2"(#)(h"(#)(f/*(c+h) - f/*c) + (-1)(#)h"(#)(f/*(c + -h
  ) - f/*c)) by SEQ_1:47
    .= 2"(#)(h"(#)(f/*(c+h) - f/*c) + (-1)(#)(h"(#) (f/*(c + -h) - f/*c)))
  by SEQ_1:18
    .= 2"(#)(h"(#)(f/*(c+h) - f/*c) + h"(#)((-1)(#) (f/*(c + -h) - f/*c)))
  by SEQ_1:19
    .= 2"(#)(h"(#)(f/*(c+h) - f/*c + (-1)(#)(f/*(c + -h) - f/*c))) by SEQ_1:16
    .= 2"(#)h"(#)(f/*(c+h) - f/*c + (-1)(#)(f/*(c + -h) - f/*c)) by SEQ_1:18
    .= (2(#)h)"(#)(f/*(c+h) - f/*c + (-1)(#)(f/*(c + -h) - f/*c)) by SEQ_1:46
    .= (2(#)h)"(#)(f/*(c+h) - (f/*c - -(f/*(c + -h) - f/*c))) by SEQ_1:30
    .= (2(#)h)"(#)(f/*(c+h) - (f/*(c + -h) - (f/*c - f/*c))) by SEQ_1:30
    .= (2(#)h)"(#)(f/*(c+h) - f/*(c-h) + (f/*c - f/*c)) by SEQ_1:30;
  lim fp = diff(f,x0) by A1,A2,A3,Th12;
  then lim (fp + fm) = 1*diff(f,x0) + diff(f,x0) by A9,A8,A6,SEQ_2:6
    .= 2*diff(f,x0);
  then
A13: lim (2"(#)(fp + fm)) = 2"*(2*diff(f,x0)) by A10,SEQ_2:8
    .= diff(f,x0);
  2" (#) (fp + fm) is convergent by A10;
  hence thesis by A13,A12,A11,FUNCT_2:63;
end;
