| ¬(# mklist(false, i→n(j)) ≠ 0 ∧ # int2bits(i) ≠ 0 ∧ ¬ int2bits(i).first), j < 32, 0 ≤ j ⊦ bits2int(int2bits(i) + mklist(false, i→n(j))) = i * 2 ^ j |
j < 32, i < 0, 0 < j ⊦ bits2int(int2bits(i) + mklist(false, i→n(j))) = i * 2 ^ j, j = 0
Used simplifier rules: ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)% ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward)% ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward)% ⊦ i ≠ j → (i ≤ j ↔ i < j);% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ 1 * i = i;% ⊦ bits2int(int2bits(i)) = i;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + [] = bits;% ⊦ mklist(boolvar, 0) = [];% ⊦ int2bits(j).first ↔ j < 0;% ⊦ int2bits(j) ≠ [];% ⊦ # bits = 0 ↔ bits = [];% ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ # mklist(boolvar, n) = n;