| ¬ bytes2bits(bytes0).first ∧ bytes2bits(bytes0) ≠ [], 0 ≤ bits2uint(bytes2bits(bytes0)) ⊦ bytes = [], bytes0 = [], bytes2bits(bytes) + bytes2bits(bytes0) = [], bits2uint(bytes2bits(bytes0)) = bits2uint(bytes2bits(bytes0)) % 2 ^ (8 * n→i(# bytes0)), bytes2bits(bytes).first |
0 ≤ bits2uint(bytes2bits(bytes0)) ⊦ bytes = [], bytes0 = [], bytes2bits(bytes) + bytes2bits(bytes0) = [], bits2uint(bytes2bits(bytes0)) = bits2uint(bytes2bits(bytes0)) % 2 ^ (8 * n→i(# bytes0)), bytes2bits(bytes).first, bytes2bits(bytes0).first
Used simplifier rules: bytes2bits-empty-01: ⊦ bytes2bits(bytes) = [] ↔ bytes = [];% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)