proposition: Fact BR_prod_auxP x y a: inc a (BRprod_aux x y) <-> exists2 z, inc z x & exists2 t, inc t y & a = z *q t.
proof: Proof. split. move /setU_P => [u ua /funI_P [z zx zv]]. move: ua; rewrite zv; move/funI_P => [t ty ->];ex_tac; ex_tac. move => [z zx [t ty ->]]; apply /setU_P. exists (fun_image y [eta BQprod z]); apply/funI_P; ex_tac. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat)