proposition: Lemma FTZ_round_round_plus_hyp : (emin' + prec' <= emin + 1)%Z -> (2 * prec + 1 <= prec')%Z -> round_round_plus_hyp (FTZ_exp emin prec) (FTZ_exp emin' prec').
proof: Proof. intros Hemin Hprec. unfold FTZ_exp. unfold Prec_gt_0 in *. unfold round_round_plus_hyp; split; [|split; [|split]]; intros ex ey. - destruct (Z.ltb_spec (ex + 1 - prec) emin); destruct (Z.ltb_spec (ex - prec') emin'); destruct (Z.ltb_spec (ey - prec) emin); lia. - destruct (Z.ltb_spec (ex - 1 - prec) emin); destruct (Z.ltb_spec (ex - prec') emin'); destruct (Z.ltb_spec (ey - prec) emin); lia. - destruct (Z.ltb_spec (ex - prec) emin); destruct (Z.ltb_spec (ex - prec') emin'); destruct (Z.ltb_spec (ey - prec) emin); lia. - destruct (Z.ltb_spec (ex - prec') emin'); destruct (Z.ltb_spec (ey - prec) emin); lia. Qed.
imports: Coq(ZArith Reals Psatz) Core FTZ