Require Export TopologicalSpaces.
Require Export Neighborhoods.
From ZornsLemma Require Export InverseImage.
Require Export OpenBases.
Require Export NeighborhoodBases.
Require Export Subbases.
Section continuity.
Variable X Y:TopologicalSpace.
Variable f:point_set X -> point_set Y.
Definition continuous : Prop :=
forall V:Ensemble (point_set Y), open V ->
open (inverse_image f V).
Definition continuous_at (x:point_set X) : Prop :=
forall V:Ensemble (point_set Y),
neighborhood V (f x) -> neighborhood (inverse_image f V) x.

(* Specifications: *)
Lemma continuous_at_open_neighborhoods:
forall x:point_set X,
(forall V:Ensemble (point_set Y),
open_neighborhood V (f x) -> neighborhood (inverse_image f V) x) ->
continuous_at x.
Lemma pointwise_continuity :
(forall x:point_set X, continuous_at x) -> continuous.
Lemma continuous_func_continuous_everywhere:
continuous -> forall x:point_set X, continuous_at x.
Lemma continuous_at_neighborhood_basis:
forall (x:point_set X) (NB:Family (point_set Y)),
neighborhood_basis NB (f x) ->
(forall V:Ensemble (point_set Y),
In NB V -> neighborhood (inverse_image f V) x) ->
continuous_at x.
Lemma continuous_open_basis:
forall (B:Family (point_set Y)), open_basis B ->
(forall V:Ensemble (point_set Y),
In B V -> open (inverse_image f V)) -> continuous.
Lemma continuous_subbasis:
forall (SB:Family (point_set Y)), subbasis SB ->
(forall V:Ensemble (point_set Y),
In SB V -> open (inverse_image f V)) -> continuous.