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