suffices (UInt.toNat a &&& UInt.toNat (a-1)) = (UInt.toNat a &&& (UInt.toNat a - 1)) by
  unfold UInt.lsb; simp only [UInt.toNat_xor, UInt.toNat_land]
  rw [this]; rfl
α : Type
inst✝¹ : (n : Nat) → OfNat α n
inst✝ : UInt α
a : α
hlength✝ : ¬length α = 0
hlength : length α > 0
this : 1 % 2 ^ length α = 1
⊢ toNat (UInt.lsb a) = Nat.lsb (toNat a)
α : Type
inst✝¹ : (n : Nat) → OfNat α n
inst✝ : UInt α
a : α
hlength✝ : ¬length α = 0
hlength : length α > 0
this : 1 % 2 ^ length α = 1
⊢ toNat a &&& toNat (a - 1) = toNat a &&& toNat a - 1