Module Type ZGcdProp
(Import A : ZAxiomsSig')
(Import B : ZMulOrderProp A)
(Import C : ZSgnAbsProp A B).
Include NZGcdProp A A B.
(** Results concerning divisibility*)
(** Properties of gcd *)
Definition Bezout n m p := exists a b, a*n + b*m == p.
Instance Bezout_wd : Proper (eq==>eq==>eq==>iff) Bezout.

Lemma gcd_mul_mono_l_nonneg :
forall n m p, 0<=p -> gcd (p*n) (p*m) == p * gcd n m.