Lemma Dcuts_plus_open : Dcuts_def_open Dcuts_plus_val. Proof. intros r. apply hinhuniv, sumofmaps. - apply sumofmaps ; intro Hr. + generalize (X_open r Hr). apply hinhfun ; intros n. exists (pr1 n). split. * apply hinhpr ; left ; left. exact (pr1 (pr2 n)). * exact (pr2 (pr2 n)). + generalize (Y_open r Hr). apply hinhfun ; intros n. exists (pr1 n). split. * apply hinhpr ; left ; right. exact (pr1 (pr2 n)). * exact (pr2 (pr2 n)). - intros xy. generalize (X_open _ (pr1 (pr2 (pr2 xy)))) (Y_open _ (pr2 (pr2 (pr2 xy)))). apply hinhfun2. intros nx ny. exists (pr1 nx + pr1 ny). split. + apply hinhpr ; right ; exists (pr1 nx ,, pr1 ny). repeat split. * exact (pr1 (pr2 nx)). * exact (pr1 (pr2 ny)). + pattern r at 1 ; rewrite (pr1 (pr2 xy)). apply plusNonnegativeRationals_ltcompat. * exact (pr2 (pr2 nx)). * exact (pr2 (pr2 ny)). Qed.
Require Import UniMath.MoreFoundations.Orders. Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.MoreFoundations.Notations. Require Import UniMath.RealNumbers.Sets. Require Import UniMath.OrderTheory.Lattice.Lattice. Require Import UniMath.RealNumbers.Prelim. Require Import UniMath.RealNumbers.NonnegativeRationals.