| ⊦ i < 0 ∧ int2bytes(i).first ≠ i2b(~1) → (# int2bytes(i) = n ↔ ~(2 ^ (8 * n→i(n))) ≤ i ∧ i < ~(2 ^ (8 * (n→i(n) - 1))) ∧ n ≠ 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
Used simplifier rules: ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i < ~ j ↔ i + j < 0;% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ ~ i ≤ j ↔ 0 ≤ i + j;