proposition: Theorem spec_modulo: forall x y, to_Z (modulo x y) = to_Z x mod to_Z y.
proof: Proof. intros x y; generalize (spec_div_eucl x y); unfold modulo, Z.modulo. case div_eucl; case Z.div_eucl; simpl; auto. intros q r q11 r1 H; injection H; auto. Qed.
imports: ZArith Lia BigNumPrelude NSig ZSig