(* Contribution to the Coq Library   V6.3 (July 1999)                    *)
(****************************************************************************)
(*                 The Calculus of Inductive Constructions                  *)
(*                                                                          *)
(*                                Projet Coq                                *)
(*                                                                          *)
(*                     INRIA                        ENS-CNRS                *)
(*              Rocquencourt                        Lyon                    *)
(*                                                                          *)
(*                                Coq V5.10                                 *)
(*                              Nov 25th 1994                               *)
(*                                                                          *)
(****************************************************************************)
(*                                  Zdiv.v                                  *)
(****************************************************************************)
Require Export Zbase.
Require Export Zadd.
Require Export Zmult.
Require Export Zle.
Require Export Euclid.
Unset Standard Proposition Elimination Names.
(********************)
Definition is_diveuclZ (a b q r : Z) :=
b <> OZ /\ leZ OZ r /\ ltZ r (absZ b) /\ a = addZ (multZ b q) r.
(***************************)
Inductive diveuclZ (a b : Z) : Set :=
divexZ : forall q r : Z, is_diveuclZ a b q r -> diveuclZ a b.

(************************)
Lemma divZ : forall a b : Z, b <> OZ -> diveuclZ a b.