| 2 ^ (j + 1) < i ∧ 0 ≤ i ∧ 0 ≤ j, boolvar ↔ int2bits(i)[# int2bits(i) - i→n(j) +1] ⊦ (int2bits(bxor(i, 2 ^ j))[# int2bits(i) - i→n(j) +1] ↔ ¬ boolvar) ∧ int2bits(bxor(i, 2 ^ j))[# int2bits(i) - i→n(j) +1, boolvar] = int2bits(i) |
2 ^ j * 2 < i, 0 ≤ i, 0 ≤ j ⊦ (int2bits(bxor(i, 2 ^ j))[# int2bits(i) - i→n(j) + 1] ↔ ¬ int2bits(i)[# int2bits(i) - i→n(j) + 1]) ∧ int2bits(bxor(i, 2 ^ j))[# int2bits(i) - i→n(j) + 1, int2bits(i)[# int2bits(i) - i→n(j) + 1]] = int2bits(i)
Used simplifier rules: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ m + n = n + m;% ⊦ m +1 = m + 1;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ 0 ≤ i → j ^ (i + 1) = j ^ i * j;