End TraceAndNormField.
Definition normalField U V := [forall x in kAEndf U, x @: V == V]%VS.

(* Specifications: *)
Lemma normalField_kAut K M E f :
(K <= M <= E)%VS -> normalField K M -> kAut K E f -> kAut K M f.
Lemma normalFieldP K E :
reflect {in E, forall a, exists2 r,
all (mem E) r & minPoly K a = \prod_(b <- r) ('X - b%:P)}
(normalField K E).
Lemma normalFieldf K : normalField K {:L}.
Lemma normalFieldS K M E : (K <= M)%VS -> normalField K E -> normalField M E.
Lemma splitting_normalField E K :
(K <= E)%VS ->
reflect (exists2 p, p \is a polyOver K & splittingFieldFor K p E)
(normalField K E).
Lemma kHom_to_gal K M E f :
(K <= M <= E)%VS -> normalField K E -> kHom K M f ->
{x | x \in 'Gal(E / K) & {in M, f =1 x}}.
Lemma normalField_root_minPoly K E a b :
(K <= E)%VS -> normalField K E -> a \in E -> root (minPoly K a) b ->
exists2 x, x \in 'Gal(E / K) & x a = b.