Canonical coefp0_rmorphism := AddRMorphism coefp0_multiplicative.
(* Algebra structure of polynomials. *)
Definition scale_poly_def a (p : {poly R}) := \poly_(i < size p) (a * p`_i).
Fact scale_poly_key : unit. Proof. by []. Qed.
Definition scale_poly := locked_with scale_poly_key scale_poly_def.
Canonical scale_poly_unlockable := [unlockable fun scale_poly].
Fact scale_polyE a p : scale_poly a p = a%:P * p.
Fact scale_polyA a b p : scale_poly a (scale_poly b p) = scale_poly (a * b) p.

Lemma size_XmulC a : a != 0 -> size ('X * a%:P) = 2.
Local Notation "''X^' n" := ('X ^+ n).