Lemma TopologyGenerated_smallest {X : hSet} : ∏ (O : (X → hProp) → hProp) (T : isTopologicalSpace X), (∏ P : X → hProp, O P → pr1 T P) → ∏ P : X → hProp, isOpen (T := TopologyGenerated O) P → pr1 T P. Proof. intros O T Ht P Hp. apply (neighborhood_isOpen (T := (X,,T))). intros x Px. generalize (Hp x Px) ; clear Hp. apply hinhfun. intros L. simple refine (tpair _ _ _). - simple refine (tpair _ _ _). + apply (finite_intersection (pr1 L)). + apply (isOpen_finite_intersection (T := X,,T)). intros m. apply Ht. apply (pr1 (pr2 L)). - split. + exact (pr1 (pr2 (pr2 L))). + exact (pr2 (pr2 (pr2 L))). Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.Algebra.Groups. Require Import UniMath.Algebra.DivisionRig. Require Import UniMath.Algebra.ConstructiveStructures. Section TopologyFromNeighborhood. End TopologyFromNeighborhood. Definition TopologyFromNeighborhood {X : hSet} Lemma TopologyFromNeighborhood_correct {X : hSet} N x P <-> neighborhood (T := TopologyFromNeighborhood N H) x P. simple refine (TopologyFromNeighborhood _ _). apply TopologyFromNeighborhood_correct. simple refine (TopologyFromNeighborhood _ _). apply TopologyFromNeighborhood_correct. simple refine (TopologyFromNeighborhood _ _).