Definition egcdGI (x y : GI) :=
if ('N y <= 'N x)%N then
egcdGI_rec ('N x) x y else
let e := egcdGI_rec ('N y) y x in (e.2, e.1).

Lemma egcdGIP (x y : GI) : gcdGI x y = (egcdGI x y).1 * x + (egcdGI x y).2 * y.