| i < 0 ∧ int2bytes(i).first ≠ i2b(~1) → (# int2bytes(i) ≤ n ↔ ~(2 ^ (8 * n→i(n))) ≤ i), ¬ # int2bytes(i) < n ↔ i + 2 ^ (8 * (n→i(n) - 1)) < 0, i < 0 ⊦ int2bytes(i).first = i2b(~1), # int2bytes(i) = n ↔ ¬ 2 ^ (8 * n→i(n)) + i < 0 ∧ ¬ 0 ≤ i + 2 ^ (8 * (n→i(n) - 1)) ∧ n ≠ 0 |
¬ # int2bytes(i) < n ↔ i + 2 ^ (8 * (n→i(n) - 1)) < 0, ¬ n < # int2bytes(i) ↔ 0 ≤ 2 ^ (8 * n→i(n)) + i, i < 0 ⊦ int2bytes(i).first = i2b(~1), # int2bytes(i) = n ↔ ¬ 2 ^ (8 * n→i(n)) + i < 0 ∧ ¬ 0 ≤ i + 2 ^ (8 * (n→i(n) - 1)) ∧ n ≠ 0
Used simplifier rules: ⊦ ~ i ≤ j ↔ 0 ≤ i + j;% ⊦ ¬ m ≤ n ↔ n < m;% ⊦ i < j → (¬ ¬ j ≤ i ↔ false);% ⊦ ¬ i < j ↔ j ≤ i;