
theorem ThSep1:
for F being Field,
    p being non constant Element of the carrier of Polynom-Ring F holds
p is separable iff
(ex 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: p is separable;
   set E = the SplittingField of p;
   p splits_in E by FIELD_8:def 1;
   hence ex 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
     by A1;
   end;
now assume ex 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;
   then consider E being FieldExtension of F such that
   B1: p splits_in E & for a being Element of E
                            st a is_a_root_of p,E holds multiplicity(p,a) = 1;
   reconsider K = FAdj(F,Roots(E,p)) as SplittingField of p by B1,FIELD_8:33;
   reconsider E as K-extending FieldExtension of F by FIELD_4:7;
   B3: now let a be Element of K;
       assume H0: a is_a_root_of p,K;
       H1: Roots(E,p) = {a where a is Element of E : a is_a_root_of p,E} &
           Roots(K,p) = {a where a is Element of K : a is_a_root_of p,K}
           by FIELD_4:def 4; then
       a in Roots(K,p) & Roots(K,p) c= Roots(E,p) by H0,FIELD_8:18; then
       a in Roots(E,p); then
       consider b being Element of E such that
       B4: b = a & b is_a_root_of p,E by H1;
       B5: @(a,E) is_a_root_of p,E by B4,FIELD_7:def 4;
       multiplicity(p,a) = multiplicity(p,@(a,E)) by multi3K;
       hence multiplicity(p,a) = 1 by B1,B5;
       end;
   set K1 = the SplittingField of 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;
    (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 K1,K such that
    H3: f is h-extending isomorphism by FIELD_8:57;
    T: now let a be Element of F;
        thus f.a = h.a by H3 .= a;
      end; then
    U: f is F-fixing;
   now let a be Element of K1;
     assume H0: a is_a_root_of p,K1;
     H4: multiplicity(p,a) = multiplicity(p,f.a) by U,H3,multiiso;
     f.a is_a_root_of p,K
       proof
       reconsider K2 = K as K1-homomorphic Field by H3,RING_2:def 4;
       reconsider f as Homomorphism of K1,K2 by H3;
       the carrier of Polynom-Ring F c=
       the carrier of Polynom-Ring K1 by FIELD_4:10; then
       reconsider q = p as Element of the carrier of Polynom-Ring K1;
       eval(q,a) = Ext_eval(p,a) by FIELD_4:26
                .= 0.K1 by H0,FIELD_4:def 2; then
       a is_a_root_of q; then
       H7: f.a 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.a) by H7,H8,FIELD_4:26;
       hence thesis by FIELD_4:def 2;
       end;
     hence multiplicity(p,a) = 1 by B3,H4;
     end;
   hence p is separable;
   end;
hence thesis by A;
end;
