Module Type ZLcmProp
(Import A : ZAxiomsSig')
(Import B : ZMulOrderProp A)
(Import C : ZSgnAbsProp A B)
(Import D : ZDivProp A B C)
(Import E : ZQuotProp A B C)
(Import F : ZGcdProp A B C).
(** The two notions of division are equal on non-negative numbers *)
(** We can use the sign rule to have an relation between divisions. *)
(** Modulo and remainder are null at the same place, and this correspond to the divisibility relation. *)
(** When division is exact, div and quot agree *)
(** Gcd of divided elements, for exact divisions *)

Lemma gcd_div_gcd : forall a b g, g~=0 -> g == gcd a b ->
gcd (a/g) (b/g) == 1.