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_continuous_char (W : TopologicalSpace)
(g : (point_set W) -> (point_set (WeakTopology))) :
continuous g <-> (forall a, continuous (compose (f a) g)).