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 Th50:
  poly_diff(Leading-Monomial p) =
   0_.F_Real +* (len p-'2,(p.(len p-'1))*(len p-'1))
  proof
    set l = Leading-Monomial(p);
    set m = len p-'1;
    set k = len p-'2;
    reconsider a = (p.m)*m as Element of F by XREAL_0:def 1;
    set f = z+*(k,a);
    poly_diff(l) = f
    proof
      let n be Element of NAT;
A1:   (poly_diff(l)).n = l.(n+1) * (n+1) by Def5;
A2:   dom z = NAT;
      per cases by NAT_1:53;
      suppose
A3:     len p = 0 or len p = 1;
        1-1 >= 0;
        then
A4:     1-'1 = 0 by XREAL_0:def 2;
        1-2 < 0;
        then
A5:     k = 0 by A3,XREAL_0:def 2;
        0-'1 = 0;
        then
A6:     l.(n+1) = 0.F by A3,A4,POLYNOM4:def 1;
        now
          per cases;
          suppose n = 0;
            hence f.n = 0.F by A2,A3,A4,A5,FUNCT_7:31;
          end;
          suppose n <> 0;
            hence f.n = z.n by A5,FUNCT_7:32
            .= 0.F;
          end;
        end;
        hence thesis by A1,A6;
      end;
      suppose
A7:     len p > 1;
        then
A8:     len p - 1 > 1-1 by XREAL_1:14;
        per cases;
        suppose
A9:       m = n+1;
          then
A10:      l.(n+1) = p.m by POLYNOM4:def 1;
          k = m-'1 by NAT_D:45;
          then k+1 = n+1 by A9,NAT_D:34;
          hence thesis by A1,A2,A9,A10,FUNCT_7:31;
        end;
        suppose
A11:      m <> n+1;
          then
A12:      l.(n+1) = 0.F by POLYNOM4:def 1;
A13:      len p-2 <> n by A8,A11,XREAL_0:def 2;
          len p-2 > 1-2 by A7,XREAL_1:14;
          then len p-2 >= -1+1 by INT_1:7;
          then k = len p-2 by XREAL_0:def 2;
          hence f.n = z.n by A13,FUNCT_7:32
          .= (poly_diff(l)).n by A1,A12;
        end;
      end;
    end;
    hence thesis;
  end;
