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