Canonical GI_idomainType :=
  Eval hnf in IdomainType GI GI_idomainAxiom.Definition iGI := GIof iGI_proof.

(* Specifications: *)
Lemma gcd0GI : left_id 0 gcdGI.
Lemma gcdGI0 : right_id 0 gcdGI.
Lemma gcdGI1 y : gcdGI y 1 = 1.
Lemma gcdGIxx : idempotent gcdGI.
Lemma dvdGI_trans : transitive dvdGI.
Lemma mulGI_lcm_gcd x y : lcmGI x y * gcdGI x y = x * y.
Lemma lcm0GI y : lcmGI 0 y = 0.
Lemma lcmGI0 x : lcmGI x 0 = 0.