elim divdm; intros; elim divdn; intros.
rewrite H0; rewrite H. elim (mult_minus_distr_left x0 x d).
unfold div in |- *.
exists (x0 - x); auto with arith.
Qed.
Hint Resolve div_minus.
(************* Informative definitions of Even and Or ********************)
Inductive Even (n : nat) : Set :=
Even_intro : forall q : nat, n = 2 * q -> Even n.
Inductive Odd (n : nat) : Set :=
Odd_intro : forall q : nat, n = 2 * q + 1 -> Odd n.
(************************************************************************)

(* Specifications: *)
Lemma Even_or_Odd : forall n : nat, Even n + Odd n.
simple induction n.