proposition: Lemma cpoly_mult_cr_assoc_mult_cr : forall p c d, cpoly_mult_cr_cs (cpoly_mult_cr_cs p c) d [=] cpoly_mult_cr_cs p (d[*]c).
proof: Proof. intros. pattern p in |- *; apply cpoly_ind_cs. repeat rewrite cpoly_zero_mult_cr. algebra. intros. repeat rewrite cpoly_lin_mult_cr. apply _cpoly_lin_eq_lin. split. algebra. assumption. Qed.
imports: CoRN.algebra.CRing_Homomorphisms CoRN.tactics.Rational