| ¬ ( 0 ≤ b2i(int2bytes(bytes2int(by0 ' + bytes)).first) ∧ # int2bytes(bytes2int(by0 ' + bytes)) < 2 + # bytes ∧ int2bytes(bytes2int(by0 ' + bytes)) ≠ []), 0 ≤ b2i(by0), 0 ≤ b2i(by0), ∀ bytes0. # bytes0 < #(i2b(0) + by0 + bytes) → true → bytes0 = [] ∨ fix(# bytes0, int2bytes(bytes2int(bytes0))) = bytes0 ⊦ fix(2 + # bytes, int2bytes(bytes2int(by0 ' + bytes))) = i2b(0) ' + by0 ' + bytes |
0 ≤ b2i(by0), ∀ bytes0. # bytes0 < #(i2b(0) + by0 + bytes) → true → bytes0 = [] ∨ fix(# bytes0, int2bytes(bytes2int(bytes0))) = bytes0 ⊦ fix(2 + # bytes, int2bytes(bytes2int(by0 ' + bytes))) = i2b(0) ' + by0 ' + bytes, ¬ b2i(int2bytes(bytes2int(by0 ' + bytes)).first) < 0 ∧ ¬ 2 + # bytes ≤ # int2bytes(bytes2int(by0 ' + bytes))
Used simplifier rules: int2bytes-empty: ⊦ int2bytes(i) ≠ [];% ⊦ ¬ m < n ↔ n ≤ m;% ⊦ ¬ i ≤ j ↔ j < i;