| j < j % 2, ~1 ≤ j % 2, j < 0, j < ~1, 1 ≤ # int2bits((j - 1) / 2) + # int2bits(j % 2) ⊦ bits2int(int2bits(j % 2).last ') = j % 2, j = ~1, # int2bits((j - 1) / 2) + # int2bits(j % 2) = 0 |
j % 2 = ~1, j < j % 2, ~1 ≤ j % 2, j < 0, j < ~1, 1 ≤ # int2bits((j - 1) / 2) + # int2bits(j % 2) ⊦ bits2int(int2bits(j % 2).last ') = j % 2, j = ~1, # int2bits((j - 1) / 2) + # int2bits(j % 2) = 0
Used simplifier rules: ⊦ j < 0 → (j % 2 ≠ ~1 ↔ j % 2 = 0);% ⊦ i < 0 ∧ i % 2 = 0 → (i - 1) / 2 = i / 2;% ⊦ m + n = n + m;%0 < n ⊦ (* n) ≤ m → m ≠ 0; (forward)% ⊦ j ≤ i ∧ i ≤ 0 → j ≤ 0; (forward)% ⊦ int2bits(0) = false ';% ⊦ # boolvar ' = 0 +1;% ⊦ m + 1 ≠ 0;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ boolvar '.last ↔ boolvar;% ⊦ bits2int(false ') = 0; Used formulas: j % 2 = ~1