
theorem ThSep0:
for F being Field,
    p being non constant Element of the carrier of Polynom-Ring F holds
p is separable iff
(for E being FieldExtension of F st p splits_in E
 for a being Element of E st a is_a_root_of p,E holds multiplicity(p,a) = 1)
proof
let F be Field, p be non constant Element of the carrier of Polynom-Ring F;
A: now assume A1: for E being FieldExtension of F st p splits_in E
    for a being Element of E st a is_a_root_of p,E holds multiplicity(p,a) = 1;
   now let K be SplittingField of p, a be Element of K;
     assume A2: a is_a_root_of p,K;
     p splits_in K by FIELD_8:def 1;
     hence multiplicity(p,a) = 1 by A1,A2;
     end;
    hence p is separable;
    end;
now assume B1: p is separable;
  now let E be FieldExtension of F;
    assume B2: p splits_in E;
    let a be Element of E;
    assume B3: a is_a_root_of p,E;
    set K = the SplittingField of p;
    H1: Roots(E,p) = {a where a is Element of E : a is_a_root_of p,E}
        by FIELD_4:def 4;
    reconsider E1 = E as FAdj(F,Roots(E,p))-extending FieldExtension of F
        by FIELD_4:7;
    consider a1 being Element of E1 such that
    H6: a1 = a & a1 is_a_root_of p,E1 by B3;
    a1 in Roots(E,p) &
    Roots(E,p) is Subset of FAdj(F,Roots(E,p)) by H1,H6,FIELD_6:35; then
    reconsider b = a1 as Element of FAdj(F,Roots(E,p));
    id F is isomorphism; then
    reconsider F1 = F as F-isomorphic Field by RING_3:def 4;
    reconsider h = id F as Isomorphism of F,F1;
    H2: FAdj(F,Roots(E,p)) is SplittingField of p by B2,FIELD_8:33;
    (PolyHom h).p = p
       proof
       now let o be object;
         assume o in NAT;
         then reconsider m = o as Nat;
         ((PolyHom h).p).m = h.(p.m) by FIELD_1:def 2 .= p.m;
         hence ((PolyHom h).p).o = p.o;
         end;
       hence thesis;
       end; then
    consider f being Function of FAdj(F,Roots(E,p)),K such that
    H3: f is h-extending isomorphism by H2,FIELD_8:57;
    T: now let a be Element of F;
       thus f.a = h.a by H3 .= a;
       end; then
    H4: f is F-fixing;
    f.b is_a_root_of p,K
       proof
       reconsider K1 = K as FAdj(F,Roots(E,p))-homomorphic Field
           by H3,RING_2:def 4;
       reconsider f as Homomorphism of FAdj(F,Roots(E,p)),K1 by H3;
       the carrier of Polynom-Ring F c=
       the carrier of Polynom-Ring FAdj(F,Roots(E,p)) by FIELD_4:10; then
       reconsider q = p as
              Element of the carrier of Polynom-Ring FAdj(F,Roots(E,p));
       eval(q,b) = Ext_eval(p,b) by FIELD_4:26
                .= Ext_eval(p,a1) by FIELD_6:11
                .= 0.E by H6,FIELD_4:def 2
                .= 0.FAdj(F,Roots(E,p)) by EC_PF_1:def 1; then
       b is_a_root_of q; then
       H7: f.b is_a_root_of (PolyHom f).q by FIELD_1:33;
       H8: (PolyHom f).q = q
           proof
           now let o be object;
             assume o in NAT;
             then reconsider m = o as Nat;
             ((PolyHom f).q).m = f.(p.m) by FIELD_1:def 2 .= p.m by T;
             hence ((PolyHom f).q).o = q.o;
             end;
           hence thesis;
           end;
       0.K = Ext_eval(p,f.b) by H7,H8,FIELD_4:26;
       hence thesis by FIELD_4:def 2;
       end; then
    H5: multiplicity(p,f.b) = 1 by B1;
    multiplicity(p,b) = multiplicity(p,@(b,E1)) by multi3K
                     .= multiplicity(p,a) by H6,FIELD_7:def 4;
    hence multiplicity(p,a) = 1 by H4,H5,H3,multiiso;
    end;
  hence for E being FieldExtension of F st p splits_in E
    for a being Element of E st a is_a_root_of p,E holds multiplicity(p,a) = 1;
  end;
hence thesis by A;
end;
