proposition: Lemma BZgcd_opp a b: intp a -> intp b -> BZgcd a b = BZgcd (BZopp a) b.
proof: Proof. move => az bz. suff: BZ_ideal2 a b = BZ_ideal2 (BZopp a) b by rewrite /BZgcd => ->. set_extens t => /Zo_P [pa [u [v [uc vz etc]]]]; apply:Zo_i => //; exists (BZopp u), v;split => //; try apply:ZSo => //. by rewrite BZprod_opp_opp. by rewrite BZprod_opp_comm. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat)