+interpretation "singleton" 'singl a = (fun11 __ (singleton _) a).
+
+definition big_intersects:
+ ∀A:SET.∀I:SET.unary_morphism2 (setoid1_of_setoid I ⇒ Ω \sup A) (setoid2_of_setoid1 (Ω \sup A)).
+ intros; constructor 1;
+ [ intro; whd; whd in I;
+ apply ({x | ∀i:I. x ∈ c i});
+ simplify; intros; split; intros; [ apply (. (e^-1‡#)); | apply (. e‡#); ]
+ apply f;
+ | intros; split; intros 2; simplify in f ⊢ %; intro;
+ [ apply (. (#‡(e i)^-1)); apply f;
+ | apply (. (#‡e i)); apply f]]
+qed.
+
+definition big_union:
+ ∀A:SET.∀I:SET.unary_morphism2 (setoid1_of_setoid I ⇒ Ω \sup A) (setoid2_of_setoid1 (Ω \sup A)).
+ intros; constructor 1;
+ [ intro; whd; whd in A; whd in I;
+ apply ({x | ∃i:I. x ∈ c i });
+ simplify; intros; split; intros; cases e1; clear e1; exists; [1,3:apply w]
+ [ apply (. (e^-1‡#)); | apply (. (e‡#)); ]
+ apply x;
+ | intros; split; intros 2; simplify in f ⊢ %; cases f; clear f; exists; [1,3:apply w]
+ [ apply (. (#‡(e w)^-1)); apply x;
+ | apply (. (#‡e w)); apply x]]
+qed.