proposition: Lemma mpoly_idomainAxiom p q : p * q = 0 -> (p == 0) || (q == 0).
proof: Proof. apply: contra_eqT => /norP[nz_p nz_q]; rewrite -msize_poly_eq0 msizeM //. by rewrite (mpolySpred _ nz_p) (mpolySpred _ nz_q) addnS. 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