| b2i(by) = 0, ~1 = b2i(by0), ∀ bytes0. # bytes0 < #((by0 + []) + by ') → true → # bytes0 = # int2bytes(bytes2int(bytes0)) → bytes0 = int2bytes(bytes2int(bytes0)) ⊦ by0 ' + by ' = i2b(~1) ' + i2b(0) ' |
⊦ i2b(i) ≠ i2b(j) → i ≠ j
Used simplifier rules: ⊦ i2b(b2i(by)) = by;% ⊦ bytes + by ' = bytes0 + by0 ' ↔ bytes = bytes0 ∧ by = by0;% ⊦ by ' = by0 ' ↔ by = by0;% ⊦ b2i(by) = i → (i2b(i) ≠ by ↔ false);% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1; Used terms: 0, b2i(by)