(** ** Closed sets in uniform spaces *)
Section Closed.
Context {T : UniformSpace}.
Definition closed (D : T -> Prop) :=
forall x, not (locally x (fun x : T => not (D x))) -> D x.

(* Specifications: *)
Lemma open_not :
forall D : T -> Prop,
closed D -> open (fun x => not (D x)).
Lemma closed_not :
forall D : T -> Prop,
open D -> closed (fun x => not (D x)).
Lemma closed_ext :
forall D E : T -> Prop,
(forall x, D x <-> E x) ->
closed D -> closed E.
Lemma closed_and :
forall D E : T -> Prop,
closed D -> closed E ->
closed (fun x => D x /\ E x).