Definition family_closed_set (f:family) : Prop :=
forall x:R, closed_set (f x).
Definition intersection_vide_in (D:R -> Prop) (f:family) : Prop :=
forall x:R,
(ind f x -> included (f x) D) /\
~ (exists y : R, intersection_family f y).
Definition intersection_vide_finite_in (D:R -> Prop)
(f:family) : Prop := intersection_vide_in D f /\ family_finite f.

(* Specifications: *)
(**********)
Lemma compact_P6 :
forall X:R -> Prop,
compact X ->
(exists z : R, X z) ->
forall g:family,
family_closed_set g ->
intersection_vide_in X g ->
exists D : R -> Prop, intersection_vide_finite_in X (subfamily g D).
Theorem Bolzano_Weierstrass :
forall (un:nat -> R) (X:R -> Prop),
compact X -> (forall n:nat, X (un n)) ->  exists l : R, ValAdh un l.