intro H'; elim H'.
intros H'0 A B H'1 x H'2 H'3 a b H'4 H'5; try assumption.
elim (H'0 (Union U A B)); [ intros bsup E; try exact E | idtac | idtac ];
auto with sets.
2: exists x; try assumption.
exists bsup; split; [ try assumption | idtac ].
apply LUaux with (A := A) (B := B); auto with sets.
Qed.

(* Specifications: *)
Theorem Lub_of_compacts_is_compact :
Conditionally_complete U D ->
forall x y z : U,
Included U (Couple U x y) (Approximants U D z) ->
In U (Carrier_of U D) z ->
exists bsup : U, Lub U D (Couple U x y) bsup /\ Approximant U D z bsup.
Theorem approximants_closed_by_finite_lubs :
Conditionally_complete U D ->
forall (x : U) (C : Ensemble U),
In U (Carrier_of U D) x ->
Finite U C ->
Included U C (Approximants U D x) ->
exists bsup : U, Lub U D C bsup /\ Approximant U D x bsup.