Definition eq_Dom (D1 D2:R -> Prop) : Prop :=
  included D1 D2 /\ included D2 D1.Infix "=_D" := eq_Dom (at level 70, no associativity).

(* Specifications: *)
Lemma open_set_P1 : forall D:R -> Prop, open_set D <-> D =_D interior D.
Lemma closed_set_P1 : forall D:R -> Prop, closed_set D <-> D =_D adherence D.
Lemma neighbourhood_P1 : forall (D1 D2:R -> Prop) (x:R), included D1 D2 -> neighbourhood D1 x -> neighbourhood D2 x.
Lemma open_set_P2 : forall D1 D2:R -> Prop, open_set D1 -> open_set D2 -> open_set (union_domain D1 D2).
Lemma open_set_P3 : forall D1 D2:R -> Prop, open_set D1 -> open_set D2 -> open_set (intersection_domain D1 D2).
Lemma open_set_P4 : open_set (fun x:R => False).
Lemma open_set_P5 : open_set (fun x:R => True).
Lemma disc_P1 : forall (x:R) (del:posreal), open_set (disc x del).
Lemma continuity_P1 : forall (f:R -> R) (x:R), continuity_pt f x <-> (forall W:R -> Prop, neighbourhood W (f x) -> exists V : R -> Prop, neighbourhood V x /\ (forall y:R, V y -> W (f y))).