| ∀ bytes0. # bytes0 < # bytes → true → bytes0 ≠ [] → (bytes2int(bytes0) < 0 ↔ b2i(bytes0.first) < 0) ⊦ bytes = [], bytes2int(bytes) < 0 ↔ ¬ 0 ≤ b2i(bytes.first) |
bytes = by + bytes1, ∀ bytes0. # bytes0 < # bytes → true → bytes0 ≠ [] → (bytes2int(bytes0) < 0 ↔ b2i(bytes0.first) < 0) ⊦ bytes = [], bytes2int(bytes) < 0 ↔ ¬ 0 ≤ b2i(by)
Used simplifier rules: bytes ≠ [] ⊦ by = bytes.first ∧ bytes0 = bytes.rest ↔ bytes = by + bytes0; (elim) Used terms: bytes, by, bytes1