(** The following equality is crucial for Euclid algorithm *)

(* Specifications: *)
Lemma gcd_mod : forall a b, b~=0 -> gcd (a mod b) b == gcd b a.
Definition lcm a b := a*(b/gcd a b).
Lemma gcd_mod : forall a b, b~=0 -> gcd (a mod b) b == gcd b a.
Lemma gcd_rem : forall a b, b~=0 -> gcd (a rem b) b == gcd b a.
Definition lcm a b := abs (a*(b/gcd a b)).