Proof. by rewrite /(_ \Po p) map_polyC hornerC. Qed.ewrite /comp_poly rmorphD /= map_polyZ !hornerE_comm mul_polyC.
Qed.Canonical comp_poly_additive p := Additive (comp_poly_is_linear

(* Specifications: *)
Lemma map_comp_poly (aR rR : ringType) (f : {rmorphism