proposition: Lemma bigD1 (I : finType) j (P : pred I) (F : I -> X) : P j -> \big[*%M/1]_(i | P i) F i ≡ F j ⊗ (\big[*%M/1]_(i | P i && (i != j)) F i).
proof: Proof. move=> Pj; rewrite (bigID (pred1 j)); apply mon_eqv => //. apply: big_pred1 => i /=. by rewrite /= andbC; case: eqP => // ->. Qed.
imports: HB(structures) Coq(RelationClasses Morphisms Relation_Definitions) mathcomp(all_ssreflect)