| ~128 ≤ bits2int(bits), bits2int(bits) ≤ 127, # bits ≤ 8, ∀ bits0. # bits0 < # bits → true → bits0 = [] ∨ sgn(bytes2bits(bits2bytes(bits0))) = sgn(bits0) ⊦ bits = [], sgn(sgn(mklist(bits.first, 8 - # bits)) + bits) = sgn(bits) |
⊦ n ≠ 0 → sgn(mklist(boolvar, n)) = boolvar '
8 - # bits ≠ 0, ~128 ≤ bits2int(bits), bits2int(bits) ≤ 127, # bits ≤ 8, ∀ bits0. # bits0 < # bits → true → bits0 = [] ∨ sgn(bytes2bits(bits2bytes(bits0))) = sgn(bits0) ⊦ bits = [], sgn(bits.first ' + bits) = sgn(bits)
Used simplifier rules: ⊦ m ≤ n → (n - m = 0 ↔ n = m);% ⊦ sgn(sgn(bits) + bits0) = sgn(bits + bits0);% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;%0 < n ⊦ (* n) ≤ m → m ≠ 0; (forward)% ⊦ mklist(boolvar, 0) = [];% ⊦ [] + bits = bits; Used terms: 8 - # bits, bits.first