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