apply trunc_eq_of_le_of_ulp_dvd b
round : ℕ → ℕ
n a b : ℕ
npos : 0 < n
hfaithful₁ : faithful₁ n round
hfa : trunc n a = a
hfb : trunc n b = b
hba : b ≤ a
lt_round : a + b < round (a + b)
ulp_sub_le : ulp n (a + b) - (a + b) % ulp n (a + b) ≤ b
⊢ trunc n (next n (trunc n (a + b)) - (a + b)) = next n (trunc n (a + b)) - (a + b)
case hle
round : ℕ → ℕ
n a b : ℕ
npos : 0 < n
hfaithful₁ : faithful₁ n round
hfa : trunc n a = a
hfb : trunc n b = b
hba : b ≤ a
lt_round : a + b < round (a + b)
ulp_sub_le : ulp n (a + b) - (a + b) % ulp n (a + b) ≤ b
⊢ next n (trunc n (a + b)) - (a + b) ≤ b

case hdvd
round : ℕ → ℕ
n a b : ℕ
npos : 0 < n
hfaithful₁ : faithful₁ n round
hfa : trunc n a = a
hfb : trunc n b = b
hba : b ≤ a
lt_round : a + b < round (a + b)
ulp_sub_le : ulp n (a + b) - (a + b) % ulp n (a + b) ≤ b
⊢ ulp n b ∣ next n (trunc n (a + b)) - (a + b)