Implicit Types p q d u v : {poly R}.Definition separable U W : bool :=
  all (separable_element U) (vbasis W).Local Notation lcn_neq0 := (Pdiv.Idomain.lc_expn_scalp_neq0 _).

Lemma separable_map (F : fieldType) (R : idomainType) (f : {rmorphism F -> R}) (p : {poly F}) : separable_poly (map_poly f p) = separable_poly p.