| j ≤ i + 2, j < i, 0 < 2 ^ i, 2 ^ i + j ≤ i, 0 < 2 ^ (i + 2) + j, 0 ≤ 2 ^ (i + 2) + j, j + 1 < 2 ^ (i + 2), 0 ≤ i, j ≤ i, j + 1 < 2 ^ i, j < 2 ^ i, j < 0, j ≤ 0, j < i + 2, 2 ^ i + j < i + 2, 2 ^ i + j ≤ i + 2, 0 < 2 ^ i * 2 + j, 2 ^ i + j ≤ 0, 2 ^ i + j ≤ 2 ^ (i + 2), 2 ^ i + j < 2 ^ (i + 2), j < 2 ^ (i + 2), 0 < 2 ^ (i + 2), 1 < 2 ^ (i + 2), j ≤ 2 ^ (i + 2), 0 ≤ 2 ^ (i + 2) ⊦ 2 ^ (i + 2) = 2 ^ (n→i(# uint2bits(2 ^ (i + 2) + j)) - 1) |
⊦ 0 ≤ j ∧ 0 ≤ j0 → i ^ (j + j0) = i ^ j * i ^ j0
0 ≤ i ∧ 0 ≤ 2, j ≤ i + 2, j < i, 0 < 2 ^ i, 2 ^ i + j ≤ i, 0 < 2 ^ i * 2 ^ 2 + j, 0 ≤ 2 ^ i * 2 ^ 2 + j, j + 1 < 2 ^ i * 2 ^ 2, 0 ≤ i, j ≤ i, j + 1 < 2 ^ i, j < 2 ^ i, j < 0, j ≤ 0, j < i + 2, 2 ^ i + j < i + 2, 2 ^ i + j ≤ i + 2, 0 < 2 ^ i * 2 + j, 2 ^ i + j ≤ 0, 2 ^ i + j ≤ 2 ^ i * 2 ^ 2, 2 ^ i + j < 2 ^ i * 2 ^ 2, j < 2 ^ i * 2 ^ 2, 0 < 2 ^ i * 2 ^ 2, 1 < 2 ^ i * 2 ^ 2, j ≤ 2 ^ i * 2 ^ 2, 0 ≤ 2 ^ i * 2 ^ 2 ⊦ 2 ^ i * 2 ^ 2 = 2 ^ (n→i(# uint2bits(2 ^ i * 2 ^ 2 + j)) - 1)
Used simplifier rules: ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ i ≤ j → (¬ ¬ j < i ↔ false); Used terms: 2, i, 2