End FieldRingMap.
Section FieldMap.
Variable rR : idomainType.
Variable f : {rmorphism F -> rR}.
Local Notation "p ^f" := (map_poly f p) : ring_scope.
Implicit Type a b : {poly F}.

(* Specifications: *)
Lemma edivp_map a b :
edivp a^f b^f = (0%N, (a %/ b)^f, (a %% b)^f).
Lemma scalp_map p q : scalp p^f q^f = scalp p q.
Lemma dvdp_map p q : (p^f %| q^f) = (p %| q).
Lemma coprimep_map p q : coprimep p^f q^f = coprimep p q.
Lemma gdcop_map p q : (gdcop p q)^f = (gdcop p^f q^f).
Lemma coprimepP (p q : {poly F}):
reflect (forall x, root p x -> q.[x] != 0) (coprimep p q).