Proposition is_least_upperbound_pair {X Y : hSet} (DX : dcpo_struct X) (DY : dcpo_struct Y) (I : UU) (D : I → (X × Y)%set) (x : X) (y : Y) (Hx : is_least_upperbound DX (λ i, pr1 (D i)) x) (Hy : is_least_upperbound DY (λ i, pr2 (D i)) y) : is_least_upperbound (prod_PartialOrder DX DY) D (x ,, y). Proof. pose (x' := (x ,, Hx) : lub DX _). pose (y' := (y ,, Hy) : lub DY _). split. - intros i. exact (lub_is_upperbound x' i ,, lub_is_upperbound y' i). - intros z Hz. exact (lub_is_least x' _ (λ i, pr1 (Hz i)) ,, lub_is_least y' _ (λ i, pr2 (Hz i))). Qed.
Require Import UniMath.MoreFoundations.All. Require Import UniMath.OrderTheory.Posets.Basics. Require Import UniMath.OrderTheory.Posets.PointedPosets. Require Import UniMath.OrderTheory.Posets.MonotoneFunctions. Require Import UniMath.OrderTheory.DCPOs.Core.DirectedSets. Require Import UniMath.OrderTheory.DCPOs.Core.Basics. Require Import UniMath.OrderTheory.DCPOs.Core.ScottContinuous. Require Import UniMath.OrderTheory.DCPOs.Core.ScottTopology. Require Import UniMath.OrderTheory.DCPOs.Core.WayBelow. Require Import UniMath.OrderTheory.DCPOs.Basis.Basis. Require Import UniMath.OrderTheory.DCPOs.Basis.Continuous. Require Import UniMath.OrderTheory.DCPOs.Elements.Maximal.