| bytes2int(bytes.butlast) * 256 + band(b2i(bytes.last), 255) = 0, by ∈ bytes, ∀ by, bytes0. # bytes0 < # bytes → bytes2int(bytes0) = 0 ∧ by ∈ bytes0 → by = i2b(0) ⊦ by = i2b(0), # bytes = 1, bytes = [] |
bytes = bytes1 + by0 ', bytes2int(bytes1) * 256 + band(b2i(by0), 255) = 0, by ∈ bytes, ∀ by, bytes0. # bytes0 < # bytes → bytes2int(bytes0) = 0 ∧ by ∈ bytes0 → by = i2b(0) ⊦ by = i2b(0), # bytes = 1, bytes = []
Used simplifier rules: bytes ≠ [] ⊦ by = bytes.last ∧ bytes0 = bytes.butlast ↔ bytes = bytes0 + by '; (elim) Used terms: bytes, by0, bytes1