proposition: Lemma big_or (P1 P2 : pred I) F : \big[op/idx]_(i <- r | P1 i || P2 i) F i = op (\big[op/idx]_(i <- r | P1 i) F i) (\big[op/idx]_(i <- r | P2 i && (~~ P1 i)) F i).
proof: Proof. rewrite (bigID P1). congr (op _ _); apply: eq_bigl => i; by case: (P1 i); case: (P2 i). Qed.
imports: mathcomp(all_ssreflect all_algebra) extra_mathcomp