| # int2bits(j) ≤ # bits ∧ int2bits(j) ≠ [] ∧ int2bits(j).first, # bits = 8, int2bits(i) = bits0 + bits, # int2bits(j) = 8 ⊦ lastn(8, fillsgn(8, bits0 + bitsand(bits, int2bits(j)))) = lastn(8, fillsgn(8, bitsand(bits, int2bits(j)))), bitsand(bits, int2bits(j)) = [], bits0 = [] |
# bits = 8, int2bits(i) = bits0 + bits, # int2bits(j) ≤ 8, ~128 ≤ j, j < ~64, j < 0 ⊦ lastn(8, fillsgn(8, bits0 + bitsand(bits, int2bits(j)))) = lastn(8, fillsgn(8, bitsand(bits, int2bits(j)))), bitsand(bits, int2bits(j)) = [], bits0 = []
Used simplifier rules: ⊦ i ≤ j ∧ j < j0 → i < j0; (forward)% ⊦ i < (* j) ∧ j < 0 → i < 0; (forward)%⊦ j < 0 ∧ 1 < n → ( # int2bits(j) = n ↔ ~(2 ^ (n→i(n) - 1)) ≤ j ∧ j < ~(2 ^ (n→i(n) - 2)));% ⊦ int2bits(j).first ↔ j < 0;% ⊦ int2bits(j) ≠ [];