| ∀ bits0. # bits0 < # bits → true → bits2uint(bits0) = 0 ∨ true ∈ bits0 ⊦ bits2uint(bits) = 0, true ∈ bits |
⊦ bits ≠ [] ∧ bits.last → bits2uint(bits) = bits2uint(bits.butlast) * 2 + 1
¬(bits ≠ [] ∧ bits.last), ∀ bits0. # bits0 < # bits → true → bits2uint(bits0) = 0 ∨ true ∈ bits0 ⊦ bits2uint(bits) = 0, true ∈ bits
bits ≠ [] ∧ bits.last, ∀ bits0. # bits0 < # bits → true → bits2uint(bits0) = 0 ∨ true ∈ bits0 ⊦ bits2uint(bits.butlast) * 2 + 1 = 0, true ∈ bits
Used terms: bits