intros E' i E'' i'; simpl in |- *; elim (IN_EXType (sup A f) E' i).
intros a e; simpl in a; simpl in e.
elim (IN_EXType E' E'' i').
cut (IN E'' (f a)).
intros i'' a' e''; elim (IN_EXType _ _ i''); simpl in |- *; intros aa ee.
exists (dep_i A (fun x : A => pi1 (f x)) a aa); auto with zfc.
apply IN_sound_right with E'; auto with zfc.
Qed.

(* Specifications: *)
Theorem Union_IN :
forall E E' : Ens,
IN E' (Union E) -> EXType _ (fun E1 : Ens => IN E1 E /\ IN E' E1).
Theorem Union_IN :
forall E E' : Ens,
IN E' (Union E) -> EXType _ (fun E1 : Ens => IN E1 E /\ IN E' E1).