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;

theorem Th36:
  for L being non empty ZeroStr, p being Polynomial of L holds
  p <> 0_.L implies len(p||(len p-'1)) < len p
  proof
    let L be non empty ZeroStr, p be Polynomial of L;
    assume
A1: p <> 0_.L;
    set m = len p-'1;
A2: m = len p - 1 by A1,Th22;
A3: len p - 1 < len p - 0 by XREAL_1:15;
    len p is_at_least_length_of p||m
    proof
      let i be Nat such that
A4:   i >= len p;
      thus (p||m).i = p.i by A2,A3,A4,FUNCT_7:32
      .= 0.L by A4,ALGSEQ_1:8;
    end;
    then
A5: len(p||m) <= len p by ALGSEQ_1:def 3;
    now
      assume len(p||m) = len p;
      then
A6:   len(p||m) is_at_least_length_of p by ALGSEQ_1:def 3;
      m is_at_least_length_of p||m
      proof
        let i be Nat;
        assume
A7:     i >= m;
        per cases;
        suppose
A8:       i <> m;
          then i > m by A7,XXREAL_0:1;
          then i >= len p-1+1 by A2,NAT_1:13;
          hence 0.L = p.i by ALGSEQ_1:8
          .= (p||m).i by A8,FUNCT_7:32;
        end;
        suppose i = m;
          hence (p||m).i = 0.L by Th32;
        end;
      end;
      then m >= len(p||m) by ALGSEQ_1:def 3;
      then
A9:   p.m = 0.L by A6;
      len p <> 0 by A1,POLYNOM4:5;
      hence contradiction by A9,UPROOTS:18;
    end;
    hence thesis by A5,XXREAL_0:1;
  end;
