Proposition is_scott_continuous_chosen_lub {X Y : hSet} (DX : dcpo_struct X) (DY : dcpo_struct Y) (f : X → Y) (Hf₁ : is_monotone DX DY f) (Hf₂ : ∏ (I : UU) (D : I → X) (HD : is_directed DX D), f (dcpo_struct_lub DX D HD) = dcpo_struct_lub DY (λ i, f (D i)) (is_directed_comp f Hf₁ HD)) : is_scott_continuous DX DY f. Proof. split. - exact Hf₁. - intros I D HD x Hx. refine (transportb (λ z, is_least_upperbound _ _ z) (maponpaths f _ @ Hf₂ I D HD) _). + exact (maponpaths pr1 (proofirrelevance _ (isaprop_lub DX D) (x ,, Hx) (dcpo_struct_lub DX D HD))). + apply dcpo_struct_lub. 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.