| ¬(i < 0 ∧ i ≠ ~1), # int2bits(i) = # int2bits(j), i0 + 2 ^ n→i(# int2bits(j)) ≤ 0, j ≤ 0, i ≤ 0, bits2int(bitsand(int2bits(i), int2bits(j))) < i0, ∀ i0, j, i1. i→n(i1) < i→n(i) → # int2bits(i1) = # int2bits(j) ∧ bits2int(bitsand(int2bits(i1), int2bits(j))) < i0 ∧ i1 ≤ 0 ∧ j ≤ 0 ∧ i0 + 2 ^ n→i(# int2bits(j)) ≤ 0 → false ⊦ |
# int2bits(i) = # int2bits(j), i0 + 2 ^ n→i(# int2bits(j)) ≤ 0, j ≤ 0, i ≤ 0, bits2int(bitsand(int2bits(i), int2bits(j))) < i0, ∀ i0, j, i1. i→n(i1) < i→n(i) → # int2bits(i1) = # int2bits(j) ∧ bits2int(bitsand(int2bits(i1), int2bits(j))) < i0 ∧ i1 ≤ 0 ∧ j ≤ 0 ∧ i0 + 2 ^ n→i(# int2bits(j)) ≤ 0 → false ⊦ i ≠ 0 ∧ i ≠ ~1
Used simplifier rules: ⊦ i ≤ j → (j ≤ i ↔ i = j);% ⊦ ¬ i < j ↔ j ≤ i;