reserve c for Complex;
reserve r for Real;
reserve m,n for Nat;
reserve f for complex-valued Function;
reserve f,g for differentiable Function of REAL,REAL;
reserve L for non empty ZeroStr;
reserve x for Element of L;
reserve p,q for Polynomial of F_Real;

theorem Th61:
  (Eval(p))`| = Eval(poly_diff(p))
  proof
    set f = Eval(p)`|;
    set g = Eval(poly_diff(p));
    defpred P[Nat] means
    for p st len p <= $1 holds Eval(p)`| = Eval(poly_diff(p));
A1: P[0]
    proof
      let p;
      assume len p <= 0;
      then len p = 0;
      then
A2:   p = z by POLYNOM4:5;
      poly_diff(z) = z by Th46;
      hence thesis by A2,Th52,Th54;
    end;
A3: P[n] implies P[n+1]
    proof
      assume that
A4:   P[n];
      let p such that
A5:   len p <= n+1;
      set m = len p-'1;
      set q = p||m;
      now
        per cases;
        suppose p <> z;
          hence len q < n+1 by A5,Th36,XXREAL_0:2;
        end;
        suppose p = z;
          hence len q < n+1 by POLYNOM4:3;
        end;
      end;
      then
A6:   Eval(q)`| = Eval(poly_diff(q)) by A4,NAT_1:13;
      set l = Leading-Monomial(p);
A7:   q + l = p by Th37;
A8:   poly_diff(q+l) = poly_diff(q)+poly_diff(l) by Th47;
A9:   Eval(l)`| = Eval(poly_diff(l)) by Lm3;
A10:  Eval(poly_diff(q)+poly_diff(l)) = Eval(poly_diff(q)) + Eval(poly_diff(l))
      by Th55;
      Eval(q+l) = Eval(q)+Eval(l) by Th55;
      hence thesis by A6,A7,A8,A9,A10,Th14;
    end;
A11: P[n] from NAT_1:sch 2(A1,A3);
    len p = len p;
    hence thesis by A11;
  end;
