| ¬(# int2bits(j) ≤ # bits ∧ int2bits(j) ≠ [] ∧ int2bits(j).first), # bits = 8, int2bits(i) = bits0 + bits, # int2bits(j) = 8 ⊦ lastn(8, fillsgn(8, bitsand(bits0 + bits, int2bits(j)))) = lastn(8, fillsgn(8, bitsand(bits, int2bits(j)))), bitsand(bits, int2bits(j)) = [], bits0 = [] |
# 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 = []
Used simplifier rules: ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward)% ⊦ i ≤ j ∧ 0 < i → 0 < j; (forward)% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward)%⊦ 0 ≤ j ∧ 1 < n → (# int2bits(j) = n ↔ 2 ^ (n→i(n) - 2) ≤ j ∧ j < 2 ^ (n→i(n) - 1));% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ int2bits(j).first ↔ j < 0;% ⊦ int2bits(j) ≠ [];% ⊦ ¬ m ≤ n ↔ n < m;