proposition: Proposition pr1_is_least_upperbound {X Y : hSet} {DX : dcpo_struct X} {DY : dcpo_struct Y} {I : UU} {D : I → X × Y} (xy : X × Y) (Hxy : is_least_upperbound (prod_dcpo_struct DX DY) D xy) : is_least_upperbound DX (λ i, pr1 (D i)) (pr1 xy).
proof: Proof. split. - intros i. exact (pr1 (is_least_upperbound_is_upperbound Hxy i)). - intros x Hx. refine (pr1 (is_least_upperbound_is_least Hxy (x ,, pr2 xy) _)). intros i. split ; cbn. + exact (Hx i). + exact (pr2 (is_least_upperbound_is_upperbound Hxy i)). Qed.
imports: UniMath.MoreFoundations.All UniMath.OrderTheory.Posets.Basics UniMath.OrderTheory.Posets.PointedPosets UniMath.OrderTheory.Posets.MonotoneFunctions UniMath.OrderTheory.DCPOs.Core.DirectedSets UniMath.OrderTheory.DCPOs.Core.Basics UniMath.OrderTheory.DCPOs.Core.ScottContinuous UniMath.OrderTheory.DCPOs.Core.ScottTopology UniMath.OrderTheory.DCPOs.Core.WayBelow UniMath.OrderTheory.DCPOs.Basis.Basis UniMath.OrderTheory.DCPOs.Basis.Continuous UniMath.OrderTheory.DCPOs.Elements.Maximal