| ¬(# int2bits(j) ≤ # bits ∧ int2bits(j) ≠ [] ∧ ¬ int2bits(j).first), # bits = 8, int2bits(i) = bits0 + bits, 0 ≤ j, 0 < j, j < 128, 64 ≤ j ⊦ lastn(8, fillsgn(8, bitsand(bits0 + bits, int2bits(j)))) = lastn(8, fillsgn(8, bitsand(bits, int2bits(j)))), bitsand(bits, int2bits(j)) = [], bits0 = [] |
int2bits(i) = bits0 + bits, # bits = 8, 8 < # int2bits(j), 64 ≤ j, j < 128, 0 < j, 0 ≤ j ⊦ bits0 = [], bitsand(bits, int2bits(j)) = [], lastn(8, fillsgn(8, bitsand(bits0 + bits, int2bits(j)))) = lastn(8, fillsgn(8, bitsand(bits, int2bits(j))))
Used simplifier rules: ⊦ # bits = 0 ↔ bits = [];% ⊦ m < n → n ≠ 0; (forward)% ⊦ m < n ∧ m = n0 → n0 < n; (forward)% ⊦ i < j → ¬ j < i;% ⊦ int2bits(j).first ↔ j < 0;% ⊦ int2bits(j) ≠ [];% ⊦ ¬ m ≤ n ↔ n < m;