| int2bits(b2i(by)) ≠ [], ∀ bytes1. # bytes1 < #([] + by ') → bytes2bits(bytes1) ≠ [] → bytes1 = [] ∨ b2i(bytes1.first) = 0 ∨ b2i(bytes1.first) = ~1 ∨ bits2bytes(sgn(bytes2bits(bytes1))) = bytes1 ⊦ bits2bytes(sgn(int2bits(b2i(by)))) = by ', b2i(by) = ~1, b2i(by) = 0 |
∀ bytes1. # bytes1 < #([] + by ') → bytes2bits(bytes1) ≠ [] → bytes1 = [] ∨ b2i(bytes1.first) = 0 ∨ b2i(bytes1.first) = ~1 ∨ bits2bytes(sgn(bytes2bits(bytes1))) = bytes1 ⊦ b2i(by) = ~1, b2i(by) = 0, bits2bytes(int2bits(b2i(by))) = by '
Used simplifier rules: ⊦ int2bits(j) ≠ [];% ⊦ sgn(int2bits(i)) = int2bits(i);