| bytes = by + bytes2, bytes2int(bytes0) = bytes2int(bytes), # bytes0 = 1, bytes = by ', ∀ bytes0, bytes1. # bytes1 < 1 → # bytes0 = # bytes1 ∧ bytes2int(bytes0) = bytes2int(bytes1) → bytes0 = bytes1 ⊦ bytes0 = bytes, bytes = [] |
# bytes0 = 1, bytes2int(bytes0) = b2i(by), ∀ bytes0, bytes1. # bytes1 < 1 → # bytes0 = # bytes1 ∧ bytes2int(bytes0) = bytes2int(bytes1) → bytes0 = bytes1 ⊦ bytes0 = by '
Used simplifier rules: bytes2int-one: ⊦ bytes2int(by ') = b2i(by);% ⊦ bytes + [] = bytes;% ⊦ by ' + bytes ≠ [];% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ by ' = by0 ' + bytes ↔ by = by0 ∧ bytes = [];% ⊦ by + bytes = by ' + bytes;