cases Nat.lt_or_ge (a + b) (2 ^ Nat.size a) with
| inl no_carry =>
  exact a₁_lo_of_no_carry_of_round_le
    npos hfaithful₁ hfa hfb hba no_carry round_le
| inr carry =>
  exact a₁_lo_of_no_uflow_of_carry_of_round_le
    npos hfaithful₁ hfa hfb hba no_uflow carry round_le
case inr.inr.left
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
no_uflow : a + b ≥ 2 ^ n
round_le : a + b ≥ round (a + b)
⊢ trunc n (a + b - round (a + b)) = a + b - round (a + b)
no goals