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.
Lemma continuous_composition_at: forall {X Y Z:TopologicalSpace} (f:point_set Y -> point_set Z) (g:point_set X -> point_set Y) (x:point_set X), continuous_at f (g x) -> continuous_at g x -> continuous_at (fun x:point_set X => f (g x)) x.
Lemma continuous_composition: forall {X Y Z:TopologicalSpace} (f:point_set Y -> point_set Z) (g:point_set X -> point_set Y), continuous f -> continuous g -> continuous (fun x:point_set X => f (g x)).
Lemma continuous_identity: forall (X:TopologicalSpace), continuous (fun x:point_set X => x).
Lemma continuous_constant: forall (X Y:TopologicalSpace) (y0:point_set Y), continuous (fun x:point_set X => y0).
Lemma continuous_at_is_local: forall (X Y:TopologicalSpace) (x0:point_set X) (f g:point_set X -> point_set Y) (N:Ensemble (point_set X)), neighborhood N x0 -> (forall x:point_set X, In N x -> f x = g x) -> continuous_at f x0 -> continuous_at g x0.