| j < 2 ^ i, j0 < 2 ^ i, 0 ≤ i, 0 ≤ j0, j < 0, 0 < 2 ^ i, j < i, j < j0, j + 1 < 2 ^ i ⊦ bits2int(bitsor(int2bits(j * 2 ^ i), int2bits(j0))) = j * 2 ^ i + j0 |
⊦ bits ≠ [] ∧ bits0 ≠ [] → bitsor(bits, bits0) = bitsinvert(bitsand(bitsinvert(bits), bitsinvert(bits0)))
int2bits(j * 2 ^ i) ≠ [] ∧ int2bits(j0) ≠ [], j < 2 ^ i, j0 < 2 ^ i, 0 ≤ i, 0 ≤ j0, j < 0, 0 < 2 ^ i, j < i, j < j0, j + 1 < 2 ^ i ⊦ bits2int(bitsinvert(bitsand(bitsinvert(int2bits(j * 2 ^ i)), bitsinvert(int2bits(j0))))) = j * 2 ^ i + j0
Used simplifier rules: ⊦ int2bits(j) ≠ []; Used terms: int2bits(j0), int2bits(j * 2 ^ i)