Definition Union_intermediate (F X : Ens) (i : IN X (Union F)) : Ens :=
  CHOICE (fun U : Ens => nested_IN X U F).

(* Specifications: *)
Theorem Union_intermediate_pr : forall (F X : Ens) (i : IN X (Union F)), nested_IN X (Union_intermediate F X i) F.
Theorem Union_intermediate_th1 : forall (F X : Ens) (i : IN X (Union F)), IN X (Union_intermediate F X i).
Theorem Union_intermediate_th2 : forall (F X : Ens) (i : IN X (Union F)), IN (Union_intermediate F X i) F.
Lemma union_th1_OutA : IN X (Union F).
Theorem Union_th1 : forall (F X U : Ens) (h : IN X U) (k : IN U F), IN X (Union F).