| i = 1, i→n(i) ≤ # int2bits(j), 2 ^ (i - 1) + j < 0, j < 2 ^ (i - 1), 0 < i, j < 0, 0 ≤ 2 ^ (i - 1) + j % 2 ^ i, j < j % 2 ^ i ⊦ j = ~1, bits2int(lastn(i→n(i), int2bits(j))) = j % 2 ^ i |
j < j % 2, ~1 ≤ j % 2, j < 0, j < ~1, 1 ≤ # int2bits(j) ⊦ bits2int(int2bits(j).last ') = j % 2, j = ~1
Used simplifier rules: ⊦ int2bits(j) ≠ [];% ⊦ # bits = 0 ↔ bits = [];%0 < n ⊦ (* n) ≤ m → m ≠ 0; (forward)% ⊦ i < j ∧ j ≤ j0 → i < j0; (forward)% ⊦ (* j) ≤ i0 + (* j0) ↔ j - j0 ≤ i0;% ⊦ i < 0 ∧ 0 ≤ j → i ≤ j;% ⊦ i < 1 ↔ i ≤ 0;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + (* j) < (* j0) ↔ i < j0 - j;% ⊦ lastn(1, bits) = bits.last ';