| j = i * 2 + j0 ∧ j0 ≤ 0 ∧ abs(j0) < 2 ∧ 0 < 2, (j - 1) / 2 < 0, j ≤ 0, j < 0 ⊦ 0 = j0, sgn((bitsinvert(uint2bits(~ i)) + (~1 ≠ j0)')+1) = sgn(bitsinvert(uint2bits((1 - j) / 2)) +1) + (~1 = j0)', ~1 = j |
i < 0 ⊦ sgn(bitsinvert(uint2bits(~ i)) + true ') = sgn(bitsinvert(uint2bits(1 - i)) +1) + true ', i = 0
Used simplifier rules: j ≠ 0 ⊦ (i * j) / j = i;% ⊦ 1 < j → (i * j ≤ 1 ↔ i ≤ 0);% ⊦ i - j ≤ i0 ↔ i ≤ j + i0;% ⊦ 0 < i ∧ 0 ≤ j → ((* i) * i0 < (* j) ↔ i0 < (i + j - 1) / i);% ⊦ i < 1 ↔ i ≤ 0;% ⊦ i - j < i0 ↔ i < j + i0;% ⊦ 0 < i → (i * j < 0 ↔ j < 0);% ⊦ i * j - i = i * (j - 1);% ⊦ i - j - i0 = i - j + i0;% ⊦ 2 * i = 0 ↔ i = 0;% ⊦ i - j = i0 ↔ i = i0 + j;% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;%j ≠ 0 ⊦ (j - i * j) / j = 1 - i;% ⊦ i - (j - j0) = i + j0 - j;% ⊦ i + ~1 = i - 1;% ⊦ i / 2 < 0 → i < 0; (forward)% ⊦ i < j ∧ i = i0 → i0 < j; (forward)% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + boolvar = bits + boolvar ';% ⊦ (bits + false ')+1 = bits + true;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i < 0 → (~2 < i ↔ i = ~1);% ⊦ (* j) < i0 + (* j0) ↔ j - j0 < i0;% ⊦ ~ i < j ↔ 0 < j + i;% ⊦ i < 0 → abs(i) = ~ i;% ⊦ i ≠ j → (i ≤ j ↔ i < j);