| 8 = # fillsgn(8, int2bits(j).rest), j < ~1, i0 < 0, 256 * i0 + j < 0, j < 0, 256 * i0 + j < ~128, ~256 ≤ j, j < ~128, ~129 < j ⊦ int2bits(j).rest = [], b2i(i2b(256 + j)) = 256 + j |
⊦ i < j ↔ i +1 = j ∨ i +1 < j
Used simplifier rules: num-i2b-pos: 127 < i ⊦ i2b((* i)) = i2b(bits2int(lastn(8, int2bits(i))));%num-ibbi: ~128 ≤ i, i ≤ 127 ⊦ b2i(i2b((* i))) = i;% ⊦ i * j = j * i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ i < j → ¬ j < i;%i < 0 ⊦ int2bits((* i)) = sgn(bitsinvert(uint2bits(abs(i))) +1);%1 < i ⊦ uint2bits((* i)) = uint2bits(i / 2) + (i % 2 = 1);% ⊦ uint2bits(1) = false + true;% ⊦ boolvar + boolvar0 = boolvar ' + boolvar0 ';% ⊦ bits + boolvar = bits + boolvar ';% ⊦ bitsinvert(false ' + bits) = true + bitsinvert(bits);% ⊦ bitsinvert(true ' + bits) = false + bitsinvert(bits);% ⊦ bitsinvert(false ') = true ';% ⊦ boolvar + bits = boolvar ' + bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ (bits + true ')+1 = bits +1 + false;% ⊦ (bits + false ')+1 = bits + true;% ⊦ sgn(boolvar ' + boolvar ' + bits) = sgn(boolvar ' + bits);% ⊦ sgn(true ' + false ' + bits) = true ' + false ' + bits;% ⊦ (boolvar ' + bits).rest = bits;%0 ≤ i ⊦ int2bits((* i)) = uint2bits(i);%0 < n ⊦ lastn((* n), bits + boolvar ') = lastn(n -1, bits) + boolvar ';% ⊦ lastn(0, bits) = [];% ⊦ [] + bits = bits;% ⊦ bits2int(true ' + bits) = ~ bits2uint(bitsinvert(true + bits) +1);% ⊦ false ' +1 = true ';% ⊦ bits2uint(bits + false ') = bits2uint(bits) * 2;% ⊦ bits2uint(true ') = 1;% ⊦ boolvar ' + bits ≠ []; Used terms: j, ~129