have apos : 0 < a := Nat.lt_of_lt_of_le two_pow_pos $ Nat.le_trans no_uflow tsub_le_self
round : ℕ → ℕ
n a b : ℕ
npos : 0 < n
hfaithful₀ : faithful₀ n round
hfaithful₁ : faithful₁ n round
hcorrect₀ : correct₀ n round
hfa : trunc n a = a
hfb : trunc n b = b
hba : b ≤ a
round_lt : round (a - b) < a - b
no_uflow : 2 ^ n ≤ a - b
ulp_eq_ulp : ulp n (a - b) = ulp n a
bpos : b > 0
le_ulp : b ≤ ulp n a
⊢ ulp n a ≤ 2 * b
round : ℕ → ℕ
n a b : ℕ
npos : 0 < n
hfaithful₀ : faithful₀ n round
hfaithful₁ : faithful₁ n round
hcorrect₀ : correct₀ n round
hfa : trunc n a = a
hfb : trunc n b = b
hba : b ≤ a
round_lt : round (a - b) < a - b
no_uflow : 2 ^ n ≤ a - b
ulp_eq_ulp : ulp n (a - b) = ulp n a
bpos : b > 0
le_ulp : b ≤ ulp n a
apos : 0 < a
⊢ ulp n a ≤ 2 * b