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