End interior_closure.
Arguments interior {X}.
Arguments closure {X}.
Arguments interior_open {X}.
Arguments interior_deflationary {X}.
Arguments interior_fixes_open {X}.
Arguments interior_maximal {X}.
Arguments closure_closed {X}.
Arguments closure_inflationary {X}.
Arguments closure_fixes_closed {X}.
Arguments closure_minimal {X}.
Section interior_closure_relations.
Variable X:TopologicalSpace.

(* Specifications: *)
Lemma interior_increasing: forall S T:Ensemble (point_set X),
Included S T -> Included (interior S) (interior T).
Lemma interior_intersection: forall S T:Ensemble (point_set X),
interior (Intersection S T) =
Intersection (interior S) (interior T).
Lemma interior_union: forall S T:Ensemble (point_set X),
Included (Union (interior S) (interior T))
(interior (Union S T)).
Lemma complement_inclusion: forall {Y:Type} (S T:Ensemble Y),
Included S T -> Included (Complement T) (Complement S).
Lemma interior_complement: forall S:Ensemble (point_set X),
interior (Complement S) = Complement (closure S).
Lemma closure_increasing: forall S T:Ensemble (point_set X),
Included S T -> Included (closure S) (closure T).
Lemma closure_complement: forall S:Ensemble (point_set X),
closure (Complement S) = Complement (interior S).
Lemma closure_union: forall S T:Ensemble (point_set X),
closure (Union S T) = Union (closure S) (closure T).
Lemma closure_intersection: forall S T:Ensemble (point_set X),
Included (closure (Intersection S T))
(Intersection (closure S) (closure T)).
Lemma meets_every_open_neighborhood_impl_closure:
forall (S:Ensemble (point_set X)) (x:point_set X),
(forall U:Ensemble (point_set X), open U -> In U x ->
Inhabited (Intersection S U)) ->
In (closure S) x.
Lemma closure_impl_meets_every_open_neighborhood:
forall (S:Ensemble (point_set X)) (x:point_set X),
In (closure S) x ->
forall U:Ensemble (point_set X), open U -> In U x ->
Inhabited (Intersection S U).