End IDomainPseudoDivision.
Hint Resolve eqpxx divp0 divp1 mod0p modp0 modp1 dvdp_mull dvdp_mulr dvdpp : core.
Hint Resolve dvdp0 : core.
End CommonIdomain.
Module Idomain.
Include IdomainDefs.
Export IdomainDefs.
Include WeakIdomain.
Include CommonIdomain.
End Idomain.
Module IdomainMonic.
Section MonicDivisor.
Variable R : idomainType.
Variable q : {poly R}.
Hypothesis monq : q \is monic.
Implicit Type p d r : {poly R}.

Lemma dvdpP p : reflect (exists q, p = q * d) (d %| p).