proposition: Lemma poly_mulDr : right_distributive mpoly_mul +%R.
proof: Proof. move=> p q r; pose_big_enough i. rewrite !(mpoly_mulwE (msize p) i) //=. apply/mpoly_eqP=> /=; rewrite -big_split /=; apply: eq_bigr. by case=> [[i1 /= _] [i2 /= _]] _; rewrite freegUD -mulrDr -mcoeffD. by close. Qed.
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq path) mathcomp(choice fintype tuple finfun bigop finset binomial) mathcomp(order fingroup perm ssralg zmodp poly ssrint) mathcomp(matrix vector) mathcomp(bigenough) ssrcomplements freeg