proposition: Lemma congr_big_int m1 n1 m2 n2 P1 P2 F1 F2 : m1 = m2 -> n1 = n2 -> (forall i, m1 <= i < n2 -> P1 i = P2 i) -> (forall i, P1 i && (m1 <= i < n2) -> F1 i = F2 i) -> \big[op/idx]_(m1 <= i < n1 :> int | P1 i) F1 i = \big[op/idx]_(m2 <= i < n2 :> int | P2 i) F2 i.
proof: Proof. move=> <- <- eqP12 eqF12. rewrite big_seq_cond. rewrite (@big_seq_cond _ _ _ _ (index_iotaz m1 n1) P2). apply: eq_big => i; rewrite ?inE /= !mem_index_iotaz. by apply: andb_id2l; exact: eqP12. by rewrite andbC; exact: eqF12. Qed.
imports: mathcomp(all_ssreflect all_algebra) extra_mathcomp