Theorem: a₁_hi_of_ulp_le_of_lt_round (Fl.lean)

State before:
round : ℕ → ℕ
n a b : ℕ
npos : 0 < n
hfaithful₁ : faithful₁ n round
hfa : trunc n a = a
hfb : trunc n b = b
hba : b ≤ a
ulp_le : ulp n (a + b) ≤ b
lt_round : a + b < round (a + b)
⊢ trunc n (round (a + b) - (a + b)) = round (a + b) - (a + b)
Tactic:
apply a₁_hi_of_lt_round_of_ulp_sub_le npos hfaithful₁ hfa hfb hba lt_round
State after:
round : ℕ → ℕ
n a b : ℕ
npos : 0 < n
hfaithful₁ : faithful₁ n round
hfa : trunc n a = a
hfb : trunc n b = b
hba : b ≤ a
ulp_le : ulp n (a + b) ≤ b
lt_round : a + b < round (a + b)
⊢ ulp n (a + b) - (a + b) % ulp n (a + b) ≤ b

State before:
round : ℕ → ℕ
n a b : ℕ
npos : 0 < n
hfaithful₁ : faithful₁ n round
hfa : trunc n a = a
hfb : trunc n b = b
hba : b ≤ a
ulp_le : ulp n (a + b) ≤ b
lt_round : a + b < round (a + b)
⊢ ulp n (a + b) - (a + b) % ulp n (a + b) ≤ b
Tactic:
exact Nat.le_trans tsub_le_self ulp_le
State after:
no goals