| int2bits(j) = bits2 + bits1, # bits1 = 8, int2bits(i) = bits0 + bits, # bits = 8 ⊦ bits2 = [], bits0 = [], lastn(8, fillsgn(8, bitsand(bits0 + bits, bits2 + bits1))) = lastn(8, fillsgn(8, bitsand(bits2 + bits1, bits))), bits2 + bits1 = [], bits = [] |
⊦ # bits = # bits1 ∧ bits0 ≠ [] ∧ bits2 ≠ [] ∧ bits ≠ [] → bitsand(bits0 + bits, bits2 + bits1) = bitsand(bits0, bits2) + bitsand(bits, bits1)
# bits = # bits1 ∧ bits0 ≠ [] ∧ bits2 ≠ [] ∧ bits ≠ [], int2bits(j) = bits2 + bits1, # bits1 = 8, int2bits(i) = bits0 + bits, # bits = 8 ⊦ bits2 = [], bits0 = [], lastn(8, fillsgn(8, bitsand(bits0, bits2) + bitsand(bits, bits1))) = lastn(8, fillsgn(8, bitsand(bits2 + bits1, bits))), bits2 + bits1 = [], bits = []
Used terms: bits1, bits2, bits, bits0