omega. ring. Qed.

(* Specifications: *)
Lemma Zdiv_times_plus : forall x y m : Z, 0 < m -> (x * m + y) / m = (x + y / m).
intros. rewrite Zplus_comm. rewrite Z_div_plus. ring. omega. Qed.
Lemma div_1_id : forall a : Z, a / 1 = a.
intro a. replace a with (a * 1). rewrite Z_div_mult. ring. omega. ring. Qed.
Lemma mod_1_0 : forall z : Z, z mod 1 = 0.
intro z. cut (0 <= z mod 1). cut (z mod 1 < 1). omega. apply Zmod_lt_z_m. omega. apply Zmod_le_0_z. omega. Qed.