| ¬(¬ int2bits(j).first ∧ # int2bits(j) ≤ # int2bits(i) ∧ int2bits(j) ≠ []), # int2bits(j) < n, # int2bits(j) < # int2bits(i), # int2bits(i) < # bitsand(int2bits(i), int2bits(j)), # int2bits(j) < # bitsand(int2bits(i), int2bits(j)), # int2bits(i) < n, n ≤ # sgn(bitsand(int2bits(i), int2bits(j))), # int2bits(i) < # sgn(bitsand(int2bits(i), int2bits(j))), # int2bits(j) < # sgn(bitsand(int2bits(i), int2bits(j))), n ≤ # bitsand(int2bits(i), int2bits(j)), # int2bits(j) + 1 < n, # int2bits(j) + 1 < # sgn(bitsand(int2bits(i), int2bits(j))), # int2bits(j) + 1 < # bitsand(int2bits(i), int2bits(j)) ⊦ |
# int2bits(j) < n, # int2bits(j) < # int2bits(i), # int2bits(i) < # bitsand(int2bits(i), int2bits(j)), # int2bits(j) < # bitsand(int2bits(i), int2bits(j)), # int2bits(i) < n, n ≤ # sgn(bitsand(int2bits(i), int2bits(j))), # int2bits(i) < # sgn(bitsand(int2bits(i), int2bits(j))), # int2bits(j) < # sgn(bitsand(int2bits(i), int2bits(j))), n ≤ # bitsand(int2bits(i), int2bits(j)), # int2bits(j) + 1 < n, # int2bits(j) + 1 < # sgn(bitsand(int2bits(i), int2bits(j))), # int2bits(j) + 1 < # bitsand(int2bits(i), int2bits(j)), j < 0 ⊦
Used simplifier rules: ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)% ⊦ int2bits(j) ≠ [];% ⊦ m < n → ¬ n < m;% ⊦ ¬ m ≤ n ↔ n < m;% ⊦ int2bits(j).first ↔ j < 0;