| 0 ≤ ~ j ∧ ¬ false ∈ int2bits(i).rest ∧ 0 ≤ i, j ≤ 0, 0 ≤ i, j ≤ i + 1 ⊦ ~ j % (i + 1) = (i + 1 - j) % (i + 1), false ∈ int2bits(i).rest |
j ≤ 0, 0 ≤ i, j ≤ i + 1 ⊦ j % (i + 1) + (i + 1 - j) % (i + 1) = 0, false ∈ int2bits(i).rest
Used simplifier rules: ⊦ ~ i = j ↔ i + j = 0;%j ≠ 0 ⊦ ~ i % j = ~(i % j);% ⊦ (* j) = i0 + (* j0) ↔ j - j0 = i0;% ⊦ i ≤ ~ j ↔ i + j ≤ 0;% ⊦ i + 0 = i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j;