case next br r' =>
cases br <;> simp
. have h := O_lt r'; rw [←h_full] at h
  simp [FinInt.addfull_toUint] at h; simp [h]
. have h := I_not_lt r'; rw [←h_full] at h; sorry
sz : ℕ
n m : FinInt sz
br : Bool
r' : FinInt sz
h_full : addfull n m = next br r'
⊢ (match next br r' with
    | next false a => toUint n + toUint m
    | next true a => toUint n + toUint m - 2 ^ sz) =
    if toUint n + toUint m < 2 ^ sz then toUint n + toUint m else toUint n + toUint m - 2 ^ sz
no goals