Lemma progressive_pointwise_lub {P : Poset} {I} {f : I -> P -> P} (f_prog : forall i, isprogressive (f i)) {g} (g_pw_lub : is_least_upper_bound_pointwise f g) (I_inhab : ∥ I ∥) : isprogressive g. Proof. intros x. eapply factor_through_squash_hProp. 2: { apply I_inhab. } intros i. eapply istrans_posetRelation. { use f_prog; apply i. } revert i. refine (@least_upper_bound_is_upper_bound _ _ _ (make_least_upper_bound _ _)). use g_pw_lub. Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.OrderTheory.OrderedSets.WellOrderedSets. Require Import UniMath.OrderTheory.DCPOs.AlternativeDefinitions.Dcpo. Require Import UniMath.OrderTheory.Posets.Subposets.