
theorem ZZ1:
for F being Field,
    p being Ppoly of F
holds p is Ppoly of F,(Roots p) iff
      for a being Element of F st a is_a_root_of p holds multiplicity(p,a) = 1
proof
let F be Field, p be Ppoly of F;
set P = Roots p;
A: now assume A: p is Ppoly of F,(Roots p);
   B: Bag P = (P,1)-bag by RING_5:def 1;
   thus
   for a being Element of F st a is_a_root_of p holds multiplicity(p,a) = 1
     proof
     let a be Element of F;
     assume a is_a_root_of p;
     then a in P by POLYNOM5:def 10;
     then (P,1)-bag.a = 1 by UPROOTS:7;
     hence multiplicity(p,a) = 1 by B,A,RING_5:def 5;
     end;
   end;
now assume A:
   for a being Element of F st a is_a_root_of p holds multiplicity(p,a) = 1;
   B: p is Ppoly of F,(BRoots p) by RING_5:59;
      BRoots p = (P,1)-bag
      proof
      now let o be object;
        assume o in the carrier of F; then
        reconsider a = o as Element of F;
        per cases;
        suppose B0: not a is_a_root_of p; then
          B1: multiplicity(p,a) = 0 by NAT_1:14,UPROOTS:52;
          B2: not a in P by B0,POLYNOM5:def 10;
          thus (BRoots p).o = 0 by B1,UPROOTS:def 9
                   .= ((P,1)-bag).o by B2,UPROOTS:6;
          end;
        suppose B0: a is_a_root_of p; then
          B1: multiplicity(p,a) = 1 by A;
          B2: a in P by B0,POLYNOM5:def 10;
          thus (BRoots p).o = 1 by B1,UPROOTS:def 9
                   .= ((P,1)-bag).o by B2,UPROOTS:7;
          end;
        end;
      hence thesis by PBOOLE:3;
      end;
   hence p is Ppoly of F,(Roots p) by B,RING_5:def 1;
   end;
hence thesis by A;
end;
