| j < 0, j ≤ 0 ⊦ bits2int(bitsinvert(bitsand(bitsinvert(sgn(bitsinvert(uint2bits(~ j)) +1)), true '))) = j |
⊦ bits ≠ [] ∧ bits0 = true ' → bitsand(bits, bits0) = bits
bitsinvert(sgn(bitsinvert(uint2bits(~ j)) +1)) ≠ [] ∧ true ' = true ', j < 0, j ≤ 0 ⊦ bits2int(bitsinvert(bitsinvert(sgn(bitsinvert(uint2bits(~ j)) +1)))) = j
Used simplifier rules: ⊦ bitsinvert(bits) = [] ↔ bits = [];% ⊦ sgn(bits) = [] ↔ bits = [];% ⊦ ¬ bits +1 ≠ [] ↔ false; Used terms: true ', bitsinvert(sgn(bitsinvert(uint2bits(~ j)) +1))