reserve k,m,n for Nat;
reserve R for commutative Ring,
        p,q for Polynomial of R,
        z0,z1 for Element of R;

theorem Th11:
  for L being domRing, p being non-zero Polynomial of L holds
  card Roots p < len p
proof
  let L be domRing, p be non-zero Polynomial of L;
  defpred P[Nat] means for p being non-zero Polynomial of L st
     len p = $1 holds card Roots p < len p;
A1:P[1] by UPROOTS:46,CARD_1:27;
A2: for n being Nat st n>=1 & P[n] holds P[n+1]
  proof
    let n be Nat such that
    n >= 1 and
A3: P[n];
    let p be non-zero Polynomial of L;
    assume
A4: len p = n+1;
    per cases;
      suppose p is with_roots;
        then consider x be Element of L such that
A5:       x is_a_root_of p by POLYNOM5:def 8;
        set r = <%-x,1.L%>, pq = poly_quotient(p,x);
        len pq >0 by A5,UPROOTS:47;
        then pq <>0_.L by POLYNOM4:3;
        then reconsider pq as non-zero Polynomial of L by UPROOTS:def 5;
        set Rr =Roots r, Rpq=Roots pq;
        p = <%-x,1.L%>*'poly_quotient(p,x) by A5,UPROOTS:50;
        then
A6:       Roots p = Rr\/Rpq by UPROOTS:23;
A7:     Rr = {x} by UPROOTS:48;
A8:     len pq + 1 = len p by A4,A5,UPROOTS:def 7;
        card Rr = 1 by A7,CARD_1:30;
        then
A9:       card (Rr\/Rpq) <= card Rpq + 1 by CARD_2:43;
        card Rpq+1 < n+1 by A8,A3,A4,XREAL_1:8;
        hence thesis by A4,A6,A9,XXREAL_0:2;
      end;
      suppose
A10:    not p is with_roots;
        now
          assume Roots p <> {};
          then consider x being object such that
A11:        x in Roots p by XBOOLE_0:def 1;
          reconsider x as Element of L by A11;
          x is_a_root_of p by A11,POLYNOM5:def 10;
          hence contradiction by A10,POLYNOM5:def 8;
        end;
        hence thesis by A4;
      end;
  end;
  p <> 0_. L by UPROOTS:def 5;
  then
A12: len p >= 1 by NAT_1:14,POLYNOM4:5;
  for n being Nat st n >= 1 holds P[n] from NAT_1:sch 8(A1,A2);
  hence thesis by A12;
end;
