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