| ⊦ 0 ≤ bits2int(bytes2bits(bytes)) ↔ bytes = [] ∨ ¬ b2i(bytes.first) < 0 |
⊦ bits ≠ [] → (0 ≤ bits2int(bits) ↔ ¬ bits.first)
bytes2bits(bytes) ≠ [] ⊦ ¬ bytes2bits(bytes).first ↔ bytes = [] ∨ ¬ b2i(bytes.first) < 0
Used simplifier rules: bytes2bits-empty-01: ⊦ bytes2bits(bytes) = [] ↔ bytes = [];%bytes2bits-empty: ⊦ bytes2bits([]) = [];% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)% ⊦ bits2int([]) = 0; Used terms: bytes2bits(bytes)