| ¬(j < 0 ∧ ¬(∃ i. ~(2 ^ i) = j)), j < 0 ⊦ int2bits(j) = int2bits(2 ^ n→i(# int2bits(~ j)) + j).rest, ∃ i. 2 ^ i + j = 0 |
2 ^ i + j = 0, j < 0 ⊦ int2bits(j) = int2bits(2 ^ n→i(# int2bits(~ j)) + j).rest, ∃ i. 2 ^ i + j = 0
Used simplifier rules: ⊦ ~ i = j ↔ i + j = 0;% ⊦ i < j → (¬ ¬ j ≤ i ↔ false);% ⊦ ¬ i < j ↔ j ≤ i;