| 16 < # int2bits(j), i0 * 65536 + j < 0, i0 ≤ 0, j ≤ 0, i0 * 65536 + j < ~32768, abs(j) < 65536, ~1 ≤ j ⊦ s2i(i2s(bits2int(lastn(16, int2bits(i0 * 65536 + j))))) = j |
⊦ i + 1 ≠ 0 → (~1 ≤ i ↔ 0 ≤ i)
Used simplifier rules: ⊦ int2bits(0) = false ';% ⊦ i < 0 ∧ 0 ≤ j → i < j;% ⊦ 0 < i → (i * j < 0 ↔ j < 0);% ⊦ i + 0 = i;% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ 0 ≤ i → abs(i) = i;% ⊦ i ≤ j → (j ≤ i ↔ i = j);% ⊦ (* j) = i0 + (* j0) ↔ j - j0 = i0;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;%i < 0 ⊦ (* i) + j = j - ~ i;% ⊦ i - j < i0 ↔ i < j + i0;% ⊦ 0 < i ∧ j < 0 → ((* i) * i0 < (* j) ↔ i0 < j / i);% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i * j = j * i;% ⊦ i < 0 ∧ 0 ≤ j → i ≤ j;% ⊦ 0 < i ∧ 0 ≤ j → ((* i) * i0 < (* j) ↔ i0 < (i + j - 1) / i);% ⊦ i < 1 ↔ i ≤ 0;%i < 0 ⊦ int2bits((* i)) = sgn(bitsinvert(uint2bits(abs(i))) +1);% ⊦ uint2bits(1) = false + true;% ⊦ boolvar + boolvar0 = boolvar ' + boolvar0 ';% ⊦ bitsinvert(false ' + bits) = true + bitsinvert(bits);% ⊦ bitsinvert(true ') = false ';% ⊦ boolvar + bits = boolvar ' + bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ (bits + false ')+1 = bits + true;% ⊦ bits + boolvar = bits + boolvar ';% ⊦ sgn(true ' + true ') = true ';% ⊦ # boolvar ' = 0 +1; Used terms: j