proposition: Lemma Ztriv_div_th : div_theory req Z.add Z.mul zphi Z.quotrem.
proof: Proof. constructor. intros a b; generalize (Z.quotrem_eq a b); case Z.quotrem; intros; subst. rewrite Z.mul_comm; rsimpl. Qed.
imports: Zbool BinInt BinNat Setoid Ring_theory Ring_polynom