End SeparableElement.
Arguments separable_elementP {K x}.

(* Specifications: *)
Lemma separable_elementS K E x :
(K <= E)%VS -> separable_element K x -> separable_element E x.
Lemma adjoin_separableP {K x} :
reflect (forall y, y \in <<K; x>>%VS -> separable_element K y)
(separable_element K x).
Lemma separable_exponent K x :
exists n, [char L].-nat n && separable_element K (x ^+ n).
Lemma charf0_separable K : [char L] =i pred0 -> forall x, separable_element K x.
Lemma charf_p_separable K x e p :
p \in [char L] -> separable_element K x = (x \in <<K; x ^+ (p ^ e.+1)>>%VS).
Lemma charf_n_separable K x n :
[char L].-nat n -> 1 < n -> separable_element K x = (x \in <<K; x ^+ n>>%VS).