(*****************************************************************************)
Inductive ex_div : nat -> nat -> Prop :=
ex_div_def : forall a b q r : nat, is_div a b q r -> ex_div a b.

(* Specifications: *)
Lemma div_x_nO : forall x y q r : nat, is_div x y q r -> y <> 0.
Lemma div_x_O_r : forall x q r : nat, is_div 0 x q r -> r = 0.
Lemma div_x_O_q : forall x q r : nat, is_div 0 x q r -> q = 0.
Lemma div_pred :
forall x y q : nat,
0 < x -> is_div x y q 0 -> is_div (pred x) y (pred q) (pred y).
Lemma div_SxS :
forall x y q r : nat,
0 < r -> is_div x y q r -> is_div (pred x) y q (pred r).
Lemma div_unic_r :
forall a b q1 q2 r1 r2 : nat,
is_div a b q1 r1 -> is_div a b q2 r2 -> r1 = r2.