Lemma topologygenerated_neighborhood : ∏ (x : X) (P : X → hProp), topologygenerated x P → ∃ Q : X → hProp, topologygenerated x Q × (∏ y : X, Q y → topologygenerated y P). Proof. intros x P. apply hinhfun. intros L. exists (finite_intersection (pr1 L)). split. - apply hinhpr. exists (pr1 L). repeat split. + exact (pr1 (pr2 L)). + exact (pr1 (pr2 (pr2 L))). + intros. assumption. - intros y Hy. apply hinhpr. exists (pr1 L). repeat split. + exact (pr1 (pr2 L)). + exact Hy. + 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 _ _).