| bytes2bits(bytes) ≠ [], ∀ bytes0. # bytes0 < # bytes → bytes2bits(bytes0) ≠ [] → bytes0 = [] ∨ b2i(bytes0.first) = 0 ∨ b2i(bytes0.first) = ~1 ∨ bits2bytes(sgn(bytes2bits(bytes0))) = bytes0 ⊦ bytes = [] ∨ b2i(bytes.first) = 0 ∨ b2i(bytes.first) = ~1 ∨ bits2bytes(sgn(bytes2bits(bytes))) = bytes |
∀ bytes0. # bytes0 < # bytes → bytes2bits(bytes0) ≠ [] → bytes0 = [] ∨ b2i(bytes0.first) = 0 ∨ b2i(bytes0.first) = ~1 ∨ bits2bytes(sgn(bytes2bits(bytes0))) = bytes0 ⊦ bytes = [], b2i(bytes.first) = 0, b2i(bytes.first) = ~1, bits2bytes(sgn(bytes2bits(bytes))) = bytes
Used simplifier rules: bytes2bits-empty-01: ⊦ bytes2bits(bytes) = [] ↔ bytes = [];