Lemma neighborhood_neighborhood : ∏ (x : T) (P : T → hProp), neighborhood x P → ∃ Q : T → hProp, neighborhood x Q × ∏ y : T, Q y → neighborhood y P. Proof. intros x P. apply hinhfun. intros Q. exists (pr1 Q). split. - apply (pr2 (neighborhood_isOpen _)). + apply (pr2 (pr1 Q)). + apply (pr1 (pr2 Q)). - intros y Qy. apply hinhpr. exists (pr1 Q). split. + exact Qy. + exact (pr2 (pr2 Q)). 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 _ _).