| j < 0, (j - 1) / 2 < 0, j ≤ 0 ⊦ j = ~1, sgn(bitsinvert(uint2bits(~ j)) +1) = sgn(bitsinvert(uint2bits((1 - j) / 2)) +1) + (~1 = j % 2)' |
⊦ 0 < i ∧ i ≠ 1 → uint2bits(i) = uint2bits(i / 2) + (i % 2 = 1)
0 < ~ j ∧ ~ j ≠ 1, j < 0, (j - 1) / 2 < 0, j ≤ 0 ⊦ j = ~1, sgn(bitsinvert(uint2bits(~ j / 2) + (~ j % 2 = 1)) +1) = sgn(bitsinvert(uint2bits((1 - j) / 2)) +1) + (~1 = j % 2)'
Used simplifier rules: ⊦ 0 < ~ i ↔ i < 0;% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i ≤ j → (j ≤ i ↔ i = j);% ⊦ ~ i = j ↔ i + j = 0;% ⊦ (* j) = i0 + (* j0) ↔ j - j0 = i0;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ i < j ∧ j = i0 → i < i0; (forward)% ⊦ i < j ∧ i = i0 → i0 < j; (forward) Used terms: ~ j