Require Export TopologicalSpaces.
From ZornsLemma Require Export EnsemblesSpec.
Section interior_closure.
Variable X:TopologicalSpace.
Variable S:Ensemble (point_set X).
Definition interior := FamilyUnion
[ U:Ensemble (point_set X) | open U /\ Included U S ].
Definition closure := FamilyIntersection
[ F:Ensemble (point_set X) | closed F /\ Included S F ].

(* Specifications: *)
Lemma interior_open : open interior.
Lemma interior_deflationary : Included interior S.
Lemma interior_fixes_open: open S -> interior = S.
Lemma interior_maximal: forall U:Ensemble (point_set X),
open U -> Included U S -> Included U interior.
Lemma closure_closed : closed closure.
Lemma closure_inflationary : Included S closure.
Lemma closure_fixes_closed : closed S -> closure = S.
Lemma closure_minimal: forall F:Ensemble (point_set X),
closed F -> Included S F -> Included closure F.