| ⊦ bits = [], bits2int(bits + false ' + bits0) = bits2uint(bits0), true ∈ bits |
⊦ ¬ bits.first ∧ bits ≠ [] → bits2int(bits) = bits2uint(bits.rest)
¬(¬ (bits + false ' + bits0).first ∧ bits + false ' + bits0 ≠ []) ⊦ bits = [], bits2int(bits + false ' + bits0) = bits2uint(bits0), true ∈ bits
¬ (bits + false ' + bits0).first ∧ bits + false ' + bits0 ≠ [] ⊦ bits = [], bits2uint((bits + false ' + bits0).rest) = bits2uint(bits0), true ∈ bits
Used terms: bits + false ' + bits0