| ~(2 ^ n→i(# bytes * 8 - 1)) ≤ bytes2int(bytes) ∧ bytes2int(bytes) < 2 ^ n→i(# bytes * 8 - 1), bytes2int(bytes) ≤ ~65537, bytes2int(bytes) < 0, # bytes ≤ 2 ⊦ (bytes2int(bytes) + 1) % 65536 = 1 + bytes2int(bytes), bytes = [] |
0 ≤ 2 ^ n→i(# bytes * 8 - 1) + bytes2int(bytes), # bytes ≤ 2, bytes2int(bytes) < 0, bytes2int(bytes) ≤ ~65537, bytes2int(bytes) < 2 ^ n→i(# bytes * 8 - 1) ⊦ bytes = [], (bytes2int(bytes) + 1) % 65536 = 1 + bytes2int(bytes)
Used simplifier rules: ⊦ i < 0 ∧ 0 ≤ j → i < j;% ⊦ i < j ∧ j ≤ j0 → i < j0; (forward)% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ ~ i ≤ j ↔ 0 ≤ i + j;