Definition bounded (D:R -> Prop) : Prop :=
  exists m : R, (exists M : R, (forall x:R, D x -> m <= x <= M)).

(* Specifications: *)
Lemma open_set_P6 : forall D1 D2:R -> Prop, open_set D1 -> D1 =_D D2 -> open_set D2.
Lemma compact_P1 : forall X:R -> Prop, compact X -> bounded X.
Lemma compact_P2 : forall X:R -> Prop, compact X -> closed_set X.
Lemma compact_EMP : compact (fun _:R => False).
Lemma compact_eqDom : forall X1 X2:R -> Prop, compact X1 -> X1 =_D X2 -> compact X2.
Lemma compact_P3 : forall a b:R, compact (fun c:R => a <= c <= b).
Lemma compact_P4 : forall X F:R -> Prop, compact X -> closed_set F -> included F X -> compact F.
Lemma compact_P5 : forall X:R -> Prop, closed_set X -> bounded X -> compact X.
Lemma compact_carac : forall X:R -> Prop, compact X <-> closed_set X /\ bounded X.