Require Export TopologicalSpaces.
Require Export Subbases.
From ZornsLemma Require Export InverseImage.
Require Export Continuity.
Require Export Nets.
Section WeakTopology.
Variable X:Type.
Variable A:Type.
Variable Y:A->TopologicalSpace.
Variable f:forall a:A, X->point_set (Y a).
Inductive weak_topology_subbasis : Family X :=
| intro_fa_inv_image: forall (a:A) (V:Ensemble (point_set (Y a))),
open V -> In weak_topology_subbasis (inverse_image (f a) V).
Definition WeakTopology : TopologicalSpace :=
Build_TopologicalSpace_from_subbasis X weak_topology_subbasis.

Lemma weak_topology_makes_continuous_funcs:
forall a:A, continuous (f a) (X:=WeakTopology).