| b2i(byi) < 0 ⊦ s2i(i2s(bor(bits2int(int2bits(b2i(byi)) + mklist(false, 8)), band(b2i(byj), 255)))) = bor(bits2int(int2bits(b2i(byi)) + mklist(false, 8)), band(b2i(byj), 255)), ¬ bor(bits2int(int2bits(b2i(byi)) + mklist(false, 8)), band(b2i(byj), 255)) < ~32768 ∧ ¬ 32767 < bor(bits2int(int2bits(b2i(byi)) + mklist(false, 8)), band(b2i(byj), 255)) |
⊦ # bits0 ≠ 0 ∧ # bits ≠ 0 ∧ bits.first → bits2int(bits + bits0) = ~(2 ^ n→i(# bits0) * bits2uint(bitsinvert(bits))) - bits2uint(bitsinvert(bits0)) + 1
# mklist(false, 8) ≠ 0 ∧ # int2bits(b2i(byi)) ≠ 0 ∧ int2bits(b2i(byi)).first, b2i(byi) < 0 ⊦ s2i (i2s (bor (~(2 ^ n→i(# mklist(false, 8)) * bits2uint(bitsinvert(int2bits(b2i(byi))))) - bits2uint(bitsinvert(mklist(false, 8))) + 1, band(b2i(byj), 255)))) = bor(~(2 ^ n→i(# mklist(false, 8)) * bits2uint(bitsinvert(int2bits(b2i(byi))))) - bits2uint(bitsinvert(mklist(false, 8))) + 1, band(b2i(byj), 255)), ¬ bor (~(2 ^ n→i(# mklist(false, 8)) * bits2uint(bitsinvert(int2bits(b2i(byi))))) - bits2uint(bitsinvert(mklist(false, 8))) + 1, band(b2i(byj), 255)) < ~32768 ∧ ¬ 32767 < bor (~(2 ^ n→i(# mklist(false, 8)) * bits2uint(bitsinvert(int2bits(b2i(byi))))) - bits2uint(bitsinvert(mklist(false, 8))) + 1, band(b2i(byj), 255))
Used simplifier rules: ⊦ ¬ i < j ↔ j ≤ i;% ⊦ # mklist(boolvar, n) = n;% ⊦ # bits = 0 ↔ bits = [];% ⊦ int2bits(j) ≠ [];% ⊦ j < 0 → int2bits(j).first; Used terms: mklist(false, 8), int2bits(b2i(byi))