| abs(j) < 2, j ≤ 0, i0 ≤ 0, i0 * 2 + j < 0 ⊦ i0 * 2 + j = ~1, int2bits(j) = (~1 = j)' |
⊦ j < 0 → abs(j) = 0 - j
Used simplifier rules: int2bits-zero: ⊦ int2bits(0) = false ';%int2bits-true: ⊦ int2bits(j) = true ' ↔ j = ~1;% ⊦ boolvar ' = boolvar0 ' ↔ boolvar ↔ boolvar0;% ⊦ i ≤ j → (j ≤ i ↔ i = j);% ⊦ ¬ i < j ↔ j ≤ i;%j0 ≠ 0, j < j0 ⊦ i ≤ (* j) → i < (* j0);% ⊦ ¬ j < 0 → abs(j) = j;% ⊦ 0 - i = ~ i;% ⊦ ~ i < j ↔ 0 < j + i;% ⊦ (* j) < i0 + (* j0) ↔ j - j0 < i0;% ⊦ i < 0 → (~2 < i ↔ i = ~1);% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i; Used terms: j