| ⊦ bitsand(sgn(bitsinvert(int2bits(i))), int2bits(j)) = [], bits2int(bitsxor(int2bits(i), int2bits(j))) = bits2int(bitsor(sgn(bitsand(sgn(bitsinvert(int2bits(j))), int2bits(i))), sgn(bitsand(bitsinvert(int2bits(i)), int2bits(j))))) |
⊦ bits ≠ [] ∧ bits0 ≠ [] → sgn(bitsand(sgn(bits), bits0)) = sgn(bitsand(bits, bits0))
bitsinvert(int2bits(j)) ≠ [] ∧ int2bits(i) ≠ [] ⊦ bitsand(sgn(bitsinvert(int2bits(i))), int2bits(j)) = [], bits2int(bitsxor(int2bits(i), int2bits(j))) = bits2int(bitsor(sgn(bitsand(bitsinvert(int2bits(j)), int2bits(i))), sgn(bitsand(bitsinvert(int2bits(i)), int2bits(j)))))
Used simplifier rules: ⊦ bitsinvert(bits) = [] ↔ bits = [];% ⊦ int2bits(j) ≠ []; Used terms: int2bits(i), bitsinvert(int2bits(j))