End BigComImfset.
Notation "\bigcup_ ( i <- r | P ) F" :=
(\big[@fsetU _/fset0]_(i <- r | P%fset) F%fset) : fset_scope.
Notation "\bigcup_ ( i <- r ) F" :=
(\big[@fsetU _/fset0]_(i <- r) F%fset) : fset_scope.
Notation "\bigcup_ ( i | P ) F" :=
(\big[@fsetU _/fset0]_(i | P) F%fset) : fset_scope.
Notation "\bigcup_ ( i 'in' A | P ) F" :=
(\big[@fsetU _/fset0]_(i in A | P) F%fset) : fset_scope.
Notation "\bigcup_ ( i 'in' A ) F" :=
(\big[@fsetU _/fset0]_(i in A) F%fset) : fset_scope.
Section FSetMonoids.
Variable (T : choiceType).
Canonical fsetU_monoid := Law (@fsetUA T) (@fset0U T) (@fsetU0 T).
Canonical fsetU_comoid := ComLaw (@fsetUC T).
End FSetMonoids.
Section BigFOpsSeq.
Variables (T : choiceType) (I : eqType) (r : seq I).
Implicit Types (P : pred I) (F :  I -> {fset T}).

Lemma bigfcup_undup P F :
\bigcup_(i <- undup r | P i) F i = \bigcup_(i <- r | P i) F i.