Section Double_round_sqrt.
Definition round_round_sqrt_hyp fexp1 fexp2 :=
(forall ex, (2 * fexp1 ex <= fexp1 (2 * ex))%Z)
/\ (forall ex, (2 * fexp1 ex <= fexp1 (2 * ex - 1))%Z)
/\ (forall ex, (fexp1 (2 * ex) < 2 * ex)%Z ->
(fexp2 ex + ex <= 2 * fexp1 ex - 2)%Z).

Lemma mag_sqrt_disj :
forall x,
0 < x ->
(mag x = 2 * mag (sqrt x) - 1 :> Z)%Z
\/ (mag x = 2 * mag (sqrt x) :> Z)%Z.