proposition: Lemma topologydirprod_neighborhood : ∏ (x : U × V) (P : U × V → hProp), topologydirprod x P → ∃ Q : U × V → hProp, topologydirprod x Q × (∏ y : U × V, Q y → topologydirprod y P).
proof: Proof. intros xy P. apply hinhfun. intros A'. exists (λ z, pr1 A' (pr1 z) ∧ pr1 (pr2 A') (pr2 z)). split. - apply hinhpr. exists (pr1 A'), (pr1 (pr2 A')). split. + exact (pr1 (pr2 (pr2 A'))). + split. * exact (pr1 (pr2 (pr2 (pr2 A')))). * intros x' y' Ax' Ay'. now split. - intros z Az. apply hinhpr. exists (pr1 A'), (pr1 (pr2 A')). repeat split. + exact (pr1 Az). + exact (pr2 (pr1 (pr2 (pr2 A')))). + exact (pr2 Az). + exact (pr2 (pr1 (pr2 (pr2 (pr2 A'))))). + exact (pr2 (pr2 (pr2 (pr2 A')))). Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.Topology.Filters UniMath.Algebra.Groups UniMath.Algebra.DivisionRig UniMath.Algebra.ConstructiveStructures