proposition: Lemma imsetA E F G : [set prodA x | x in (E `* F) `* G] = E `* (F `* G).
proof: Proof. apply/setP=> -[a [b c]]; apply/imsetP/idP. - rewrite ex2C; move=> [[[a' b'] c']] /eqP. rewrite /f !inE !xpair_eqE /=. by move=> /andP [] /eqP -> /andP [] /eqP -> /eqP -> /andP [] /andP [] -> -> ->. - rewrite !inE /= => /andP [aE /andP [bF cG]]. by exists ((a, b), c); rewrite // !inE /= aE bF cG. Qed.
imports: mathcomp(all_ssreflect ssralg fingroup perm matrix) mathcomp(all_algebra vector reals normedtype) mathcomp(mathcomp_extra boolp) mathcomp(Rstruct) ssrR logb realType_ext ssr_ext ssralg_ext bigop_ext