Proposition reflect_apartness {X Y : dcpo} (f : scott_continuous_map X Y) {x y : X} : f x # f y → x # y. Proof. use factor_through_squash_hProp. intro p. induction p as [ p | p ]. - revert p. use factor_through_squash_hProp. intros ( P & HP & HPfx & HPfy ). use hdisj_in1. use hinhpr. simple refine (_ ,, _ ,, _ ,, _). + exact (λ x, P(f x)). + exact (preimage_scott_open f HP). + exact HPfx. + exact HPfy. - revert p. use factor_through_squash_hProp. intros ( P & HP & HPfx & HPfy ). use hdisj_in2. use hinhpr. simple refine (_ ,, _ ,, _ ,, _). + exact (λ x, P(f x)). + exact (preimage_scott_open f HP). + exact HPfx. + exact HPfy. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.OrderTheory.Posets.Basics. Require Import UniMath.OrderTheory.Posets.MonotoneFunctions. Require Import UniMath.OrderTheory.Posets.PointedPosets. Require Import UniMath.OrderTheory.DCPOs.Core.DirectedSets. Require Import UniMath.OrderTheory.DCPOs.Core.Basics. Require Import UniMath.OrderTheory.DCPOs.Core.ScottTopology. Require Import UniMath.OrderTheory.DCPOs.Core.IntrinsicApartness.