| j % 2 = ~1, j < j % 2, ~1 ≤ j % 2, j < 0, j < ~1, 1 ≤ # int2bits((j - 1) / 2) + # int2bits(j % 2) ⊦ bits2int(int2bits(j % 2).last ') = j % 2, j = ~1, # int2bits((j - 1) / 2) + # int2bits(j % 2) = 0 |
j % 2 = ~1, j < ~1, 1 ≤ # int2bits((j - 1) / 2) + # int2bits(~1), j < 0 ⊦ # int2bits((j - 1) / 2) + # int2bits(~1) = 0, j = ~1, bits2int(int2bits(~1).last ') = ~1
Used simplifier rules: ⊦ m + n = n + m;% ⊦ j ≤ i ∧ i ≤ 0 → j ≤ 0; (forward)% ⊦ i < j ∧ j ≤ j0 → i < j0; (forward)%0 < n ⊦ (* n) ≤ m → m ≠ 0; (forward)