proposition: Lemma gcdr_addr_r c a b : a %| b -> gcdr a (c + b) %= gcdr a c.
proof: Proof. move=> hab. rewrite /eqd !dvdr_gcd !dvdr_gcdl dvdr_add ?(dvdr_trans _ hab) //. by rewrite -{2}[c](@addrK _ b) dvdr_sub // (dvdr_trans _ hab). Qed.
imports: HB(structures) Coq(ssreflect ssrfun ssrbool Arith.Wf_nat) mathcomp(eqtype ssrnat div seq path) mathcomp(ssralg fintype perm tuple choice generic_quotient) mathcomp(matrix bigop zmodp mxalgebra poly) stronglydiscrete