| bitsand(int2bits(i), int2bits(j)) ≠ [], lastn(8, fillsgn(8, int2bits(i))) ≠ [] ∧ int2bits(j) ≠ [], bitsand(sgn(lastn(8, fillsgn(8, int2bits(i)))), int2bits(j)) ≠ [], lastn(8, fillsgn(8, int2bits(i))) ≠ [] ⊦ bits2int(bitsand(int2bits(i), int2bits(j))) = bits2int(bitsand(sgn(lastn(8, fillsgn(8, int2bits(i)))), int2bits(j))), bits2int(lastn(8, fillsgn(8, sgn(bitsand(int2bits(i), int2bits(j)))))) = bits2int(lastn(8, fillsgn(8, sgn(bitsand(lastn(8, fillsgn(8, int2bits(i))), int2bits(j)))))) |
⊦ bits ≠ [] ∧ bits0 ≠ [] → (bits2int(bits) = bits2int(bits0) ↔ sgn(bits) = sgn(bits0))
lastn(8, fillsgn(8, sgn(bitsand(int2bits(i), int2bits(j))))) ≠ [] ∧ lastn(8, fillsgn(8, sgn(bitsand(lastn(8, fillsgn(8, int2bits(i))), int2bits(j))))) ≠ [], bitsand(int2bits(i), int2bits(j)) ≠ [], lastn(8, fillsgn(8, int2bits(i))) ≠ [] ∧ int2bits(j) ≠ [], bitsand(sgn(lastn(8, fillsgn(8, int2bits(i)))), int2bits(j)) ≠ [], lastn(8, fillsgn(8, int2bits(i))) ≠ [] ⊦ bits2int(bitsand(int2bits(i), int2bits(j))) = bits2int(bitsand(sgn(lastn(8, fillsgn(8, int2bits(i)))), int2bits(j))), sgn(lastn(8, fillsgn(8, sgn(bitsand(int2bits(i), int2bits(j)))))) = sgn(lastn(8, fillsgn(8, sgn(bitsand(lastn(8, fillsgn(8, int2bits(i))), int2bits(j))))))
Used simplifier rules: ⊦ bits ≠ [] ∧ bits0 ≠ [] → (bits2int(bits) = bits2int(bits0) ↔ sgn(bits) = sgn(bits0));%⊦ bits ≠ [] ∧ bits0 ≠ [] → sgn(bitsand(sgn(bits), bits0)) = sgn(bitsand(bits, bits0));% ⊦ int2bits(j) ≠ [];% ⊦ lastn(n, bits) = [] ↔ n = 0;% ⊦ bitsand(int2bits(i), int2bits(i0)) ≠ []; Used terms: lastn (8, fillsgn (8, sgn(bitsand(lastn(8, fillsgn(8, int2bits(i))), int2bits(j))))), lastn(8, fillsgn(8, sgn(bitsand(int2bits(i), int2bits(j)))))